Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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
通过二进制#整数数据类型将varchar2(100)索引表作为c#.net中的参数调用oracle包函数_C#_Sql_Oracle_Package - Fatal编程技术网

通过二进制#整数数据类型将varchar2(100)索引表作为c#.net中的参数调用oracle包函数

通过二进制#整数数据类型将varchar2(100)索引表作为c#.net中的参数调用oracle包函数,c#,sql,oracle,package,C#,Sql,Oracle,Package,我正在从c#.net调用oracle包函数,但面临以下问题 Error : ORA-06550: line 1, column 15: PLS-00306: wrong number or types of arguments in call to 'MYFUNCTION' ORA-06550: line 1, column 7: PL/SQL: Statement ignored 我的职能是: function Myfunction(lines in t_line, brokerSeq in

我正在从c#.net调用oracle包函数,但面临以下问题

Error : ORA-06550: line 1, column 15:
PLS-00306: wrong number or types of arguments in call to 'MYFUNCTION'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
我的职能是:

function Myfunction(lines in t_line, brokerSeq in number, 
                    broker_code_in_file in varchar2, 
                    pb_pv_ind in varchar2)
第一个参数在同一个包中声明,如

类型t_行是由二进制_整数构成的varchar2(100)索引表


请帮忙。

我有一个例子,在VB.NET中,但我想你可以把它翻译成C:

你的C#call看起来怎么样?
Public Function GetObjects(ByVal lines As String()) As DataTable
   Dim cmd As OracleCommand
   Dim par As OracleParameter
   Dim da As OracleDataAdapter, dt As New DataTable

   cmd = New OracleCommand("BEGIN :res := Myfunction(:lines); END;", server.con)
   cmd.CommandType = CommandType.Text

   ' Return value
   cmd.Parameters.Add("res", OracleDbType.RefCursor, ParameterDirection.ReturnValue)

   par = cmd.Parameters.Add("lines", OracleDbType.Varchar2, ParameterDirection.Input)
   par.CollectionType = OracleCollectionType.PLSQLAssociativeArray
   par.Value = lines
   par.Size = lines.Length
   cmd.ExecuteNonQuery()

   da = New OracleDataAdapter(cmd)
   da.Fill(dt)
   Return dt

End Function