【发布时间】:2017-02-26 19:43:03
【问题描述】:
编辑:请参阅帖子 #2
我已经搜索了这里的线程,但我无法弄清楚为什么我会收到 ORA-06550 消息。
Oracle 中的 PL/SQL 进程没有错误。
存储的 PROC 接收 5 个参数,我正在尝试输出单个 NUMBER 参数以进行异常处理。
请告诉我我做错了什么。
PL/SQL
PROCEDURE DoProcess( ocn IN WAREHOUSE.BANK_STATEMENT_ACTIVITY.CHECK_NO%TYPE,
oca IN WAREHOUSE.BANK_STATEMENT_ACTIVITY.AMOUNT%TYPE,
ecn IN WAREHOUSE.BANK_STATEMENT_ACTIVITY.CHECK_NO%TYPE,
eca IN WAREHOUSE.BANK_STATEMENT_ACTIVITY.AMOUNT%TYPE,
usr IN WAREHOUSE.BANK_STATEMENT_ACTIVITY.OVERRIDDEN_USER_ID%TYPE,
errCode OUT NUMBER )
AS
BEGIN
Initialize( ocn, oca, ecn, eca, usr );
DBMS_OUTPUT.PUT_LINE('ocn: ' || ocn || CHR(10) ||
'oca: ' || oca || CHR(10) ||
'ecn: ' || ecn || CHR(10) ||
'eca: ' || eca || CHR(10) ||
'usr: ' || usr);
IF IsValid( bsa_rec.CHECK_NO, errCode ) THEN UpdateProc;
--DBMS_OUTPUT.PUT_LINE('errCode: ' || errCode);
END IF;
END DoProcess;
C#
public Int32 BankDataExceptionsDoProcess(string ckNo, string ckAmt, string checkNo, string checkAmt, string user)
{
Int32 errCode = 0;
ckNo = ckNo.Trim();
double dblCkAmt = double.Parse(ckAmt.Trim());
checkNo = checkNo.Trim();
double dblCheckAmt = double.Parse(checkAmt.Trim());
int uid = int.Parse(user);
object obj = null;
if (DBC == null)
DBC = new DBConn();
DBC.ExecutePackage(Vars.pkgBankDataExceptions,
out obj,
new ParameterDirection[] { ParameterDirection.Input,
ParameterDirection.Input,
ParameterDirection.Input,
ParameterDirection.Input,
ParameterDirection.Input,
ParameterDirection.Output },
new object[] { ckNo, dblCkAmt, checkNo, dblCheckAmt, uid, errCode }
);
return errCode;
}
【问题讨论】:
标签: c# asp.net plsql oracle11g