【发布时间】:2011-09-06 03:30:33
【问题描述】:
我的程序在这里声明:
create or replace
PACKAGE MYPKG
IS
PROCEDURE MYPROCEDURE(
sNom IN VARCHAR2,
sValeur OUT VARCHAR2,
sCommentaire OUT VARCHAR2,
sRetour OUT VARCHAR2,
sMsgRetour OUT VARCHAR2);
END;
使用 SQL Developer 执行正常。
我尝试在 C# 中执行此过程:
OracleCommand cmd = new OracleCommand("MYPKG.MYPROCEDURE", OraCon);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter name = new OracleParameter("sNom", OracleType.VarChar);
name.Value = "CG";
cmd.Parameters.Add(name);
OracleParameter valeur = new OracleParameter("sValeur", OracleType.VarChar);
cmd.Parameters.Add(valeur);
OracleParameter commentaire = new OracleParameter("sCommentaire", OracleType.VarChar);
cmd.Parameters.Add(commentaire);
OracleParameter retour = new OracleParameter("sRetour", OracleType.VarChar);
cmd.Parameters.Add(retour);
OracleParameter msgRetour = new OracleParameter("sMsgRetour", OracleType.VarChar);
cmd.Parameters.Add(msgRetour);
using (OracleDataReader row = cmd.ExecuteReader())
{
while (row.Read())
{
Console.WriteLine(row.GetValue(0));
}
}
我有错误“错误的参数”。 PL/SQL过程如何执行?
【问题讨论】: