0

看来我无法使用 ODBC 连接器 5.2.6 连接到 MySql。在 64 位环境中,在 VBA excel 应用程序中,我使用此字符串,但它不起作用:

“驱动程序={MySQL ODBC 5.2 驱动程序};服务器=myserver;数据库=mydb;用户=只读;密码=mypass;选项=3”

我也用过

Driver={MySQL ODBC 5.2w Driver}

Driver={MySQL ODBC 5.2a Driver}

但错误是:ODBC 驱动程序未知。

有人能帮我吗 ?

Ps:它适用于设置的 DSN,但我想使用连接字符串,所以我不会去每台用户计算机并设置 DSN。

谢谢

4

2 回答 2

3

快速回答

确保您已安装与软件匹配的正确 ODBC 版本(64 位或 32 位)。尝试以下操作:

  • 替换Driver={MySQL ODBC 5.2w Driver}Driver={MySQL ODBC 5.2 Unicode Driver}
  • 替换Driver={MySQL ODBC 5.2a Driver}Driver={MySQL ODBC 5.2 ANSI Driver}

长答案

ODBC 连接字符串的Driver={driver name}一部分是数据源 (ODBC)对话框中列出的驱动程序名称。

因为您在 64 位环境中运行,所以接下来要做什么取决于您是以 32 位还是 64 位运行 Excel(或任何软件、Web 应用程序等),因此请确保您已安装适当的 MySQL ODBC 驱动程序版本。这可能是人们在 64 位系统上使用 ODBC 驱动程序时遇到的最常见问题。

对于那些运行 Web 服务器并试图让 32 位 ODBC 驱动程序在其 32 位 Web 应用程序中工作的用户,请确保在应用程序池上启用 32 位应用程序。这是描述如何执行此操作的论坛帖子:http ://forums.iis.net/post/2023543.aspx

64 位

如果软件是 64 位,则打开“运行”对话框,然后运行%windir%\System32\odbcad32.exe​​. 单击Drivers选项卡,找到列出的 MySQL ODBC 驱动程序,记住Name列中的名称,并在连接字符串中使用它。
对于 5.2.6,这很可能是:MySQL ODBC 5.2 Unicode Driver

您之前尝试的驱动程序名称在哪里5.2w使用Unicode驱动程序,它在哪里5.2a使用ANSI驱动程序。

32 位

如果软件是 32 位的,则在运行对话框中运行%windir%\SysWOW64\odbcad32.exe以打开 32 位数据源对话框,然后执行与上述相同的操作。
在使用 32 位驱动程序的 64 位机器上,建议以连接字符串开头Provider=MSDASQL;

于 2013-10-23T10:44:37.740 回答
1

我在 Access 2010/2013 和 windows 7 上遇到了类似的问题。我认为我需要 64 位驱动程序来运行 64 位环境,并且无论我做什么都无法建立连接。我终于下载并安装了 32 位版本,现在可以连接到远程服务器上的 MySQL 数据库。由于 Excel 也是 Office 产品,我希望问题/解决方案是相同的。

于 2014-04-10T20:09:25.427 回答