当我尝试在我的应用程序中使用MS Access数据库时,我不断收到此错误:
'Microsoft.Jet.OLEDB.4.0'提供商 没有在当地注册 机。
谷歌错误一段时间后,我发现在64位模式下运行应用程序时出现问题。如果我要用32位编译应用程序它会工作,所以我去尝试找出如何做到这一点。我在项目设置页面中获得了高级编译选项,但后来我还读到我甚至无法在Visual Basic 2008 Express中设置CPU类型。
这是真的吗?我无法将项目设置为以32位模式运行吗?问题是,几个月前我用数据库做了类似的事情,这很有效,我不记得我做了什么。
如何解决此问题?
在查看我的旧项目编译选项之后,它确实已设置为Active (x86) Platform
,但此选项未显示在我的新项目中。怪异。
这是截图。最上面的是具有32位运行选项的旧项目,而底部是没有这些选项的新项目。
答案 0 :(得分:3)
我自己没有使用VB Express(我使用的是Visual Studio Professional),但我认为选项类似。打开解决方案(或项目)后:
您现在应该能够构建应用程序并将其强制为32位。
如果您希望有单独的版本(一个用于任何CPU,一个用于x86):
您现在可以轻松地在Any CPU或x86 CPU类型之间进行选择。只需从标准工具栏中选择平台类型即可。
如果您需要更改较旧的程序或无法编译的程序,请参阅my answer on how to force applications with the Any CPU flag to run as 32-bit。
答案 1 :(得分:0)
您始终可以使用MSBuild。它是免费的,允许您为编译器提供任何配置选项。
答案 2 :(得分:0)
本教程适用于Visual Basic 2008 Express Edition,但我认为它也应适用于其他Express Edition。
在Express Edition中默认未启用“高级编译选项”,要启用它,请执行以下步骤:
点击“工具” 选择“选项” 在“项目和解决方案”下,单击“常规” 然后勾选选项“显示高级构建配置” 单击确定。 瞧!
当您进入“项目-属性”时,应该会看到在高级编译选项中更改为任何cpu。
如果仍未启用,请转至Build-Configuration Manager并将x86添加到平台。