У меня SQL Server Express 2008 установлен на одном из моих компьютеров, и я пытаюсь установить удаленное соединение ... когда я использую MS SQL Server Management Studio, я могу без проблем войти в базу данных ( с теми же учетными данными), но когда я пытаюсь создать строку подключения в своем приложении C #, я получаю исключение:
Сетевой или экземплярный
произошла ошибка при установлении
подключение к 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.
Строка подключения работает нормально, когда я нахожусь на той же машине.
Я посмотрел параметр встроенной безопасности и установил для него значение false, просто чтобы убедиться, что он не пытается использовать Windows Login, но все равно не работает.
База данных настроена для входа в Windows и для входа в базу данных.
Я изменил опцию Интегрированная безопасность на SSPI, True и, наконец, False, все 3 дали мне ту же ошибку, что и выше.
Может кто-нибудь сказать мне, если я делаю что-то не так?
ОБНОВЛЕНИЕ, вот мой точный код (на этот раз удален только пароль, и я добавил изображение студии управления, работающей на той же машине):
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");
Подключено через Management Studio: см. Рисунок http://s113.photobucket.com/albums/n202/ozpowermo/?action=view¤t=ManagementStudio.jpg
http://s113.photobucket.com/albums/n202/ozpowermo/?action=view¤t=ManagementStudio.jpg
Я выяснил это:
При использовании метки «Data Source =» следует использовать «Идентификатор пользователя», если вы используете Идентификатор пользователя, похоже, он не работает!
string _connectionString = "Data Source=GANTCHEVI\\SQLEXPRESS;Initial Catalog=Finch;Integrated Security=False;User Id=FinchAdmin;Password=the_password;Connect Timeout=0";"