请问.net执行oralce存储过程时候,显示错误 (解决马上结帐)
错误为:
ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PROC_AA' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PROC_AA' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored
源错误:
行 86: command.Parameters.Add(parameter_name);
行 87: conn.Open();
行 88: command.ExecuteNonQuery();
行 89: conn.Close();
行 90: this.show();
我的代码为:
private void Button1_Click(object sender, System.EventArgs e)
{
string connstr="Data Source=orcl_linxin-peng;User ID=user_f;Password=user_f";
OracleConnection conn=new OracleConnection(connstr);
OracleCommand command=conn.CreateCommand();
command.CommandText="proc_aa";
command.CommandType=CommandType.StoredProcedure;
OracleParameter parameter_id= new OracleParameter("cvid",OracleType.VarChar,10);
parameter_id.Direction=ParameterDirection.Input;
parameter_id.Value=txt_id.Text;
command.Parameters.Add(parameter_id);
OracleParameter parameter_name= new OracleParameter("cname",OracleType.VarChar,10);
parameter_name.Direction=ParameterDirection.Input;
parameter_name.Value=txt_xml.Text;
command.Parameters.Add(parameter_name);
conn.Open();
command.ExecuteNonQuery();
conn.Close();
this.show();
}
问题点数:40、回复次数:9Top
1 楼tujinshan1111(笨小孩)回复于 2006-03-15 14:15:06 得分 0
急啊!Top
2 楼tujinshan1111(笨小孩)回复于 2006-03-15 14:29:56 得分 0
这个分数没有人要吗 ?Top
3 楼The123(Shall We Dance? :))回复于 2006-03-15 14:32:57 得分 0
你的存储过程是怎么声明的啊?贴出来看看Top
4 楼tujinshan1111(笨小孩)回复于 2006-03-15 14:36:23 得分 0
create or replace procedure proc_aa
(v_id in varchar2,
v_name in varchar2)
as
begin
insert into aa (vid,name) values(v_id,v_name);
end;Top
5 楼weier515(不再流泪)回复于 2006-03-15 14:46:46 得分 0
是不是参数和表结构的数据类型不一致啊
Top
6 楼tujinshan1111(笨小孩)回复于 2006-03-15 15:55:28 得分 0
我是这样写的
create table aa(vid varchar(10),name varchar(10))Top
7 楼tujinshan1111(笨小孩)回复于 2006-03-15 16:08:20 得分 0
或者给我一个完整的能运行通过的,用.net调oralce 10G存储过程的代码,要完整的,我也结帐!Top
8 楼coolbel2000(灰色理想)回复于 2006-03-15 16:12:43 得分 10
注意检查一下.net里的参数要和存储过程中的参数一样!!!!!
Top
9 楼fangxinggood(JustACoder)回复于 2006-03-15 16:38:48 得分 30
同意楼上,参数名要和存储过程里的定义一致。
http://blog.csdn.net/fangxinggood/archive/2005/10/17/507989.aspxTop




