У меня есть приложение MS Access, которое связывается с базой данных SQL Server 2008 для всех своих данных. В течение многих лет он работал нормально, когда SQL Server был установлен на Win2008 Standard 64-bit SP2 и SQL Server 2008 v10.0.4. Недавно я переместил внутреннюю базу данных SQL на новый сервер (64-разрядная версия Win2008 R2 Standard и SQL v10.50.1600). После переезда все в приложении работало нормально, как и ожидалось, никаких проблем. Однако у нас есть процесс на конец месяца, который генерирует относительно большие отчеты (300-500 страниц), в которых обнаружена проблема, которую мы обычно не видим в нашей повседневной обработке.
Мой отчет основан на сквозном запросе. Запрос выполняется практически мгновенно и выдает 8000 строк. Я могу просмотреть запрос и быстро перейти к концу RS, чтобы увидеть 8000-ю строку. Нет проблем. Если я получу отчет, основанный на этом запросе, то у меня будет 350 страниц, и я могу без проблем перемещаться по отчету по страницам. Я даже могу напечатать номер страницы и без проблем перейти на страницу 50, 100, 150 и т. Д. Обратите внимание, что в отчете не происходит обработки / кода / логики для каких-либо инициированных событий - только отображение и форматирование данных.
ЗДЕСЬ, ГДЕ ПРОБЛЕМА ПРОИСХОДИТ: Если я предварительно просмотрю отчет и попытаюсь перейти на последнюю страницу с первой страницы, он некоторое время будет сидеть и думать (точнее 38 секунд), а затем выбрасывать Ошибка # 3151 Сбой соединения ODBC с [DNS-именем].
Если я просто обновлю строку подключения в сквозном запросе, чтобы указать ее обратно на «старый» SQL Server, и запустил ту же самую вещь, она работает просто отлично. Я попытался настроить строку подключения, чтобы использовать IP-адрес вместо DNS-имени, не повезло. Это процесс, который работал годами без проблем, поэтому я знаю, что логика на стороне клиента разумна.
Есть мысли или предложения?