我的这个表有一个clob列。我使用oracledb驱动程序从我的快递应用程序连接到数据库。我想打印出这个clob。这是我的代码:
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元数据的东西。还有其他人遇到过这个问题吗?这是我输出的屏幕截图:
答案 0 :(得分:1)
所以我解决了这个问题,我发布了一个答案,以防有人遇到这个问题。显然原来的oracledb驱动程序有一些处理clobs的问题。但是有一个增强其功能的库,称为simple-oracledb,非常易于使用和安装:https://github.com/sagiegurari/simple-oracledb
通过使用connection.query,正确处理clobs:
true