我正在尝试使用 odbc 连接到 node.js 中的 monetDB。但是,我不断收到以下错误:
The driver reported the following diagnostics whilst running SQLDriverConnect
IM002:1:0:[unixODBC][Driver Manager]Data source name not found, and no default driver specified
DEBUG: []
这是源代码:
var sys = require("util");
var odbc = require("/home/vash/node_modules/odbc/odbc.js");
var db = new odbc.Database();
db.open("Driver={ODBC for MonetDB};Setup=/usr/lib/libMonetODBCs.so;UsageCount= 1;SERVER=vash-G75VW;USER=monetdb;PASSWORD=monetdb;PORT=5000;DATABASE=demo", function(err)
{
db.query("select * from demo", function(err, rows, moreResultSets)
{
sys.debug(sys.inspect(rows));
db.close(function(){});
});
});
使用命令“isql -v monetdb”,我可以使用带有以下 odbc.ini 和 odbcinst.ini 内容的 ODBC 连接到 monetDB:
[monetdb]
Description = "ODBC for MonetDB"
Driver = /usr/lib/libMonetODBC.so
Setup = /usr/lib/libMonetODBCs.so
UsageCount = 1
SERVER = vash-G75VW
USER = monetdb
PASSWORD = monetdb
PORT = 5000
DATABASE = demo
由于我使用 isql 连接,我猜问题在于代码行:
"Driver={ODBC for MonetDB};Setup=/usr/lib/libMonetODBCs.so;UsageCount= 1;SERVER=vash-G75VW;USER=monetdb;PASSWORD=monetdb;PORT=5000;DATABASE=demo"
任何想法有什么问题,我是否正确设置了上面的连接字符串?