Вставка массива OracleClob - PullRequest
0 голосов
/ 12 июня 2018

Для моего .NET-проекта мне действительно нужно иметь возможность вставлять массив Clob в Oracle Db, используя библиотеку Oracle.ManagedDataAccess.

byte[] newval = System.Text.Encoding.Unicode.GetBytes("Testyy");
                    var clob = new OracleClob(connection);
                    var clobList = new List<OracleClob>() { clob, clob };
                    clob.Write(newval, 0, newval.Length);

                    var longText = new OracleParameter
                    {
                        ParameterName = "p_tc_long_text",
                        OracleDbType = OracleDbType.Clob,
                        CollectionType = OracleCollectionType.PLSQLAssociativeArray,
                        Value = clobList.ToArray(),
                        Size = clobList.Count,
                    };

                    command.Parameters.Add(longText);

После выполнения команды я получаю OracleОшибка:

ORA-03120: процедура преобразования двух задач: целочисленное переполнение.

1 Ответ

0 голосов
/ 13 июня 2018

Не поддерживается

ODP.NET поддерживает параметры привязки ассоциативных массивов PL / SQL, которые содержат следующие типы данных.

  • BINARY_FLOAT
  • CHAR
  • ДАТА
  • NCHAR
  • НОМЕР
  • NVARCHAR2
  • RAW
  • ROWID
  • UROWID
  • VARCHAR2
...