Вы преобразование CLOB в строка описания. В строке в SQL содержится не более 4000 символов, поэтому вам нужно взять подстроку CLOB, если вы хотите поместить ее в символ.
Самый простой способ сделать это - использовать DBMS_LOB.SUBSTR
.
Не похоже, что simple.data.oracle
поддерживает CLOB изначально; если вы посмотрите на the code for the DBTypeConverter
class словарь отображает CLOB в DBType.String
:
{"CLOB", DbType.String},
Это несмотря на the documentation linked in the comments что указывает, что он должен быть отображен в DBType.Object
. Хотя сопоставления очень незначительно изменились в 11.2 documentation, CLOB все еще является объектом.
Я не знаю причины для принятия решения о том, что CLOB является строкой, но как я вижу у вас есть несколько вариантов:
- Raise отчет об ошибке на GitHub и быть готовым сказали, что это не Жук.
- Вытяните версию и измените ее самостоятельно - будьте предупреждены, что, поскольку предполагается, что CLOB является строкой, может быть сделано много изменений.
- Используйте
DBMS_LOB.SUBSTR
и «кусок» CLOB в столько строк, сколько требуется, используя параметр смещения.
Спасибо Бен, но я хочу вставить все значение, взятое подстрокой, не будет полезно в моем случае. Это их способ объявить параметр типа CLOB в Simple.Data.Oracle? –