I'm having an issue executing an Oracle query via .NET. I'm quite new to calling Oracle commands from .Net, (i'm coming from a mySQL background) so any help is much appreciated!
I first build a query string...
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;
I then add my parameters...
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()
On the ExecuteNonQuery() call I get an exception... ORA-01036: illegal variable name/number
The definition for the procedure
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 and pDateTimeOn are mandatory.
I could be wrong, because it's been a while since I had Oracle inflicted upon me, but...
pErrorCode should be :pErrorCode
Same issue with :pErrorInfo?
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.