C# Webservice调用oracle存储过程

GeneralMonkey 2015-10-28 03:08:55

C# Webservice方法
public int InsertToDataBase(string CorporationName, string DriverID, string DriverName, string FingerPrint)
{
int retCode = 0;
string sql_string = "PRC_TEST";
OracleConnection connect = new OracleConnection(connect_string);


OracleCommand command = new OracleCommand(sql_string, connect);
command.CommandType = CommandType.StoredProcedure;

OracleParameter parm1 = new OracleParameter();
OracleParameter parm2 = new OracleParameter();
OracleParameter parm3 = new OracleParameter();
OracleParameter parm4 = new OracleParameter();
OracleParameter parm5 = new OracleParameter();
//in
parm1 = new OracleParameter("CorporationName", OracleType.NVarChar, 100);
parm2 = new OracleParameter("DriverID", OracleType.NVarChar, 50);
parm3 = new OracleParameter("DriverName", OracleType.NVarChar, 20);
parm4 = new OracleParameter("FingerPrint", OracleType.NVarChar, 1024);
//out
parm5 = new OracleParameter("retCode", OracleType.Number, 9);

parm1.Direction = ParameterDirection.Input;
parm2.Direction = ParameterDirection.Input;
parm3.Direction = ParameterDirection.Input;
parm4.Direction = ParameterDirection.Input;

parm5.Direction = ParameterDirection.Output;

parm1.Value = CorporationName;
parm2.Value = DriverID;
parm3.Value = DriverName;
parm4.Value = FingerPrint;
parm5.Value = retCode;

connect.Open();
command.ExecuteNonQuery();

retCode = Convert.ToInt32(parm5.Value);
return retCode;
}

存储过程
create or replace procedure PRC_TEST(
CorporationName in nvarchar2,
DriverID in nvarchar2,
DriverName in nvarchar2,
FingerPrint in nvarchar2,
retCode out number
)
is
v_sql number;
begin
insert into FingerPrint(id,staffid) values(CRANE_FINGERPRINT_SEQ.NEXTVAL, DriverID);
commit;

retCode := 500;
end PRC_TEST;

调试出现问题:
System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'PRC_TEST' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored

各位帮忙看看 谢谢
...全文
226 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
slwsss 2015-10-28
  • 打赏
  • 举报
回复
command .Parameters.Add(parm1); command .Parameters.Add(parm2); 。。。。。

10,607

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧