这个存储过程名称是getLists,
在pl/sql 调用是:
variable rc2 refcursor
exec getLists(:rc2)
结果是正常的但是我用C#程序调用
string sql = "EIP_DWH.getExecCompGlobalPersonIDList";
OracleParameter par = new OracleParameter(":rc2 ", OracleType.Cursor);
这个异常详细是:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GETEXECCOMPGLOBALPERSONIDLIST'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
解决方案 »
- 跪求如何动态修改hibernate.cfg.xml的文件
- ZedGraph如何实现鼠标单击事件,急急急
- richrextbox中英文字体问题
- c#中如何用代码编译引用的com?
- 初学C#,请教各位大侠,小弟在线等!
- 一个Windows窗体应用程序中登陆的一个问题
- 关于System.Diagnostics.Process的高级问题
- 求C#入门书籍(最好是中文版,带较详细的例子)
- app.config里配置成gb2312,http头有中文还是乱码,http头如下
- 关于DataView的问题,请教
- 弹出提示窗口(显示在最前面,但不影响原窗口的焦点,即焦点不发生转移,除非鼠标移到窗口上时)
- “取消”按钮关闭对话框的问题
在pl/sql 调用是:
variable rc2 refcursor
exec getLists(:rc2)
结果是正常的 但是我用C#程序调用
string sql = "Test.getLists";
OracleParameter par = new OracleParameter(":rc2 ", OracleType.Cursor); 这个异常详细是:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GETLISTS'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored 本人对Oracle不熟悉 请高手指点一下,谢谢。
OracleParameter par = new OracleParameter();
par.OracleDbType = OracleDbType.RefCursor;
cmd.Parameters.Add(par );
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
Private Sub Exec_Proc(ByVal proc_name As String, ByVal location_id As String, ByVal d1 As String, ByVal d2 As String)
Dim conn As New OracleConnection(GetOraDB(location_id))
Try
conn.Open()
Dim cmd As New OracleCommand
cmd.Connection = conn cmd.CommandText = proc_name
cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add(New OracleParameter(d1, OracleType.Char))
cmd.Parameters.Add(New OracleParameter(d2, OracleType.Char)) cmd.ExecuteNonQuery()
Catch ex As Exception
WRLog(ex, location_id)
End Try
End Sub
OracleParameter par = new OracleParameter();
par.OracleDbType = OracleDbType.RefCursor;
cmd.Parameters.Add(par );
我用的是System.Data.OracleClient,我觉得是不是在定义refcursor的时候不正确呀!
说的就是System.Data.OracleClient。
Oracle执行普通的Sql语句时参数名是加“:”前缀的,但是存储过程不能加。
OracleParameter par = new OracleParameter("rc2 ", OracleType.Cursor);
But still throw the same exception, how to solve it? please
The exception as following:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GETLISTS'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored