Очень медленное соединение DB2 в Java - PullRequest
2 голосов
/ 02 сентября 2010

Я пытаюсь подключиться к базе данных IBM DB2 9 на сервере Linux из моего приложения Java. Я использую db2jcc.jar (универсальный драйвер JDBC DB2).

Установление связи занимает смешное количество времени. Что может быть не так? Я знаю, что это может быть вызвано множеством факторов, но я хочу перейти к основной причине.

Ответы [ 4 ]

1 голос
/ 02 сентября 2010

Проверьте правильность конфигурации DNS на 100%.

1 голос
/ 02 сентября 2010

Прежде всего, я попытался бы поднять уровень журнала на драйвере для отладки или даже трассировки.Это может дать вам простой способ увидеть, где он висит, при попытке завершить соединение.Вы используете log4j?

0 голосов
/ 23 июня 2014

Это происходит из-за того, что драйвер выполняет обратный поиск IP-адреса для разрешения имени хоста. Простое решение - добавить сервер и имя хоста в файл System32 \ drivers \ etc \ hosts (если вы работаете в windows), затем используйте имя хоста, которое вы только что сопоставили.Например,

% WINDOWS% System32 \ drivers \ etc \ hosts

128.0.0.200 DB_SERVER

затем в вашем приложении:

jdbc: db2: //DB_SERVER: 55701 / SCHEMA_NAME

0 голосов
/ 02 сентября 2010

Установите трассировку на клиенте и на стороне сервера.Это должно позволить вам различать следующие возможные проблемы:

  • медленная реализация драйвера (получает ответ, но долго не отвечает)
  • медленная сеть (обходна обоих концах работает быстро, но с большими перерывами между ними
  • база данных медленно реагирует (так же, как первая, но на стороне сервера)взад и вперед

Как только вы нашли проблему, вам придется копать глубже, чтобы понять, почему это так.

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