MySQL ODBC 连接(再次)

MySQL ODBC connections (again)

我知道这个问题已经被问过很多次了,但我的变体略有不同,在花了几个小时试图让一行代码工作后,我正在拔头发。我有一个 MySQL 数据库,正在尝试使用 ODBC 进行连接。我在 Windows 10 版本 1909。

Line 13: OpenString ="DRIVER={MySQL ODBC 8.0 ANSI Driver};SERVER=localhost;DATABASE=collections;UID=edited_out;PWD=edited_out;"
Line 14: Conn = Server.Createobject("ADODB.Connection")
Line 15: Conn.open = OpenString

引用的代码在我装有 Microsoft .NET Framework 的主 PC 上运行良好Version:4.0.30319; ASP.NET Version:4.8.4075.0 和驱动程序={MySQL ODBC 5.3 ANSI 驱动程序}。在具有几乎相同配置的测试 PC 上,完全相同的代码(驱动程序名称除外)失败。 (Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.8.4075.0 and DRIVER={MySQL ODBC 8.0 ANSI Driver} 或者,就此而言,DRIVER={ MySQL ODBC 8.0 Unicode 驱动程序} - 均已安装。)请参阅所附图片以获取证据。我得到了众所周知的令人沮丧的 "Data source name not found and no default driver specified"。 Code snippet and drivers

我意识到这个错误几乎总是由于驱动程序名称错误。但是,我检查并重新检查了我的语法和驱动程序安装。我知道我的 ODBC 安装没有明显的错误,因为我安装 LibreOffice 纯粹是为了测试,并且能够在几秒钟内在同一台 PC 上使用此处显示的相同驱动程序通过 ODBC 连接到相同的数据库。 ODBC 8.0 版驱动程序有什么不同或特别麻烦的地方吗?我需要尝试将这个降级到 5.3 吗?

感谢您的帮助。

修复:如果您的网站使用 64 位应用程序,请禁用 32 位应用程序!

(回答我自己的问题,希望它能帮助别人。)我想通了。连接字符串是一条红鲱鱼。进一步的侦探工作使我找到了 post,它建议检查 IIS 中的应用程序池。如果您有任何 32 位应用程序,建议是在您的站点的“高级设置”下启用 32 位应用程序,这是相当明显的。

但是,我的应用程序是 64 位的,我注意到这个选项在我工作的 PC 上被禁用了。在另一台 PC 上禁用它可恢复连接:显然 Windows 默认为不存在的 32 位驱动程序,并在失败时显示模棱两可的错误消息。软件作者似乎挖了很多这样的漏洞让用户陷入...