繁体   English   中英

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

引用的代码在我的主 PC 上运行良好,Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.8.4075.0 和 DRIVER={MySQL ODBC 5.3 ANSI 驱动程序}。 在具有几乎相同配置的测试 PC 上,除了驱动程序名称之外完全相同的代码失败。 (Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.8.4075.0 和 DRIVER={MySQL ODBC 8.0 ANSI 驱动程序} 或者,就此而言,DRIVER={MySQL ODBC 8.0 Unicode 驱动程序} - 均已安装。)请请参阅所附图片以获取证据。 我得到了众所周知且令人沮丧的“未找到数据源名称且未指定默认驱动程序”。 代码片段和驱动程序

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

谢谢你的帮助。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM