【发布时间】:2016-05-13 07:18:01
【问题描述】:
我在 Nodejs 中使用 oracledb 包在 Oracle 中运行返回引用游标的存储过程,但我收到错误 PLS-00201 - 必须声明标识符“GETDATA”,存储过程在我的 Oracle 上的包中定义名为 MYPACKAGE 的数据库。到目前为止,我已经尝试在 MYPACKAGE 上对 sql developer 中的 usernameValue 运行授权执行,但没有帮助。以下是我的代码:
非常感谢您的帮助!
var oracledb = require('oracledb');
var numRows = 2;
exports.test = function(req, res) {
oracledb.getConnection({
user: "usernameValue",
password: "passwordValue",
connectString: "ServerName/Service_Name"
}, function(err, connection) {
if (err) {
console.error("in connection error "+err.message);
return;
}
var bindvars = {
inSchemaOwner: 'MySchema',
cRefCur: { type: oracledb.CURSOR, dir : oracledb.BIND_OUT }
};
connection.execute(
"BEGIN GETDATA(:inSchemaOwner, :cRefCur); END;",
bindvars,
function(err, result)
{
if (err) {
console.error(err.message);
doRelease(connection);
return;
}
console.log(result.outBinds.cRefCur.metaData);
fetchRowsFromRS(connection, result.outBinds.cRefCur, numRows);
});
});
}
【问题讨论】:
标签: function stored-procedures plsql