国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

64位系統使用Access數據庫文件的徹底解決方法

2019-11-14 16:29:12
字體:
來源:轉載
供稿:網友

    最近,有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驅動了,省得折騰:-《)

 注意:

      如果你安裝了 64位的Access程序,但是在VS2013中調試Web網站應用程序的時候,提示“Microsoft.ACE.OLEDB.12.0” 未注冊,請在VS的選項中,項目和解決方案,Web項目,勾選64位的 IIS Express 。

此問題受影響的 PDF.NET 開發框架相關程序:

1,SimpleAccessWinForm 程序,下載地址 ,Example     PDF.Net_V4.6 WinForm 數據表單實例    

example,            526K, uploaded             Mar 27, 2013             -            809 downloads

運行該程序后,請修改 SimpleAccessWinForm.config 文件的內容,如果是第一次運行,程序會自動創建該文件 并自動創建數據庫文件,文件內容比如:

<?xml version="1.0" encoding="utf-8"?><configuration>    <connectionStrings>        <add name="AccessConn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TEST.mdb"            providerName="Access" />    </connectionStrings></configuration>

2,PDF.NET集成開發工具,下載地址:Application     安裝程序    

application,            1576K, uploaded             May 25, 2011             -            1943 downloads
下載后,請找到運行目錄下的 子目錄 Config ,然后打開配置文件 DataConnectionCfg.xml ,找到相關的配置節:
 
<?xml version="1.0" encoding="utf-8" ?><DataConnections>    <Group Name="默認分組">        <Connection DbType="SQLServer" Name="default" ConnectionString="Data Source=.;Integrated Security=True" />        <Connection DbType="SQLServer" Name="./SQLEXPRESS" ConnectionString="Data Source=./SQLEXPRESS;Integrated Security=True" />        <Connection DbType="SQLServerCe" Name="SQLCE" ConnectionString="Data Source=E:/DAC/LocalDB.sdf;PassWord=sasa;Persist Security Info=True" />    </Group>    <Group Name="XX二期">        <Connection DbType="SQLite" Name="SQLite" ConnectionString="Data Source=E:/jjzd.db" Provider="PWMIS.DataProvider.Data.SQLite,DataAccess"/>        <Connection DbType="SQLServer" Name="192.168.50.1" ConnectionString="server=192.168.50.5;uid=sa;pwd=sasa" Provider=""/>    </Group>    <Group Name="分組2">        <Connection DbType="Access" Name="default" ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TEST.mdb" Provider="Access"/>        <Connection DbType="SQLServer" Name="50.25" ConnectionString="server=192.168.50.25;uid=sa;pwd=sasa" Provider=""/>         </Group></DataConnections>

經過這樣的配置以后,就可以直接打開集成開發工具了,如下圖:

 

總結:

64位系統下.NET訪問Access 數據庫,最徹底的方法是安裝64位的Access數據訪問驅動安裝程序 并使用新的Access提供程序  Microsoft.ACE.OLEDB.12.0

 

 

 
 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定西市| 开封县| 神池县| 江津市| 彭阳县| 望都县| 萨迦县| 苍山县| 宜兰县| 沂南县| 登封市| 石棉县| 霍山县| 绥德县| 信阳市| 宣化县| 景宁| 清水县| 玉门市| 惠州市| 大余县| 洞口县| 郎溪县| 图片| 项城市| 汶川县| 闽侯县| 华蓥市| 南城县| 尉氏县| 二连浩特市| 老河口市| 沙坪坝区| 赤水市| 陆良县| 东兰县| 余干县| 定西市| 巍山| 泰顺县| 新巴尔虎右旗|