在oracle c#中运行存储过程时出现ORA-06550错误
本文关键字:ORA-06550 错误 存储过程 oracle 运行 | 更新日期: 2023-09-27 18:13:55
using (var command = new OracleCommand(sqlText, oraConnection) { CommandType = CommandType.StoredProcedure })
{
command.BindByName = true;
var parameters = command.Parameters;
parameters.Clear();
parameters.Add("p_date", OracleDbType.Date, ParameterDirection.Input).Value = DateTime.Now;
command.ExecuteNonQuery();
}
这是我在VS15中的代码。我正在尝试执行一个存储过程,并将我唯一的参数作为日期传递。
create or replace procedure cwi_pat_deductions_export
(
:p_date date
)
is
v_count number;
这是存储过程的开始。我在第1行col 7处得到Oracle错误:ORA-06550(因此在单词"CREATE"之后)。我不是一个sql开发贸易,所以我正在努力看看错误在哪里。我不觉得它是在我的端(c#端),但它很可能是(我们的sql开发人员坚持认为,它必须是一个问题在我的端,作为存储过程编译和运行良好的PlSql开发人员)。
不允许用Create或replace来启动存储进程吗?
当您想调用该过程时,您没有传递该过程的完整CREATE OR REPLACE PROCEDURE ...
文本。存储过程的意义在于它已经存储在数据库中。
如果要调用存储过程,则sqlText
参数应该只是存储过程名称cwi_pat_deductions_export
。如果这不起作用,并且您得到一个invalid identifier
错误,请尝试在名称前面加上存储过程的所有者,例如some_schema.cwi_pat_deductions_export
。