Сообщения об ошибках Oracle - PullRequest
4 голосов
/ 08 июля 2011

Мне интересно кое-что ... возможно ли настроить экземпляр Oracle 11 так, чтобы он не возвращал ORA - ?????? Сообщения об ошибках?

Я выдал много недопустимых запросов, где я неправильно написал имена столбцов, имена таблиц ... вещи, в которых я ожидал сообщение об ошибке ORA.

Скажем, в целях безопасности, скажите, если броузерная трассировка стека Java была открыта для браузера, вы могли бы заставить оракула всегда показывать одно и то же поддельное сообщение об ошибке в трассировке стека?

Я всегда получаю это: java.sql.SQLException: IO Error: Size Data Unit (SDU) mismatch

Я погуглил эту ошибку вверх и вниз, и у меня вообще нет проблем с подключением или настройкой базы данных! Я получаю его на основе запроса.

Ответы [ 4 ]

4 голосов
/ 23 июля 2013

Не прямое решение, но у меня была та же проблема с несоответствием SDU, маскирующим реальную ошибку. Я нашел ссылку (http://www.rajivnarula.com/blog/2013/03/13/table-not-found-or-error-not-found/), которая дала косвенный способ выявить ошибку:

Я попытался поменять драйвер JDBC на более старый ojdbc14.jar и вуаля ! Была выявлена ​​настоящая ошибка: старый добрый

ORA-00942 (таблица или представление не существует)

Как только я положил таблицу - все работает нормально - с ojdbc14.jar как хорошо ojdbc6.jar

Очевидно, что боль, но полезная, пока кто-то не опубликует способ получить основную ошибку с новым драйвером ...

2 голосов
/ 10 июля 2011

В основном ваши настройки неверны. На клиенте или на сервере, или на обоих, размер sdu был установлен, и они не совпадают между клиентом и сервером. Размер sdu может быть установлен на клиенте в

  • файл sqlnet.ora или
  • в дескрипторе соединения

На сервере это можно установить с помощью

  • в файле sqlnet.ora
  • Диспетчеры init.ora Параметр
  • или listener.ora файл.

Если вы все еще не уверены, отследите трафик tns, чтобы убедиться в этом. Отслеживание на стороне клиента можно включить, добавив следующие параметры в файл sqlnet.ora:

trace_level_client = 10
trace_unique_client = on
trace_file_client = sqlnet.trc
trace_directory_client = <path_to_trace_dir>

Настройки на стороне сервера можно включить с помощью следующих настроек:

trace_level_server = 10
trace_file_server = server.trc
trace_directory_server = <path_to_trace_dir>

Если уровень 10 недостаточен, установите уровень на 16. Это создаст файл трассировки, который вы сможете проанализировать.

1 голос
/ 26 июля 2012

Вы можете попробовать обновить драйвер JDBC Oracle 11g до версии более 11.2.0.3.0, как описано здесь

0 голосов
/ 24 апреля 2018

Существует еще один шанс, существует ли таблица в запросе в базе данных или нет.Проверьте имя таблицы в запросе или попытайтесь использовать Oracle Database с помощью драйвера mysql

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...