Microsoft.Jet.OLEDB.4.0 与 x64

我在新安装好的 Windows Server 2008 R2 Beta 中,运行我的一个程序,就出现了错误信息,打开源代码,进行调试

发现错误是:“The ‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local machine.”

随后,到百度上查,因为百度上查的基本上都是中文的信息,英文怕看不懂嘛,可什么都没查到

再到 GOOGLE 上查,还是 GOOGLE 好,一查就查到了,有很多人都有这个问题,是因为 Microsoft.Jet.OLEDB.4.0 不再支持 64 位系统。

同时,也看到了解决方案,就是把程序的目标平台设置成“x86”就可以了。

在项目的属性中,把“生成”中的“目标平台”从“Any CPU”改成“x86”,再重新编译就可以了。

x86

4 thoughts on “Microsoft.Jet.OLEDB.4.0 与 x64

  1. 此观点有问题的,vbs文件用Microsoft.Jet.OLEDB.4.0做数据连接会错误,但同样的语句,用在hta文件连接,可以,说明x64是支持 Microsoft.Jet.OLEDB.4.0的.只是不知道是不是执行宿主的原因.

  2. 在微软的网站:http://support.microsoft.com/kb/957570,“The Microsoft OLE DB Provider for Jet and the Microsoft Access ODBC driver are available in 32-bit versions only”,官方解释嘛。
    你说的 hta 里可以用,我想是因为 hta 其实是在 IE 中运行的,而在 64位系统中,同时存在 32 位和 64 位的 IE,同时开的都是 32 位的IE。
    这只是我的猜想,我同常不写 hta,只是在1999年的时候写过一个小玩艺玩,后来就没写过了。

  3. @osnaile
    另 hta 但执行hta程序是mshta.exe x64上的mshta 本来就是x64的(x86上不能执行x64中的mshta)
    mshta的确要引用IE内核, 难道mshta同时会引用64 和32的IE?

发表评论

电子邮件地址不会被公开。 必填项已用*标注