не может подключиться к локальной базе данных, когда сеть не работает - PullRequest
1 голос
/ 02 июня 2011

Я использую следующую строку подключения для подключения к базе данных на локальном компьютере.Проблема в том, что если сеть выходит из строя, то я не могу подключиться к базе данных, хотя приложение подключается к базе данных на той же машине.Что я делаю не так?

add name = "MainDb" connectionString = "Источник данных = MyComputerName, 1433; Сетевая библиотека = DBMSSOCN; Начальный каталог = MyLocalDatabase; Интегрированная безопасность = False; Пользователь = MyUser;Password = MyPassword;»

Ответы [ 3 ]

2 голосов
/ 02 июня 2011

Используйте localhost в качестве имени вашего компьютера. localhost использует соединение с общей памятью, а не пролезает через сетевой уровень.

Также проверьте с помощью диспетчера конфигурации сервера sql, что общая память включена.

0 голосов
/ 02 июня 2011

Попробуйте удалить параметр сетевой библиотеки из строки подключения.Таким образом, вы заставляете провайдера соединения использовать определенный протокол.Если вы отключите сеть (TCP), возможно, провайдер не сможет подключиться.

Вот некоторая информация о параметре сетевой библиотеки http://support.microsoft.com/kb/238949

Если сетевая библиотека не предоставлена,Приложение использует протоколы в порядке, указанном в диспетчере конфигурации SQL Server, в конфигурации собственного клиента SQL 10.0, в узле «Протоколы клиента».Эти протоколы, конечно, должны быть включены на стороне сервера, которая в случае того же компьютера просто находится в конфигурации сети SQL Server, в протоколах.

Я использую SQL Server 2008 R2, если вы используетеВ более ранних версиях поставщика могут быть другие.

Вот вопрос, который, как представляется, беспокоит аналогичная проблема:

Проблема протокола связи SQL Server

С уважением

Петр

0 голосов
/ 02 июня 2011

При использовании DBMSSOCN попробуйте указать IP-адрес экземпляра базы данных вместо MyComputerName .Как предложил @Dalen, 127.0.0.1

http://www.connectionstrings.com/sql-server

Подтвердите также, на каком порту работает экземпляр (обычно 1433) и укажите его после IP-адреса:

 Data Source=127.0.0.1,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
...