C#访问Access和Win7 64位下可能遇到的 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序 问题
新建一個(gè)access數(shù)據(jù)庫(kù)和表;錄入幾條數(shù)據(jù);下面工具可在網(wǎng)上下;
ac1.cs;
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Data.SqlClient;namespace CSharpAccess {class Program{static void Main(string[] args){OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=s:/rch.mdb");conn.Open();string sql = "select * from rch";OleDbCommand command = new OleDbCommand(sql, conn);OleDbDataReader reader = command.ExecuteReader();try{while (reader.Read()){for (int i = 0; i < reader.FieldCount;i++ ){Console.Write("{0} ", reader[i]);}Console.WriteLine(); }}finally{reader.Close();conn.Close();}}} }?使用命令行編譯;方便起見(jiàn),把a(bǔ)c1.cs拷貝到.net framework 的目錄;C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
如下;然后執(zhí)行 csc 命令構(gòu)建;
?構(gòu)建成功;
運(yùn)行;出現(xiàn)錯(cuò)誤??
? ??未在本地計(jì)算機(jī)上注冊(cè)“Microsoft.Jet.OLEDB.4.0” 提供程序
當(dāng)前是win7 64位;多數(shù)情況下應(yīng)該不存在此問(wèn)題,這是系統(tǒng)自帶的;
這個(gè) oledb提供程序,它是一個(gè)dll,?msjetoledb40.dll;下載一個(gè)此dll,和前面構(gòu)建出的exe放到?一個(gè)目錄下;?
再運(yùn)行exe,還是一樣;然后把msjetoledb40.dll拷貝一份到 c:\windows\system32 目錄下,再運(yùn)行exe,也是一樣;
查網(wǎng)上資料,一些信息如下;
? ? 注冊(cè)組件 regsvr32 msjetoledb40.dll;
? ? 重新安裝MDAC28.exe;
? ? 可能還有其他一些操作,涉及IIS或權(quán)限等;比較麻煩;
又看到一種說(shuō)法,只要在VS中,在項(xiàng)目--》***屬性-----》生成下面將目標(biāo)平臺(tái)改成X86;即可;
這個(gè)要看電腦的具體情況;
下面來(lái)用命令行構(gòu)建,csc命令添加目標(biāo)平臺(tái)為x86參數(shù);/platform參數(shù)選項(xiàng)如下;
? ??用 /platform:x86 編譯的程序集將在運(yùn)行于 WOW64 下的 32 位 CLR 上執(zhí)行。
? ? 用 /platform:anycpu 編譯的 DLL 將在加載該進(jìn)程的同一 CLR 上執(zhí)行。(例如:IIS應(yīng)用程序池中,“啟用32應(yīng)用程序”為T(mén)rue時(shí),則在32位CLR上執(zhí)行,否則在64位CLR上執(zhí)行)
? ? 用 /platform:anycpu 編譯的可執(zhí)行文件將在 64 位 CLR 上執(zhí)行。
帶?/platform 參數(shù)構(gòu)建,如下圖;
構(gòu)建好了;再運(yùn)行;可以訪問(wèn)到mdb數(shù)據(jù)庫(kù)了;?
?
總結(jié)
以上是生活随笔為你收集整理的C#访问Access和Win7 64位下可能遇到的 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序 问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用jar命令查看搜索提取jar包中的文
- 下一篇: C#反射简单编程