win7 64bit 訪問access
原文地址:http://www.cnblogs.com/bluedoctor/p/3925871.html
64位系統使用Access 資料庫檔案的徹底解決方法
最近,有PDF.NET使用者問我怎麼在64位系統下無法訪問Access資料庫的問題,我第一反應是我怎麼沒有遇到呢?今天一看自己的VS和Office都是32位版本的,所以在VS裡面除錯訪問Access是沒有問題的,但是直接使用編譯好的.NET程式訪問Access,就出問題了,報:
未在本地計算機上註冊“Microsoft.Jet.Oledb.4.0”提供程式。
於是,又在公司的電腦上(Win7 64位)做了實驗,發現跟家裡面的Win8.1 64位 問題一樣,上網搜尋了一下,大部分都建議將.NET程式編譯的時候,目標平臺設定為 x86 ,我試了下,果然成功。
但是,如果你的.NET程式是別人編譯好的,且在64位系統上執行,要訪問Access資料庫,怎麼辦呢?
首先想到,看能否通過應用程式配置檔案,將.NET程式配置成執行在 32位 系統下,找了很久資料,無果,放棄。
再想想,是不是跟自己的Office是32位有關呢?
關鍵問題不在於是Access 2010還是Access 2013而已,不必鑽牛角尖,何不求其次,安裝一個Access 2007/2010的Database Engine不就行了。
解決辦法:
① 下載安裝Microsoft Access Database Engine 2010 Redistributable(28MB),共有32bit(下載)和64bit(下載)兩個版本,具體要安裝哪個要看你的Office程式是32bit的還是64bit的,比如:我的PC是64bit的Win8 Pro,但是我Office的程式是32bit的,所以我應當安裝AccessDatabaseEngine.exe(32bit);
② 開啟你的.NET應用程式配置檔案(應用程式名.config,Web應用程式為 Web.config),設定資料庫連線字串的Provide Microsoft.ACE.OLEDB.12.0,例如標準連線字串為:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb;Persist Security Info=False;"
再次執行程式,OK,資料庫連線成功,一切正常。
注意:64位系統下一定要修改提供程式為 Microsoft.ACE.OLEDB.12.0,而此時的檔名,可以是 早期的 mdb檔案,也可以是新的 accdb 檔案。
如果你雖然是64位系統,但是你的Office 是32位的,所以你只能安裝32位的ACE驅動,因此你的.NET應用程式也只能釋出成32位的,如果編譯成anycpu版本,還是無法訪問ACE。
(PS:如果你釋出成x86格式的目標平臺,並且不想使用accdb格式的Access資料庫檔案,那麼就不必安裝上面的32位ACE驅動了,省得折騰:-《)
相關文章
- dbentry訪問帶密碼的Access密碼
- 解決不能訪問 VMware Server Web Access 的問題ServerWeb
- Swift 新特性 – 訪問控制(Access Control)Swift
- 504.3 Password and Access Attacks 密碼和訪問攻擊密碼
- win10訪問win7印表機拒絕訪問怎麼辦 win10訪問win7上的印表機拒絕訪問處理方法Win10Win7
- win10訪問win7不了怎麼辦_win10訪問不到win7如何解決Win10Win7
- WinXP無法訪問Win7檔案Win7
- Apache訪問日誌access.log按天歸檔Apache
- c#訪問oracle幾種方法(轉載)_data accessC#Oracle
- Nginx訪問控制_IP訪問控制(http_access_module)原理、侷限性、解決方法講解NginxHTTP
- 請教高手門:如何遠端訪問Access資料庫?資料庫
- Oracle,SqlServer,Access資料庫通用訪問類設計(轉)OracleSQLServer資料庫
- Detour3.0 win7 64bit下的安裝Win7
- PHP設計模式-DAO (Data Access Objects) 資料訪問物件模式PHP設計模式Object物件
- win7旗艦版網路上的芳鄰訪問問題Win7
- win7訪問xp您沒有許可權訪問 共享。請與網路管理員聯絡請求訪問許可權Win7訪問許可權
- Nginx R31 doc-13-Limiting Access to Proxied HTTP Resources 訪問限流NginxMITHTTP
- Win7 64bit安裝Oracle 10g Server的報錯Win7Oracle 10gServer
- java11新特性—Nest-Based Access Control(巢狀訪問控制)Java巢狀
- java11新特性---Nest-Based Access Control(巢狀訪問控制)Java巢狀
- 在EM中使用SQL Access Advisor(SQL訪問建議)優化SQLSQL優化
- 使用ADO,多執行緒訪問ACCESS資料庫的開發。 (轉)執行緒資料庫
- win7怎麼弄成不儲存檔案訪問歷史?Win7
- 32bit和64bit的問題
- 國內外雲平臺訪問控制(Access Control)機制對比分析
- win7(64bit)python相關環境模組搭建-已驗證可行Win7Python
- 鬱悶~win7無法進行區域網訪問解決Win7
- MySQL使用普通使用者訪問返回ERROR 1698 (28000): Access denied for user 'root'@'localhost'MySqlErrorlocalhost
- 細粒度訪問控制(Fine-Grained access control)的一個簡單例子AI單例
- 關於IPC和PTH使用者許可權問題,psexec拒絕訪問(Access Denied)的原因
- win7 無法訪問 VirtualBox 下的 docker 的 MySQL 和 reids?Win7DockerMySql
- win7 64 VC++ ado方式連線access 連線字串Win7C++字串
- Win7 64bit版本下安裝Oracle 11g OS許可權處理Win7Oracle
- 訪問統計(排除爬蟲訪問)爬蟲
- win10無法訪問win7共享資料夾的解決辦法Win10Win7
- win7系統如何透過策略組設定硬碟為不可訪問的方法Win7硬碟
- Gitlab怎麼使用訪問令牌訪問Gitlab
- Cannot access a disposed object.問題根源所在.....Object