我正在尝试monetdb
与node.js
. 我有一个简单的(20 行)c 程序,可以moentdb
使用 mapi 库进行查询。
我可以使用这些库来构建node.js
使用这些库并连接到的东西(模块/插件)monetdb
吗?
(使用 odbc 是一种选择,但它有其自身的缺点。)
更新 1 :
node-ffi 非常棒。我能够很容易地创建一个获取表程序。(例如,我添加了我的工作代码。)
因此,如果我有 3 个选项
1. ODBC
2. node-ffi
3. ac 程序来获取数据库数据并通过套接字监听来自 node.js 的连接
就性能而言,这是更好的实现选择,如果我有更少的时间来开发 node.js 的插件
var ffi = require("ffi");
var libmylibrary = ffi.Library('/usr/local/lib/libmapi.so', {
"mapi_connect":["int",["string",'int',"string","string","string","string"]],
"mapi_query":['int',["int","string"]],
"mapi_fetch_row":["int",["int"]],
"mapi_fetch_field":["string",["int","int"]]
});
var res = libmylibrary.mapi_connect("localhost", 50000,"monetdb", "monetdb", "sql", "demo");
console.log(res);
var ret=libmylibrary.mapi_query(res,"select * from table");
while(libmylibrary.mapi_fetch_row(ret)){
console.log(libmylibrary.mapi_fetch_field(ret,0));
console.log(libmylibrary.mapi_fetch_field(ret,1));
}
更新 2:
不建议将上述代码用于生产用途...它不使用 node.js 的异步功能,因此请在婴儿步骤中使用它