2015-12-08 5 views
-1

Мне нужно создать приложение Windows с C#.Connectionstring для windowsServer

Я с помощью этой строки соединения:

SqlConnection conn = new SqlConnection(
        "Data Source=(local);Initial Catalog=MyDBname;Integrated Security=SSPI;" 
        ); 

Каждая вещь хорошая, но когда я должен копировать «папку отладки» на сервер (и восстановление БД на сервере), мой ConnectionString не делает Работа.

Кстати, для SQL-клиента на стороне клиента или на стороне сервера не требуется имя пользователя и пароль.

+0

Что значит «не работает»? Вы получаете сообщение об ошибке или исключении при попытке подключения? –

+0

Использование Integrated Security означает, что соединение с базой данных будет выполнено в контексте текущего пользователя. Запуск на месте, это, наверное, вы. На сервере это зависит от множества факторов - это приложение ASP.NET? Служба Windows? Служба WCF? Дайте нам дополнительную информацию, чтобы мы могли вам помочь. –

+0

Это приложение Windows Form Application и не подключалось к серверу. – mona

ответ

1

Прежде всего: используйте SqlConnectionStringBuilder вместо hardcoding строки подключения. Таким образом, вы можете убедиться, что всегда получаете правильно отформатированную строку соединения.

Вторая идея: Является ли имя экземпляра SQL Server также действительным для сервера? (local) идентифицирует локально исполняемый экземпляр SQL Server без имени экземпляра. Как только ваш сервер имеет имя экземпляра, например, SQL2012, вам необходимо использовать local\SQL2012.

При подключении вашей SQL Server Management Studio к базе данных сервера, какое имя вы используете там? Имеет ли пользователь ваше приложение на сервере на самом деле имеет права доступа к серверу и базе данных?