我花了最后一两天在 ubuntu 12 上设置 unixODBC 和 freetds - 这本身不是一个有趣的过程,但它现在可以同时使用 sqsh 和 isql。我已经安装了 node-odbc 并且我正在使用github 自述文件中提供的代码片段来测试连接,但我总是得到
S1000:1:0:[unixODBC][FreeTDS][SQL Server]Unable to connect to data source
WARNING: ev_unref is deprecated, use uv_unref
[Error: Error opening database]
使用 isql 我运行isql -v SERVER user pass
(使用正确的凭据..),然后use DATABASE
一旦连接,一切正常,我可以正常运行查询。我在 js 中的连接字符串是
"DRIVER={FreeTDS};SERVER=SERVER;UID=user;PWD=pass;DATABASE=DATABASE"
这与用于连接 isql 的凭据完全匹配,但在 Node 中我得到了上述错误。关于为什么会发生这种情况的任何想法?是否有可能做我的 odbc.ini 和 odbcinst.ini 文件的位置或类似的东西?
仅供参考:
/etc/odbc.ini:
[SERVER]
Driver = FreeTDS
Trace = No
Server = SERVER
Port = 1433
Database = DATABASE
UsageCount = 1
TDS_Version = 7.0
/etc/odbcinst.ini:
[FreeTDS]
Description = FreeTDS
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsS.so
FileUsage = 1
CPTimeout = 5
CPReuse = 20
Threading = 1
提前感谢您的帮助!