웹 서버 node.js를 Oracle에 연결했는데 이미 데이터베이스에서 일부 데이터를 선택했습니다.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();
}
});
결과는 다음과 같습니다
오라클매개 변수 = [개체 개체]에 연결
이름 = [{NAME : ARD}]
을 (Oracle 또는 DB-신탁)? –
"oracle 0.2.0"을 사용합니다 – user2890262