【发布时间】:2019-10-28 17:50:01
【问题描述】:
我正在尝试使用 oracledb 客户端从 nodejs 对 oracle 数据库执行查询并获取“ORA-01036:非法变量名称/编号”。我尝试了多种建议的方式来传递我的变量但失败了。查询使用硬编码值。
这是我的示例代码:
`# try 1
var selectStatement = "SELECT * FROM FILEPROCESS_USER where EMAIL like
?";
# try 2
var selectStatement = "SELECT * FROM FILEPROCESS_USER where EMAIL like" + EMAIL+;
# try 3
var bindVars = {
userid : EMAIL,
resultSet: {dir: oracledb.BIND_OUT, type: oracledb.STRING, maxSize:
32767},
error: {dir: oracledb.BIND_OUT, type: oracledb.STRING, maxSize: 4000} } ;
connection.execute( "SELECT * FROM FILEPROCESS_USER where EMAIL=
:userid", bindVars {*
handleDatabaseOperation( req, res, function (request, response,
connection)
{
var EMAIL = 'ABC@GMAIL.COM';
connection.execute( selectStatement, [email],
outFormat: oracledb.OBJECT
},function (err, result) {
if (err) {
console.log('Error in execution of select statement'+err.message);
response.writeHead(500, {'Content-Type': 'application/json'});
response.end(JSON.stringify({ status: 500, detailed_message:
err.message })
);
}
else {
response.writeHead (200, {'Content-Type': 'application/json'});
response.end(JSON.stringify(result.rows));
}
`
得到“ORA-01036: 非法变量名/编号”或空白结果
【问题讨论】:
标签: node.js node-oracledb