Сбой ODBC-соединения с SQL Server 2008 через VPN

#sql-server #excel #odbc #vpn

#sql-сервер #excel #odbc #vpn

Вопрос:

У меня есть надстройка Excel, которая позволяет пользователям запускать запросы к базе данных SQL Server и возвращать результаты непосредственно в электронную таблицу. Это работает нормально.

Теперь в офисе-спутнике есть пользователь, который подключается к нашей сети (общий диск и т.д.) Через VPN-соединение. Когда он использует те же электронные таблицы, которые работают для всех в главном офисе, он выдает следующую ошибку:

[DBNETLIB] SQL Server не существует или доступ запрещен

Что действительно странно, так это то, что если вы запускаете отдельный запрос, он работает нормально, но кажется, что выполнение многих запросов подряд приводит к тому, что таблица портится. Это немного сложно диагностировать, поскольку надстройка Excel выполняет запросы внутри, возможно, многие из них. Моя теория заключается в том, что когда сервер БД видит множество последовательных запросов, поступающих с IP-адреса, находящегося за пределами сети, наступает момент, когда он отказывается возвращать больше данных.

Есть ли какая-либо достоверность моей теории? Могу ли я внести изменения в конфигурацию базы данных, которые позволят удаленным подключениям ODBC работать нормально?

Комментарии:

1. В случае, если вам интересно, проблема в том, что я создавал курсор на стороне сервера, и время ожидания запросов всегда истекало, поскольку вам приходилось оплачивать сетевое подключение в оба конца для каждой ячейки в результирующем наборе. Он начал нормально работать, когда я переключился на курсор на стороне клиента. Все это с использованием ADO. Я нахожусь в процессе переключения на SQLApi .

2. Не могли бы вы изменить это на ответ, пожалуйста?

Ответ №1:

В случае, если вам интересно, проблема в том, что я создавал курсор на стороне сервера, и время ожидания запросов всегда истекало, поскольку вам приходилось оплачивать сетевое подключение в оба конца для каждой ячейки в результирующем наборе. Он начал нормально работать, когда я переключился на курсор на стороне клиента. Все это с использованием ADO. Я нахожусь в процессе переключения на SQLApi