我有一张带有Clob列的表。我使用oracledb驱动程序从快速应用程序连接到数据库。我想打印出这件衣服。这是我的代码:
router.get('/:task_name', function (req,res) {
"use strict";
oracledb.getConnection(connAttrs.database, function (err, connection) {
if (err) {
// Error connecting to DB
res.set('Content-Type', 'application/json');
res.status(500).send(JSON.stringify({
status: 500,
message: "Error connecting to DB",
detailed_message: err.message
}));
return;
}
connection.execute("select solution from solvedtasks s join tasks t on t.TASK_ID = s.TASK_ID WHERE task_name= :task_name", [req.params.task_name],{
outFormat: oracledb.OBJECT //resultSet:true,
}, function (err, result) {
if (err) {
res.set('Content-Type', 'application/json');
res.status(500).send(JSON.stringify({
status: 500,
message: "Error getting the user profile",
detailed_message: err.message
}));
} else {
res.contentType('application/json').status(200);
res.send(JSON.stringify(result.rows[0]));
console.log(result.rows[0]);
// fetchRowsFromRS(connection,res,result.resultSet,10);
}
// Release the connection
connection.release(
function (err) {
if (err) {
console.error(err.message);
} else {
console.log("GET /SolvedTasks : Connection released");
}
});
});
});
});
我没有从数据库中打印出Clob,而是得到了看起来像lob元数据的东西。还有其他人遇到过这个问题吗?这是我的输出的屏幕截图:
最佳答案
所以我解决了这个问题,如果有人遇到此问题,我会发布一个答案。显然,原始的oracledb驱动程序在处理Clob时存在一些问题。但是有一个库可以增强其功能,称为simple-oracledb,非常易于使用和安装:https://github.com/sagiegurari/simple-oracledb
通过使用connection.query,可以正确处理Clob:
enter code here
connection.query('SELECT * FROM departments WHERE manager_id > :id', [110], {
splitResults: true, //True to enable to split the results into bulks, each bulk will invoke the provided callback (last callback invocation will have empty results)
bulkRowsAmount: 100 //The amount of rows to fetch (for splitting results, that is the max rows that the callback will get for each callback invocation)
}, function onResults(error, results) {
if (error) {
//handle error...
} else if (results.length) {
//handle next bulk of results
} else {
//all rows read
}
});
关于node.js - 棉签在快速应用中无法正确打印,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37502824/