Value length exceeds the parameter size (Devart.Data.Oracle)

Обсуждение Stimulsoft Reports.NET
Ответить
Аватара пользователя
t0pdevice
Сообщения: 100
Зарегистрирован: 15 авг 2016, 09:59

Value length exceeds the parameter size (Devart.Data.Oracle)

Сообщение t0pdevice »

Ошибка при попытке выполнить функцию в Oracle через dotConnect for Oracle от Devart.
Функция имеет входной параметр типа varchar2, при выполнении запроса напрямую в базу через другой софт с такими же входными параметрами проблем нету.
На вход передаётся около 3150 байт.

Проблема на стороне Devart или Stimulsoft неправильно передает параметр?

Код: Выделить всё

Message:     Value length exceeds the parameter size
Source:      Devart.Data.Oracle
StackTrace:
   в Devart.Data.Oracle.OracleParameter.a(OracleDbType A_0, Object A_1, Object A_2, Byte[] A_3, Hashtable A_4, Int32 A_5, Int32 A_6, Int32 A_7, Int32 A_8, Int32 A_9, Boolean A_10, OracleConnection A_11, ParameterDirection A_12, OracleType A_13, b0 A_14, Boolean& A_15)
   в Devart.Data.Oracle.OracleParameter.a(b5& A_0, Boolean A_1, OracleConnection A_2, Byte[] A_3, Hashtable A_4, b0 A_5, Boolean& A_6, Int32 A_7)
   в Devart.Data.Oracle.OracleCommand.a(cr A_0, Int32 A_1, OracleParameterCollection A_2, b0 A_3, Boolean& A_4)
   в Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
   в Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
   в Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
   в System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   в Devart.Data.Oracle.OracleDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   в Stimulsoft.Report.Dictionary.StiDataAdapterHelper.Fill(StiDictionary dictionary, DbDataAdapter dataAdapter, DataTable dataTable, Boolean schemaOnly)
Aleksey
Сообщения: 2763
Зарегистрирован: 22 апр 2010, 06:57

Re: Value length exceeds the parameter size (Devart.Data.Ora

Сообщение Aleksey »

Здравствуйте,

По размеру должно проходить. Ответ на их форуме:
https://forums.devart.com/viewtopic.php?t=24226
The size of the VARCHAR2 parameter in Oracle can be up to 32KB (not more). You should use the CLOB data type for bigger data. Please use the dbMonitor tool that performs per-component tracing of database events such as commit, rollback, SQL statement execute etc to find out the data type of the parameter which is sent to server:
Download link: http://www.devart.com/dbmonitor/dbmon3.exe
Documentation: http://www.devart.com/dotconnect/oracle ... nitor.html

Спасибо.
Аватара пользователя
t0pdevice
Сообщения: 100
Зарегистрирован: 15 авг 2016, 09:59

Re: Value length exceeds the parameter size (Devart.Data.Ora

Сообщение t0pdevice »

Да, я видел эту тему.
Если выполнять запрос и передавать большую строку в функцию через PLSQL Developer, к примеру, все работает.
А через Stimulsoft такая ошибка.
Сейчас попробовал выполнить функцию с той же строкой в параметре не через Stimulsoft, а напрямую в приложении через Devart - ошибок не было.
Aleksey
Сообщения: 2763
Зарегистрирован: 22 апр 2010, 06:57

Re: Value length exceeds the parameter size (Devart.Data.Ora

Сообщение Aleksey »

Здравствуйте,

Необходимо некоторе время для анализа проблемы.

Спасибо.
Аватара пользователя
t0pdevice
Сообщения: 100
Зарегистрирован: 15 авг 2016, 09:59

Re: Value length exceeds the parameter size (Devart.Data.Ora

Сообщение t0pdevice »

Добрый день.
Не смотрели еще?
Aleksey
Сообщения: 2763
Зарегистрирован: 22 апр 2010, 06:57

Re: Value length exceeds the parameter size (Devart.Data.Ora

Сообщение Aleksey »

Здравствуйте,

Еще занимаемся данным вопросом.

Спасибо.
Аватара пользователя
t0pdevice
Сообщения: 100
Зарегистрирован: 15 авг 2016, 09:59

Re: Value length exceeds the parameter size (Devart.Data.Ora

Сообщение t0pdevice »

Обновился до последней версии 2018.2.2.0 и изменили в отчёте длину для параметра, после этого проблема ушла.
Изображение
Aleksey
Сообщения: 2763
Зарегистрирован: 22 апр 2010, 06:57

Re: Value length exceeds the parameter size (Devart.Data.Ora

Сообщение Aleksey »

Здравствуйте,

Спасибо за информацию.
Ответить