Parameters VARCHAR2 Oracle odp.net表的输出参数
我有这种类型:Parameters VARCHAR2 Oracle odp.net表的输出参数,parameters,odp.net,Parameters,Odp.net,我有这种类型: TYPE tipo_TableVarchar2 IS TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER; 并且过程获取数组(p\u arrout TableVarchar2)是 OracleParameter param = new OracleParameter(); param.OracleDbType = OracleDbType.Varchar2; param.CollectionType = OracleCollectio
TYPE tipo_TableVarchar2 IS TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER;
并且过程获取数组(p\u arrout TableVarchar2)
是
OracleParameter param = new OracleParameter();
param.OracleDbType = OracleDbType.Varchar2;
param.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
param.ParameterDirection = ParameterDirection.Output;
cm.Parameters.Add(param);
如何使用OracleParameter的输出来获取值?查看Oracle 11g odp.net驱动程序,它允许您传递Oracle类型。 Oracle网站上以及您的11g主页的安装目录中都有一些示例。。。 C:\Oracle\Ora11g\u Home\odp.net\samples\2.x\UDT 在这个示例中,我不得不撤回一个对象类型 你会有这样的东西
OracleParameter p_params = new OracleParameter();
p_params.ParameterName = "params";
p_params.OracleDbType = OracleDbType.Object;
p_params.Direction = ParameterDirection.InputOutput;
// Note: The UdtTypeName is case-senstive
p_params.UdtTypeName = "SCHEMA_NAME.TYPE_NAME";
您还需要一个定义类型的类。
搜索“OracleObjectMappingAttribute”和“IOracleCustomTypeFactory”
旁注-我正在使用11g odp.net驱动程序访问10g数据库。您只需要在项目中引用以下.dll:oci.dll、oraociicus11.dll和OraOps11w.dll。您应该已经在引用Oracle.DataAccess.dll(请确保您开始使用11g版本)。查看Oracle 11g odp.net驱动程序,它允许您传递Oracle类型。 Oracle网站上以及您的11g主页的安装目录中都有一些示例。。。 C:\Oracle\Ora11g\u Home\odp.net\samples\2.x\UDT 在这个示例中,我不得不撤回一个对象类型 你会有这样的东西
OracleParameter p_params = new OracleParameter();
p_params.ParameterName = "params";
p_params.OracleDbType = OracleDbType.Object;
p_params.Direction = ParameterDirection.InputOutput;
// Note: The UdtTypeName is case-senstive
p_params.UdtTypeName = "SCHEMA_NAME.TYPE_NAME";
您还需要一个定义类型的类。
搜索“OracleObjectMappingAttribute”和“IOracleCustomTypeFactory”
旁注-我正在使用11g odp.net驱动程序访问10g数据库。您只需要在项目中引用以下.dll:oci.dll、oraociicus11.dll和OraOps11w.dll。您应该已经在引用Oracle.DataAccess.dll(请确保您开始使用11g版本)。这是一个有点老的问题,但实际上,在这里,精确执行此操作的所有复杂性这是一个有点老的问题,但实际上,在这里,精确执行此操作的所有复杂性都是