Я пытаюсь обновить столбец типа Oracle VARRAY из С#C#

Место общения программистов C#
Anonymous
Я пытаюсь обновить столбец типа Oracle VARRAY из С#

Сообщение Anonymous »

Я пытаюсь обновить столбец VARRAY в таблице Oracle с помощью Oracle.ManagedDataAccess.Client в C#
У меня есть следующий код:
OracleCommand cmd2 = new OracleCommand(
"update mytable set hcodes = :hcodes where ich = 'xxx'", ora);
cmd2.Parameters.Add(new OracleParameter{ParameterName = ":hcodes",UdtTypeName = "HCODE_ARRAY"});
cmd2.Prepare();
cmd2.Parameters[":hcodes"].Value = new string[] { "ABCD", "DEFG" };
cmd2.ExecuteNonQuery();

Когда я выполняю этот код, я получаю:

Oracle.ManagedDataAccess.Client.OracleException: 'ORA-00932: несовместимые типы данных: ожидаемый HCODE_ARRAY получил CHAR'

HCODE_ARRAY определяется как:
CREATE OR REPLACE TYPE HCODE_ARRAY
AS
VARRAY(5) of varchar2(4);
/

Вернуться в «C#»