[英]Read a BLOB in Oracle from Node.js
I've connected my web server node.js to Oracle, and I've already select some data from de database. 我已经将Web服务器node.js连接到Oracle,并且已经从数据库中选择了一些数据。
There is no problem when I select data types like string or int, but I need to read some BLOBs too (called PARAMETERS in my database). 当我选择字符串或int之类的数据类型时没有问题,但是我也需要读取一些BLOB(在我的数据库中称为PARAMETERS)。
First problem: The size of the BLOBs stored in the data base is 37000 bytes, but the size max of the buffer is 2000 -->Solution : I've only selected the first 2000 bytes 第一个问题:存储在数据库中的BLOB的大小为37000字节,但缓冲区的最大大小为2000->解决方案:我只选择了前2000个字节
Second problem: The result is an array, but I think that it's empty or I'm not able to read the data inside --> Solution? 第二个问题:结果是一个数组,但是我认为它为空,或者我无法读取内部数据->解决方案?
Does anyone know how to read a BLOB with the node.js-Oracle module? 有谁知道如何使用node.js-Oracle模块读取BLOB?
Thank you very much! 非常感谢你!
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();
}
});
The result is : 结果是:
Connected to Oracle 连接到Oracle
Parameters = [object object] 参数= [对象对象]
name = [{NAME: ARD}] 名称= [{{NAME:ARD}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.