Node-odbc无法连接到mssql

我花了最后一两天设置unixODBC和freetds在Ubuntu 12 – 本身不是一个有趣的过程,但它现在可以同时使用sqsh和isql。 我已经安装了node-odbc,我正在使用github自述文件中提供的代码片段来testing连接,但是我总是得到

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 (使用正确的creds ..),然后use DATABASE一旦连接,这一切工作,我可以运行查询罚款。 我在js中的连接string是

  "DRIVER={FreeTDS};SERVER=SERVER;UID=user;PWD=pass;DATABASE=DATABASE" 

哪个完全匹配用于连接isql的凭据,但在节点中我得到上述错误。 任何想法,为什么发生这种情况? 是否有可能做我的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 

提前感谢任何帮助!

今天遇到这个问题,结果是我需要指定一个端口号作为连接string的一部分。 仅供参考。

它看起来像我刚刚find了解决办法,虽然我不完全明白为什么。 如果使用的连接string是:

 "DRIVER={FreeTDS};SERVER=SERVER;UID=user;PWD=pass;DATABASE=DATABASE" 

然后由于某种原因,它根本不工作,我已经尝试使用设置SERVER作为机器的IP和实际名称…没有运气。 但是,如果我更改连接string使用SERVERNAME或DSN(只能有一个SERVER,SERVERNAME或DNS中的string),我提供机器名称,然后它工作正常,我不能让它与IP的工作,无论我尝试了。 所以,总之,为我工作的连接string是:

 "DRIVER={FreeTDS};SERVERNAME=SERVERNAME;UID=user;PWD=pass;DATABASE=DATABASE" 

这个问题的关键似乎在于SQLDriverConnect。