.net 使用out参数执行Oracle过程
我需要帮助调用Oracle DB中具有2个out参数的存储过程。我以前没有使用过参数,而且我对Oracle也不是很熟悉。从.net网页调用查询时出现以下错误: “ORA-00900:无效的SQL语句” 关于如何使用现有程序更新几个字段,我收到了以下说明:.net 使用out参数执行Oracle过程,.net,oracle,stored-procedures,.net,Oracle,Stored Procedures,我需要帮助调用Oracle DB中具有2个out参数的存储过程。我以前没有使用过参数,而且我对Oracle也不是很熟悉。从.net网页调用查询时出现以下错误: “ORA-00900:无效的SQL语句” 关于如何使用现有程序更新几个字段,我收到了以下说明: In the P_API_BO_Vehicle package: procedure ChangeLastMileage(pVehicleID T_FM_VEHICLE.F_VEH_ID%type,
In the P_API_BO_Vehicle package:
procedure ChangeLastMileage(pVehicleID T_FM_VEHICLE.F_VEH_ID%type,
pMileage T_FM_VEHICLE.F_VEH_LAST_MILE%type,
pDate T_FM_VEHICLE.F_VEH_LAST_DATE%type,
pErrorCode out binary_integer,
pErrorInfo out TErrorInfo);
因此,我尝试了以下查询字符串:
VAR pErrorCode binary_integer
VAR pErrorInfo TErrorInfo
EXEC P_API_BO_Vehicle.ChangeLastMileage(18391, 20000, '2014-04-28', pErrorCode, pErrorInfo);
但它给出了上面的错误。关于传入“Out”参数,我是否做错了什么?可能是PL/SQL begin。。端块可以帮你
declare
pErrorCode binary_integer;
pErrorInfo TErrorInfo;
begin
P_API_BO_Vehicle.ChangeLastMileage(18391, 20000, '2014-04-28', pErrorCode, pErrorInfo);
end;
/
或者你试着从C#Environment打电话给它?我设法让它工作,我想我会给出答案,因为任何人都有类似的问题
declare
pDate date;
pErrorCode binary_integer;
pErrorInfo varchar2(500);
begin
pDate := to_date('2014-04-28', 'YYYY-MM-DD');
P_API_BO_Vehicle.ChangeLastMileage(18391, 20000, pDate, pErrorCode, pErrorInfo);
end;
VAR
不支持用户定义的数据类型。这是一个SQL*Plus
命令。这是基于我在这里读到的不同答案的一次尝试(猜测)。我应该怎么做?使用参数。添加(“,)
并指定参数方向。祝你好运