OracleCommand не принимает ДЛИННЫЕ типы данных на ExecuteReader

У меня есть запрос выбора, который извлекает значение типа данных LONG. Выполнение SQL Developer извлекает данные, но OracleCommand не извлекает значение. Вместо этого он возвращает пустые строки, хотя я знаю, что значения существуют в базе данных.

Есть ли способ преобразовать тип LONG в VARCHAR2? Значения, хранящиеся в этом поле, представляют собой обычный текст? Также я делаю только SELECT на столе.

SELECT REQ_COL FROM TEST_TABLE

Я пробовал TO_CHAR, но это не сработало.

ПРИМЕЧАНИЕ. Это база данных поставщика, которую я не могу контролировать, изменяя типы данных столбцов. Я только читаю данные из базы данных.


person h-rai    schedule 15.07.2016    source источник
comment
Что такое OracleCommand?   -  person user272735    schedule 15.07.2016
comment
oracle-developer.net/display.php?id=430   -  person Mottor    schedule 15.07.2016
comment
Возможный дубликат Oracle: LONG или CLOB?   -  person J. Chomel    schedule 15.07.2016
comment
Я погуглил OracleCommand и ExecuteReader, и, по-видимому, они являются частью Microsoft .Net framework.   -  person William Robertson    schedule 15.07.2016
comment
Фактически дубликат этого (с более полным ответом): C # - Как получить значение необработанного типа Oracle Long   -  person shindigo    schedule 29.07.2016


Ответы (1)


Я столкнулся с этой же проблемой при запросе SYS.DBA_TRIGGERS. Я обнаружил, что установка cmd.InitialLONGFetchSize = -1 решает эту проблему.

person shindigo    schedule 28.07.2016