2009-07-14 2 views
0

У меня возникла интересная проблема с приложением, которое было перенесено с Oracle 9i на 10g.
Раньше у нас была проблема, когда поле содержало двойные кавычки, так как Oracle записывает инкапсулированные поля в двойные кавычки.Оказывает ли Oracle 10g двойные кавычки в наборах записей?

Пример: "поле1" || "поле2" || "поле "Y", 3" || "Field4"

После переезда в 10g, я считаю, что драйвер Oracle, на стороне клиента является разбор двойные кавычки и их замену "

К сожалению, у меня нет старой среды 9i для проверки моей теории.

Вы видели подобное поведение или можете ли кто-нибудь подтвердить, соответствует ли моя теория?

+0

Двойные кавычки используются Oracle для разграничения имен идентификаторов в запросе, например. ВЫБРАТЬ «EMPNO» из «EMP». Это выражение не является частью действительного SQL. С дополнительными пространствами для ясности: «field1» || "field2" || "поле" Y "3" || «field4» - чего-то не хватает. –

+0

То, что я опубликовал, является результатом запроса, который возвращается в наборе записей в VB. Я пытаюсь определить, избегает ли водитель двойных кавычек. Я не могу найти никаких доказательств того, что мой код приложения делает это. – bitstream

ответ

0

Это поведение отчуждения. Вы можете проверить свой NLS_xx environment variables? Некоторые переменные NLS_xx могут переводить символы, например, NLS_LANG может переводить acutes из латинской кодировки на клиенте на кодировку us2ascii на сервере.

Чтобы быть уверенным, что происходит, попробуйте trace Net connections. Вы увидите все, что движется от стороны к другому. Будьте осторожны ...

 Смежные вопросы

  • Нет связанных вопросов^_^