ODBC 连接成功,但无法在运行时加载 table

Successful ODBC connection, but can't load the table in Runtime

更新:我 运行 在我的 VBA 中有一个 SQL 连接测试功能,它从我的主工作站读取打开,我 运行 在客户端工作站和运行时崩溃。我还检查以确保它使用的是 32 位而不是 62 位驱动程序,并且凭据与另一个正常工作的站点相同。

如果我 运行 连接测试运行时崩溃,如果我只尝试 运行 查询,它说找不到连接。两者均从用户计算机尝试。


我在系统 DSN 级别从客户端计算机成功打开了到 MySQL 数据库的 ODBC Unicode 连接。当我打开 Access Runtime 文件并尝试使用表单查询数据库时,我收到错误消息:"ODBC--connection to 'servername' failed." 我尝试了很多名称,包括更改区分大小写。我验证了我使用的 TCPIP 地址确实是该数据库的主机,并且使用 ipconfig /all 的名称具有适当的大小写敏感性。我无法弄清楚这是否是 Access 与 Runtime 的问题,但我真的看不出这是问题所在。 table 的名称是 "tbl_panel,",它肯定在我使用该确切名称使用 ODBC 连接的数据库中。

我使用的连接的用户要求基本上具有 "Read-Only" 特权,但这就是它应该需要的,因为我只是检查数据。除非创建记录集超出了 SELECT 的范围,显示视图,创建临时表。此外,它无法找到服务器本身的事实告诉我它可能与我的 SQL/VBA 编码无关。将鼠标悬停在 Access 导航窗格中的 tbl_panel 上会显示 "ODBC;DSN='servername';;TABLE=tbl_panel".


这是用于创建记录集的 SQL 字符串(t运行 适合 space 因为语句本身工作正常):

stSQL1 = "SELECT tbl_panel.PNL_SN_ID FROM tbl_panel " & _ etc. Set qryList = dbsInspect.OpenRecordset(stSQL1)


这让我很困惑,而且我是 ODBC 的菜鸟,所以如果有明显的问题,请多多指教。我确实进行了大量搜索,但大多数 ODBC 查询 return 与数据源的初始设置或在代码中打开连接有关。这可能是我必须做的吗?在 VBA 中包含 table 的开始语句,以便运行时知道该做什么?如果这可能是问题所在,我会觉得自己很傻,而我却白白输入了所有这些内容。

这最终成了一个小问题。尽管在控制面板 --> 管理工具中使用了 ODBC 连接工具。我需要 32 位连接。这在另一个 SO 问题中得到了回答。

但是,我会注意到,我最终获得有用错误消息的唯一方法是创建后端。然后它在下面的链接问题中显示错误消息:

Related Question on SO