簡體   English   中英

ora-01036使用VB.Net的非法變量名稱/編號ExecuteNonQuery調用

[英]ora-01036 illegal variable name/number ExecuteNonQuery call usingVB.Net

我在通過.NET執行Oracle查詢時遇到問題。 從.Net調用Oracle命令是我的新手(我來自mySQL背景),因此對您的幫助非常感謝!

我首先建立一個查詢字符串...

declare 
pDate date; 
pErrorCode binary_integer; 
pErrorInfo varchar2(500); 
begin 
date := to_date(:Date, 'YYYY-MM-DD'); 
AnUpdateRoutine(:VehicleID, :ContractID, :DriverID, :pDate, :pDriverContribution, pErrorCode, pErrorInfo); 
end;

然后添加我的參數...

cmd2.Parameters.Add(":VehicleID", OracleDbType.Int32).Value = CInt(HiddenField.Get("ID"))
cmd2.Parameters.Add(":ContractID", OracleDbType.Int32).Value = CInt(HiddenField.Get("ContractID"))
cmd2.Parameters.Add(":DriverID", OracleDbType.Int32).Value = CInt(cbCurrentDriver.Value)
cmd2.Parameters.Add(":pDate", OracleDbType.Date).Value = Date.Now()
cmd2.Parameters.Add(":pDriverContribution", OracleDbType.NVarchar2).Value = DBNull.Value
cmd2.Parameters.Add("pErrorCode", OracleDbType.NVarchar2).Value = 0
cmd2.Parameters.Add("pErrorInfo", OracleDbType.NVarchar2).Value = 0
cmd2.ExecuteNonQuery()

在ExecuteNonQuery()調用上,我得到一個異常... ORA-01036:非法的變量名稱/編號

程序的定義

procedure AnUpdateRoutine(pVehicleID in T_FM_VEHICLE.F_VEH_ID%type,
                              pContractID in T_FM_CONTRACT.F_CON_ID%type,
                              pDriverID in T_FM_DRIVER.F_DVR_ID%type,
                              pDateTimeOn in date,
                              pDriverContribution in T_FM_DRIVER_CHG.F_DCH_DVR_CONTRIBUTION%type,
                              pErrorCode out binary_integer,
                              pErrorInfo out TErrorInfo);

pVehicleID,pContractID,pDriverID和pDateTimeOn是必需的。

我可能是錯的,因為距我受到甲骨文影響已經有一段時間了,但是...

pErrorCode應該是:pErrorCode

:pErrorInfo同樣的問題?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM