2015-01-22 5 views
0

Я написал программу базы данных, которую я буду запускать с другого компьютера и базы данных, будет на сервере, то есть у меня есть SQL Server на моем компьютере с IP-адресом 192.168.11.55 и включен порт для SQL Server - 1433. Когда я пытаюсь войти/войти, я получаю следующую ошибку.Не удается получить доступ к SQL Server через сеть

При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения.

Когда я пытаюсь подключиться с моего компьютера, я действительно работаю.

Это класс подключение к базе данных

class DBConnection 
{ 
    public static SqlConnection conn; 

    public static SqlConnection openconn() 
    { 
     if (conn == null) 
     { 
      conn = new SqlConnection("data source=tcp:192.168.11.55,1433;initial catalog=SMS_DB;integrated security=sspi"); 
      //I tried below code as well 
      //conn = new SqlConnection("data source=tcp:KASHIFAHMAD-PC,1433;initial catalog=SMS-AWKUM;integrated security=sspi"); 
     } 

     if (conn.State!=ConnectionState.Open) 
     { 
      conn.Open(); 
     } 
     return conn; 
    } 
} 
+0

Является ли это версией SQL Server ** Express **? Они не включены для удаленных подключений, по умолчанию –

+0

нет, но не ** Express ** –

ответ

1

Есть много возможных причин, в основном, на связи.

Убедитесь, что брандмауэр на вашем компьютере не блокирует порт 1433 от входящих соединений.

Если ваш сервер SQL Server Express - убедитесь, что он настроен на прием удаленных подключений (по умолчанию он отключен в SQL Express, он прослушивает только локальные подключения).

См. Так: here или here, например, как включить SQL Express для приема удаленных подключений.

+0

Это, скорее всего, решение. Даже если SQL Server настроен на разрешение сетевых подключений, он все еще может использовать динамические порты, поскольку это значение по умолчанию. Вам нужно явно установить порт на 1433 и отключить динамические порты, о чем упоминается во второй ссылке в этом ответе. Если вы НЕ сделаете запись «TCP Dynamic ports» пустой, это не сработает, даже если вы установите порт на 1433. Не забудьте также перезапустить службу. –

0

У этого есть много причин для этого. Сначала вы проверяете ответ сервера.

Window + Run - >type cmd -> type ping ipaddress -t 

Затем проверьте ответ или приходит тайм-аут.

Если ответ приходит, то через SSMS (management sudion), проверьте подключение.

Если это будет нормально, то подключитесь к вашему приложению.

Все еще, если у вас есть проблема, используйте SQlserver Data connect мастер из инструмента.

Соедините его и сохраните в web.config.

Если все хорошо, удалите соединение данных SQLserver и его запись в web.config.

Определенно это поможет вам.

0

Включен ли параметр TCP/IP имен в диспетчере конфигурации SQL на сервере?

+0

Да, я включил TCP/IP –

+0

Не могли бы вы рассказать, как это сделать для других, которые могут не знать, как это сделать? благодаря – rolls

Смежные вопросы