Tôi đang cố kết nối monetdb
với node.js
. Tôi có một chương trình đơn giản (20 dòng) c có thể truy vấn moentdb
sử dụng thư viện mapi.Có thể tạo mô-đun node.js sử dụng thư viện c để kết nối monetdb không?
Tôi có thể sử dụng các thư viện đó để xây dựng thứ gì đó (module/addon) cho node.js
sử dụng các thư viện này và kết nối với monetdb
không?
(sử dụng odbc là một lựa chọn nhưng nó có nhược điểm riêng của mình.)
Update1:
nút-ffi là khá tuyệt vời. Tôi đã có thể tạo một chương trình tìm nạp bảng khá dễ dàng. (Tôi đã thêm mã làm việc của tôi chẳng hạn.)
Vì vậy, nếu tôi có 3 lựa chọn
1. ODBC
2. nút-ffi chương trình
3. ac để lấy dữ liệu cơ sở dữ liệu và lắng nghe kết nối từ nút. js thông qua ổ cắm
Xét về hiệu suất đó là lựa chọn tốt hơn để thực hiện, nếu tôi có chút ít thời gian để phát triển một addon cho 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));
}
cập nhật 2:
Không nên sử dụng mã trên để sử dụng sản xuất ... nó không sử dụng chức năng không đồng bộ của node.js vì vậy hãy sử dụng nó cho các bước bé
Hãy thử xem http://stackoverflow.com/questions/15393039/why-v8-in-node-js-is-faster-than-in-my-native-c-addon. Tôi bắt gặp nó một ngày và thấy nó thú vị, và nó có thể được sử dụng cho bạn. –
Trong C++ addon tôi đã xem github, mã đầy đủ được viết với tiêu đề v8/node ... Tôi không chắc chắn nếu một thư viện hoàn toàn viết bằng c có thể được thêm vào addon .... Tôi thấy hầu hết người dùng chỉ trích nút .js vì thiếu db libs nếu nó có thể được thực hiện thì tất cả dbs có thể được kết nối thông qua node.js – Gaurav
Có một mô-đun trình điều khiển Node.js riêng mới cho MonetDB: https://www.npmjs.com/package/monetdb Nó có sẵn trên npmjs.org, vì vậy bây giờ bạn có thể chạy '' 'npm install monetdb''' để cài đặt trình điều khiển. –