Здравствуйте, MaximG!
Обнаруженная ТС ошибка устойчиво воспроизводится во всех проектах нашей фирмы, использующих ODAC 9.7.28 в в Delphi XE. В используемых таблицах БД используется тип CHAR в CHAR-семантике, то есть
Предложенный workaround
Code: Select all
OraSession.Options.UseUnicode := True;
не удалось использовать, поскольку следствием включения этой опции TOraQuery требует использования TWideStringField вместо TStringField
К сожалению, в десятке затронутых ошибкой проектах имеется в общей сложности порядка полутора тысяч TOraQuery, уже использующих TStringField.
В какие ориентировочные сроки планируется пофиксить ошибку?
Существует ли альтерантивное решение проблемы? Что такое
Возникло интуитивное подозрение, что эта опция может иметь отношение к возможному workaroud. Однако описание в справке
Used to specify the size of a single character in bytes.
сложно назвать внятным. Помимо этого, во внутреннем представлении Oracle в кодировке AL32UTF8 ответ зависит от символа, например "U" представлен одним байтом, а "Ü" двумя байтами. По умолчанию занчение опции 0. Как поведет себя в этом случае ODAC, если указать 1 или 2 байта?
У нас вследствие данной проблемы срываются сроки выпуска релизов сразу для нескольких заказчиков. Потому с благодарностью приму любые подсказки и идеи.
С уважением
Sergiy Balter
Ukraine