sql соединение не работает после переноса приложения Windows 6 с локального на сервер
У меня есть приложение для Windows 6, которое я разрабатываю (в VB). Я получаю данные из базы данных MSSQL 2005. Все работало нормально, запустив его локально (с эмулятором), но когда я переместил базу данных в тестовое окно, я получил следующую ошибку:
System.Data.SqlClient.SqlException {"Указанный сервер SQL не найден: xx.xx.xx.xxx\sql2005"}
Моя строка подключения:
Data Source=XX.XX.XX.XXX\sql2005;Initial Catalog=databaseName;UID=databaseUser;PWD=password
Единственное отличие в строке подключения от того, когда я запускал ее локально, заключается в том, что я использовал имя своего компьютера (которое я также пытался использовать с именем компьютера sqlserver).
Спасибо
5 ответов
Попробуйте изменить строку подключения на:
Data Source=XX.XX.XX.XXX;Initial Catalog=databaseName;UID=databaseUser;PWD=password
Скорее всего, имя экземпляра (sql2005) неверно.
Убедитесь, что запущен sql браузер
убедитесь, что удаленные подключения и TCP/IP включены в окне SQL
Идея Гордона была близка. Имя экземпляра (sql2005) было правильным, так как я мог получить ту же строку подключения из моего веб-приложения, но по какой-то причине не работал с мобильным приложением. Когда я переместил базу данных из этого экземпляра на этот ящик (то есть, xx.xx.xx.xxx без /sql2005), он работал.
Приложение работает на том же сервере, что и БД? Вы пробовали использовать "localhost"?
Обязательно убедитесь, что в SQL Box включены удаленные подключения, как предложил SqlMenace.
Если SQL Server настроен для разрешения удаленных подключений и TCP/IP включен, попробуйте запустить приложение на сервере базы данных, чтобы проверить, работает ли оно правильно. Если это не сработает, это будет означать, что в строке подключения что-то не так.
Если приложение работает локально на сервере базы данных, и удаленные подключения \ TCP/IP включены, попробуйте эту статью, касающуюся брандмауэра Windows и SQL Server.