我目前有一个使用 ODBC 连接到 sybase 数据库的宏。它通过运行以下命令建立连接:
设置 conX = wrkODBC.OpenConnection("Connection1", , True, strConn)
其中 strConn = "ODBC;DSN=Server_Name;APP=每日任务;DB=db_name;UID=uname;PWD=pwd;"
我遇到的问题是此连接适用于某些 Server_Name,但不适用于其他服务器。当它不起作用时,我收到错误“3146 - ODBC--调用失败”。
我不明白它从哪里提取服务器详细信息。因此例如,当使用 embarcadero rapid 连接 sybase 数据库时,它会使用 sql.ini 文件根据 server_name 拉取服务器连接详细信息。
我已经检查并且我正在测试的所有 Sybase 服务器都在 sql.ini 文件中,并且我的 env 变量指向正确的 sybase 版本。我检查了 ODBC,它只选择了一个 SQL Server 驱动程序。
谁能解释一下 ODBC 如何提取服务器名称连接详细信息?我不明白为什么它适用于某些服务器名称,但不适用于其他名称(仅供参考,我已经测试了 uname 和 pwd 可以快速确保它是正确的)。
任何信息将不胜感激。