У меня есть SQL Server Express 2008, установленный на одной из моих машин, и я пытаюсь установить удаленное соединение ... когда я использую MS SQL Server Management Studio, я могу войти в систему базы данных без каких-либо проблем на всех (с теми же учетными данными), но когда я пытаюсь создать строку подключения в моем C# приложении я получаю исключение:C# 2008 Строка соединения SQL Server Express
произошло ошибки сети связанного или экземпляр конкретной при установлении a подключение к SQL Server. Сервер не найден или недоступен. Проверьте, правильно ли указано имя экземпляра , и что SQL Server - , настроенный для удаленного подключения .
Вот что моя строка соединения выглядит (изменяется частная информация):
"Data Source="MACHINENAME\\SQLEXPRESS";User ID="Admin";Password="the_password";Initial Catalog="MyDatabase";Integrated Security=True;Connect Timeout=120");
Как я уже сказал, я могу войти, используя Management Studio с теми же настройками: тот же идентификатор пользователя , пароль и имя источника данных, но он не работает, когда я пытаюсь открыть соединение с указанной выше строкой соединения.
Примечание:
Я позволил удаленное подключение на сервере, отключить соединение брандмауэра, включен TCP/IP на сервер, включил SQL Browser.
Строка подключения отлично работает, когда я нахожусь на одной машине.
Я искал параметр Integrated Security, и я установил его как false, чтобы убедиться, что он не пытается использовать Windows Login, но он все еще не работает.
База данных предназначена для входа в систему как для входа в систему, так и для входа в систему.
Я меняю параметр Integrated Security на SSPI, True и, наконец, False, все 3 дали мне ту же ошибку, что и выше.
Может ли кто-нибудь сказать мне, что я делаю что-то неправильно?
UPDATE, вот мой точный код (только в этот раз пароль удаляется, и я добавил картину студии управления работает на той же машине):
string _connectionString =
//string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Connect Timeout=120", // Same problem
//string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Integrated Security=False;Connect Timeout=120", // Same problem
string.Format("Data Source=%s;User ID=%s;Password=%s;Initial Catalog=%s;Integrated Security=False;Connect Timeout=120", // Same problem
"GANTCHEVI\\SQLEXPRESS",
"FinchAdmin",
"the_password",
"Finch");
http://s113.photobucket.com/albums/n202/ozpowermo/?action=view¤t=ManagementStudio.jpg
Я понял это:
При использовании тыс e «Data Source =» label следует использовать «User Id», если вы используете User ID, похоже, что он работает!
string _connectionString = "Data Source=GANTCHEVI\\SQLEXPRESS;Initial Catalog=Finch;Integrated Security=False;User Id=FinchAdmin;Password=the_password;Connect Timeout=0";"
+1 Nice Объяснение. – Praveen