Немного фона:
У меня есть приложение Windows .NET, которое используется примерно 40 сотрудниками на местах в Северной Америке. Эта программа позволяет пользователям вводить данные, находясь в поле (без доступа к Интернету), а затем синхронизировать их с нашей базой данных Sql Server 2005 ночью. Пару дней назад двое из моих пользователей сообщили о получении следующей ошибки, когда они выполнили действие, которое попыталось бы подключиться к нашей базе данных сервера (которая использует класс .NET SqlConnection).
System.Data.SqlClient.SqlException: A
связанный с сетью или конкретный экземпляр
произошла ошибка при установлении
подключение к SQL Server. Сервер
не был найден или не был доступен.
Убедитесь, что имя экземпляра
правильно и что SQL Server
настроен для разрешения удаленного
соединения. (поставщик: именованные трубы
Поставщик, ошибка: 40 - Не удалось открыть
подключение к SQL Server)
Наши полевые сотрудники обычно работают в гостиничном Wi-Fi-соединении, и сначала я подумал, что они оба случайно попали в «неработающую» сеть в один и тот же день. На следующий день, переехав в разные отели, проблема исчезла у одного из этих пользователей, но осталась у другого.
Помимо предоставления сообщения об ошибке, целью этого фона является указать, что
- Впервые эта проблема возникла за год использования этого программного обеспечения, а
- У большинства наших пользователей нет проблем с подключением к нашей базе данных сервера с помощью того же программного обеспечения.
Это заставляет меня стесняться думать, что проблема на сервере (большинство форумов и блогов, которые я читал об этой ошибке, предоставляют шаги для обеспечения правильной настройки SQL Server).
Заметив часть поставщика именованных каналов *1022* в сообщении об ошибке, я догадался, что, возможно, компьютер или сеть этого пользователя вызывали попытку подключения через каналы, а не через TCP, поэтому я попытался настроить сервер так, чтобы ОБА TCP / IP и Именованные каналы для удаленных подключений, где ранее был установлен только TCP / IP. Ошибка продолжилась для этого пользователя после изменения этого параметра.
Так что теперь у меня остался мозговой штурм о том, что может быть особенного в этом подключении компьютера / программного обеспечения / интернета этого пользователя, что помешало бы ему иметь возможность подключения к нашему SQL Server.
Наша строка подключения использует URL-адрес нашего сервера (не IP-адрес), и я подумал, не было ли у его ноутбука проблем с поиском по этому адресу. Однако он смог зайти на веб-сайт, размещенный по тому же URL-адресу, поэтому, я думаю, проблема в другом месте.
Любые идеи будут с благодарностью. Спасибо!