簡體   English   中英

從Node.js讀取Oracle中的BLOB

[英]Read a BLOB in Oracle from Node.js

我已經將Web服務器node.js連接到Oracle,並且已經從數據庫中選擇了一些數據。

當我選擇字符串或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模塊的版本更新為最新版本-0.3.4。它具有對BLOB的更好支持。

您可以按照以下步驟進行操作:

npm update oracle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM