积极答复者
惨了!大问题了!The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine!

问题
-
我机器是Windows 7 64位,安装了OFFICE 2010、Visual Studio 2008/2010。
连接ACCESS数据就出问题了,提示“The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine”。不可能的啊,因为我2010中用.NET 40是可以浏览的(WEB项目)。但用2008的.NET 2.0就提示这个错误信息了。
所有以前2.0的项目均不可以连接。
这是.NET 4.0
OleDbConnection db = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Environment.CurrentDirectory + "\\db.mdb");
db.Open();没出现错误。
这是.NET 2.0
OleDbConnection db = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Environment.CurrentDirectory + "\\db.mdb");
db.Open();See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.************** Exception Text **************
System.InvalidOperationException: The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at JL.DBUtility.DbHelperOleDb.Query(String SQLString)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)为“金”之计“问”。
答案
-
dear
OLEDB 不支援x64是肯定的事,我用VS2010/VS2008 的.net 2.0 / x86 platform 模式均可顺利执行(模拟WOW下执行),可能是我有在定其更新OS的关系
我无法模拟出你的错误,你参考以下看看
http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/d5b29496-d6a1-4ecf-b1a4-5550d80b84b6
http://blogs.msdn.com/b/data/archive/2008/04/07/64-bit-oledb-provider-for-odbc-msdasql-is-now-available-for-windows-server-2003.aspx
http://www.microsoft.com/en-us/download/details.aspx?id=20065
我用下篇的方式,可以让机器执行x64的OLEDB
http://www.dotblogs.com.tw/okawari/archive/2010/11/16/19483.aspx
你也可以试看看
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
- 已编辑 余小章MVP 2012年7月9日 17:09
- 已建议为答案 ThankfulHeartModerator 2012年7月10日 3:00
- 已标记为答案 Jason Dot WangModerator 2012年7月16日 9:23
全部回复
-
Dear
OLEDB不支援x64的OS
你可试着用以下的方式解决
http://www.dotblogs.com.tw/okawari/archive/2010/11/16/19483.aspx
http://lenchung.wordpress.com/2010/01/18/20100118-jet-oledb-on-x64-os-iis/
http://tw.myblog.yahoo.com/terence-lee/article?mid=168
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
- 已编辑 余小章MVP 2012年7月9日 12:06
-
Dear
OLEDB不支援x64的OS
你可试着用以下的方式解决
http://www.dotblogs.com.tw/okawari/archive/2010/11/16/19483.aspx
http://lenchung.wordpress.com/2010/01/18/20100118-jet-oledb-on-x64-os-iis/
http://tw.myblog.yahoo.com/terence-lee/article?mid=168
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
为“金”之计“问”。
-
dear
OLEDB 不支援x64是肯定的事,我用VS2010/VS2008 的.net 2.0 / x86 platform 模式均可顺利执行(模拟WOW下执行),可能是我有在定其更新OS的关系
我无法模拟出你的错误,你参考以下看看
http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/d5b29496-d6a1-4ecf-b1a4-5550d80b84b6
http://blogs.msdn.com/b/data/archive/2008/04/07/64-bit-oledb-provider-for-odbc-msdasql-is-now-available-for-windows-server-2003.aspx
http://www.microsoft.com/en-us/download/details.aspx?id=20065
我用下篇的方式,可以让机器执行x64的OLEDB
http://www.dotblogs.com.tw/okawari/archive/2010/11/16/19483.aspx
你也可以试看看
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
- 已编辑 余小章MVP 2012年7月9日 17:09
- 已建议为答案 ThankfulHeartModerator 2012年7月10日 3:00
- 已标记为答案 Jason Dot WangModerator 2012年7月16日 9:23