我正在尝试使用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:非法变量名称/数字"或空结果
尝试#1不起作用,因为Oracle数据库不使用该语法。
尝试#2不起作用有两个原因:“选择*从FILEPROCESS_USER电子邮件”电子邮件;
首先,“喜欢”和“电子邮件”之间没有空间,所以它们连接在一起。
其次,它没有正确使用绑定变量。
这本可以奏效的:
“从FILEPROCESS_用户中选择*电子邮件,如:EMAIL”;
尝试#3不起作用,因为您在SQL中有一个绑定变量,但您提供了多个绑定变量值。
我已经用“select*from person”测试过了,效果不错。我想得到一份名字以“a”开头的人的名单。这可能吗?
请帮帮我 获取日期范围的数据时出错 错误 ora-01036非法变量名称/编号
我有下面的insert查询 每次我尝试运行此查询时,都会出现此错误 我做了一些研究,显然这意味着其中一个变量不在SQL语句中。对我来说不是这样,我检查了语句、数据库(oracle)表和所有绑定变量,它们都匹配。 错误上的行号将表明它是$driveable变量。我做了一个检查,这是被发送到页面罚款。 不知道还有什么地方可以看,所以任何帮助都会很好。
为什么在Oracle DB中出现此错误? cx_Oracle。ORA-01036:非法变量名称/数字
我已经创建了一个API,希望将数据插入oracle数据库。但我收到一条错误消息“error:ORA-01036:非法变量名/编号”。我不知道我犯了什么错误。希望能帮我解决这个问题。先谢谢你。 [错误:ORA-01036:非法变量名/编号]{errorNum:1036,偏移量:0}
我有一个网格视图。它连接到一个SqlDataSource。我的数据库是Oracle。 当我运行网页时,选择command works,我会看到列表中的项目。单击“删除”按钮时,出现以下错误: ORA-01036:非法变量名称/数字 以下是我的GridView和SqlDataSource: