Как исправить ошибку: [BEA] [Драйвер JSBC SQLServer] Нет доступных данных для чтения - PullRequest
1 голос
/ 28 июля 2011

Мое java-приложение использует пул соединений с БД.Одна из функциональных возможностей сегодня перестала работать с этой ошибкой: [BEA] [Драйвер JSBC SQLServer] Нет доступных данных для чтения

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

Кто-нибудь сталкивался с этой ошибкой?Причины могут отличаться, но я хотел бы знать эти различные причины, чтобы смягчить мою проблему.

1 Ответ

1 голос
/ 28 июля 2011

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

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

Когда вы используете пул соединений, если вы получаете такой сбой, то все соединения в пуле становятся "устаревшими" или недействительными. Мой сервер приложений (WebSphere) имеет возможность отказаться от всего пула соединений после обнаружения определенных ошибок. В результате один неудачный запрос видит ошибку, но затем последующие запросы получают новое соединение и восстанавливаются. Если вы не сбросите весь пул, вы получите сбой, поскольку каждое устаревшее соединение используется и сбрасывается.

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

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