.net NET将大字节数组传递给接受blob的PL/SQL存储过程

.net NET将大字节数组传递给接受blob的PL/SQL存储过程,.net,oracle,plsql,blob,odp.net,.net,Oracle,Plsql,Blob,Odp.net,我有一个PL/SQL存储过程接受BLOB参数(以及其他参数),并将BLOB插入表中。如何将大(1MB及以上)字节数组从.NET传递到存储过程。当您设置SP查询(准备就绪)时,请将参数的数据类型设置为OracleDbType.Blob OracleParameter p = query.CreateParameter(); p.OracleDbType = OracleDbType.Blob; p.Direction = ParameterDirection.Input; 然后在运行查询之前,只

我有一个PL/SQL存储过程接受BLOB参数(以及其他参数),并将BLOB插入表中。如何将大(1MB及以上)字节数组从.NET传递到存储过程。

当您设置SP查询(准备就绪)时,请将参数的数据类型设置为
OracleDbType.Blob

OracleParameter p = query.CreateParameter();
p.OracleDbType = OracleDbType.Blob;
p.Direction = ParameterDirection.Input;

然后在运行查询之前,只需将参数的值设置为您提到的大BLOB。

从Oracle 11.2/ODP.Net v2.112.1.2开始,您不能传递
BLOB
的数组。发件人:

…ODP.NET支持PL/SQL关联数组的绑定参数 其中包含以下数据类型

  BINARY_FLOAT
  CHAR
  DATE
  NCHAR
  NUMBER
  NVARCHAR2
  RAW
  ROWID
  UROWID
  VARCHAR2   
将不支持的数据类型与关联数组一起使用可能会导致ORA-600错误

也请注意: