我已將我的web服務器node.js連接到Oracle,並且我已經從de數據庫中選擇了一些數據。從Node.js中讀取Oracle中的BLOB
當我選擇像string或int這樣的數據類型時沒有問題,但我也需要讀取一些BLOB(在我的數據庫中稱爲PARAMETERS)。
第一個問題:存儲在數據庫中的BLOB的的大小是37000個字節,但尺寸最大緩衝區的是2000 - >解決方案:我只選擇第一2000個字節
第二個問題:結果是一個數組,但我認爲它是空的或者我無法讀取裏面的數據 - >解決方案?
有誰知道如何用node.js-Oracle模塊讀取BLOB?
非常感謝!
db.connect({ "hostname": "xxx", "user":"xx", "password": "xx", "database": "xx"}, function(err, connection) {
if (err) {
return console.log("CONNECTION ERROR: " + err);
}
else{
console.log('Connected to Oracle ');
connection.execute('SELECT utl_raw.cast_to_varchar2(dbms_lob.substr(PARAMETERS,2000,1)) FROM records WHERE records.id = 1', [], function (err, rows) {
if (err) {
console.log('error: ' + err);
}
console.log('Parameters= ' + rows);
socket.emit('response:record', {'record': rows});
});
connection.execute('SELECT records.name FROM records WHERE records.id = 1', [], function (err, rows) {
if (err) {
console.log('error: ' + err);
}
socket.emit('response:name', {'record': rows});
console.log('name= ' + rows);
});
connection.close();
}
});
結果是:
連接到Oracle
參數= [目標對象]
名= [{NAME:ARD}]
你使用的模塊完全相同(Oracle或DB-Oracle)的? –
我使用「oracle 0.2.0」 – user2890262