gpt4 book ai didi

javascript - Vista x64,小工具开发,OLEDB 错误 : "provider cannot be found"

转载 作者:行者123 更新时间:2023-11-28 10:35:59 25 4
gpt4 key购买 nike

我正在开发一个 Vista 小工具。该小工具正在使用本地 .mdb 数据库,使用 OLEDB。代码如下:

var cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + getDbFilePath() + ";Persist Security Info=False;";
var connection = new ActiveXObject("ADODB.Connection");
connection.ConnectionString = cs;

它在 Vista 32 下工作,但在 x64 下失败并显示消息:

Provider cannot be found. It may not be properly installed.

当我从命令行运行 javascript 文件时,没有发生错误。getDbFilePath() 返回正确的路径、数据库存在等

如何解决?也许,使用其他数据库提供商有意义吗?

谢谢

最佳答案

没有针对 x64 注册/可用的 native Jet 镜像 - 它仅在 x64 上的 32 位进程中可用。侧边栏可执行文件作为 native x64 镜像运行 - 因此它失败。

您的选择似乎很有限:

  1. 放弃 Jet,例如切换到 SQL Compact Edition、SQL Express 或类似版本之一
  2. 将 Jet 调用包装在代理 32 位 COM 对象中。在 64 位注册表中将该对象注册为进程外。例如

    http://dnjonline.com/article.aspx?ID=jun07_access3264

  3. 不支持 x64

尝试强制侧边栏在 32 位模式下运行似乎很困难/不可能,更不用说不合理了。

关于javascript - Vista x64,小工具开发,OLEDB 错误 : "provider cannot be found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com