Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用out参数执行Oracle过程_.net_Oracle_Stored Procedures - Fatal编程技术网

.net 使用out参数执行Oracle过程

.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,

我需要帮助调用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,
                            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
命令。这是基于我在这里读到的不同答案的一次尝试(猜测)。我应该怎么做?使用
参数。添加(“,)
并指定参数
方向。祝你好运