【问题标题】:Not properly calling a Stored procedure?没有正确调用存储过程?
【发布时间】:2016-07-04 08:29:50
【问题描述】:

我有一个在 sqldeveloper 插入记录上运行良好的 oracle 存储过程。 我如何从 asp.net 调用它?我见过其他解决方案也没有帮助。

OracleConnection objConn = new OracleConnection(_db.ConnectionString);
 objConn.Open();
 OracleCommand cmd = new OracleCommand("INSERTDOCUMENT", objConn);
cmd.CommandType = CommandType.StoredProcedure;
 cmd.Parameters.Add("TMPLT_ID", OracleDbType.Decimal).Value = _schema.ID;
...
cmd.ExecuteNonQuery();
objConn.Close();

有人请告诉我我做错了什么?

【问题讨论】:

  • ORA-06550:第 1 行,第 7 列:PLS-00201:标识符“RMI_PR.INSERTDOCUMENT”必须声明 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略
  • 您确定您的连接字符串正确吗?
  • 是的,连接字符串很好,我到处都在使用它。
  • 您是否使用与 SQL Developer 中相同的用户。该错误表示它找不到 INSERTDOCUMENT,这意味着它不存在或不可见,或者您的用户无权调用它。如果对用户不可见,则公开同义词,否则将过程的执行权限授予必要的用户。

标签: asp.net oracle stored-procedures


【解决方案1】:

我希望存储过程 INSERTDOCUMENT 在 oracle 模式“'RMI_PR”中。

转换语句 OracleCommand cmd = new OracleCommand("INSERTDOCUMENT", objConn); 进入 OracleCommand cmd = new OracleCommand("RMI_PR.INSERTDOCUMENT", objConn);

【讨论】:

    猜你喜欢
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2013-08-06
    相关资源
    最近更新 更多