Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
如何使用ODP.NET和数据集调用Oracle函数来插入数据?(具体示例)_Oracle_Odp.net_Stored Functions - Fatal编程技术网

如何使用ODP.NET和数据集调用Oracle函数来插入数据?(具体示例)

如何使用ODP.NET和数据集调用Oracle函数来插入数据?(具体示例),oracle,odp.net,stored-functions,Oracle,Odp.net,Stored Functions,我们在这一点上真的迷路了,阅读了ODP.NET 2天+开发者指南并没有帮助。我已经提供了函数定义(存储在一个包中),我不知道我们必须将数据集转换到什么,或者传递什么函数。以下是函数定义: FUNCTION ins ( rec_data IN OUT schema.table%ROWTYPE, p_rowid OUT ROWID, p_execution_ts IN schema.table.update_ts%TYPE) RETURN NUMBER 以下是我们所做的(没有任何作用): 我知道这

我们在这一点上真的迷路了,阅读了ODP.NET 2天+开发者指南并没有帮助。我已经提供了函数定义(存储在一个包中),我不知道我们必须将数据集转换到什么,或者传递什么函数。以下是函数定义:

FUNCTION ins (
rec_data IN OUT schema.table%ROWTYPE,
p_rowid OUT ROWID,
p_execution_ts IN schema.table.update_ts%TYPE)
RETURN NUMBER
以下是我们所做的(没有任何作用):

我知道这是一个非常具体的问题,但我真的迷路了。让我们假设Oracle函数ins起作用(它起作用),在本例中,我们不知道如何使用ODP.NET正确调用它

非常感谢你的帮助

编辑:以下是错误消息:

ORA-06550:第1行第15列: PLS-00306:调用“INS”时参数的数量或类型错误 ORA-06550:第1行第7列: PL/SQL:忽略语句

亲切问候,, 河豚

也许这会有帮助:

我在寻找同样的答案,我想我找到了一些东西。第二行有一个输出变量的示例

objCmd.Parameters.Add("pin_deptno", OracleType.Number).Value = 20;
objCmd.Parameters.Add("pout_count", OracleType.Number).Direction = ParameterDirection.Output;
希望链接会有任何好处


您好,M

一切看起来都很好。但您必须检查所有属性名称和属性类型

在您的示例中,数据类型OracleDbType.Varchar2不正确,因为您的函数返回编号(在Oracle函数定义中)

OracleParameter outParam2=新的OracleParameter(“retVal”),OracleDbType.Varchar2,rtnVal, 参数方向。返回值)

insCmd.Parameters.Add(输出参数2)//返回值


你能公布你收到的错误吗?
objCmd.Parameters.Add("pin_deptno", OracleType.Number).Value = 20;
objCmd.Parameters.Add("pout_count", OracleType.Number).Direction = ParameterDirection.Output;