XE, DELPHI, Type mismatch

Marriage
Дата: 03.12.2009 15:06:59
Есть приклада для Oracle10g. на ей все работает, перенесли базу на ХЕ стала вылетать ошибка
odsGrid: Type mismatch for field 'FC_NAME', expecting: String actual: WideString.
Исходников этой приклады нет. Возможно ли решить проблему на уровне базы ?
Babe_Vampire
Дата: 03.12.2009 15:23:43
Как переносили? Параметры NLS для "старой" и "новой" баз одинаковые (нет преобразования в кодировку с большей битностью)?
Marriage
Дата: 03.12.2009 15:27:40
"(нет преобразования в кодировку с большей битностью)?" - есть (UTF16)
"Как переносили?" - дампом. Слил expdp залил impdp
"Параметры NLS для "старой" и "новой" баз одинаковые"
Старая AMERICAN_CIS, новая RUSSIAN_RUSSIAN
Babe_Vampire
Дата: 03.12.2009 15:43:35
Можно конечно попробовать урезать со стороны базы все varchar2 поля до 127, и в запросах делать явный каст. Тогда теоретически воспримется как String.
----
Oracle 11.1.0.7 - 64bit - SLES10
Dimitry Sibiryakov
Дата: 03.12.2009 16:10:13

Marriage
есть (UTF16)

Ну и что же вы хотите? Оракул даёт WideString, приложение ожидает
String. О чём и написано в сообщении об ошибке. Чёрным по белому.
Меняйте на однобитную кодировку.

Posted via ActualForum NNTP Server 1.4

Marriage
Дата: 03.12.2009 17:24:16
Dimitry Sibiryakov

Marriage
есть (UTF16)

Ну и что же вы хотите? Оракул даёт WideString, приложение ожидает
String. О чём и написано в сообщении об ошибке. Чёрным по белому.
Меняйте на однобитную кодировку.

alter system set nls_length_semantics='BYTE'||'CHAR' не помогает и тот и другой вариант
Dimitry Sibiryakov
Дата: 03.12.2009 17:32:45

Marriage

alter system set nls_length_semantics='BYTE'||'CHAR' не помогает и тот и
другой вариант

И не должно ибо не имеет отношения к кодировке. Меняйте NLS_LANG на клиенте.

Posted via ActualForum NNTP Server 1.4