我正在尝试在 C# 中使用 Microsoft.Practices.EnterpriseLibrary 6 调用 Oracle 存储过程
下面是我的存储过程
create or replace
PROCEDURE "US_GET" (inputa IN integer,
cur_OUT IN OUT SYS_REFCURSOR)
IS
cur_N SYS_REFCURSOR;
BEGIN
OPEN cur_N FOR
SELECT columnb FROM tablea
WHERE columna = inputa;
cur_OUT := cur_N;
end US_GET;
下面的代码用于调用此过程
DatabaseProviderFactory factory = new DatabaseProviderFactory();
Database db = factory.Create(DataBaseInstance);
DbCommand dbCommand = db.GetStoredProcCommand("US_GET");
db.AddInParameter(dbCommand, "inputa", DbType.Int32, 0);
Dataset ds = db.ExecuteDataSet(dbCommand);
我在运行时遇到错误
Oracle.DataAccess.Client.OracleException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'US_GET'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
有没有人遇到过这个错误??有没有可以修复的??我尝试了不同的实现方式,但无法找到解决方案