2016-01-05 4 views
-2

В PC1 я создал приложение C# для создания форм, в котором используется база данных локального SQL-сервера, а затем я развернул свое приложение в файл .exe с помощью Visual studio. Затем я установил exe файл на одном компьютере (PC1), и я прекрасно работает и может подключаться к базе данных SQL, используя следующую строку соединения:Ошибка при подключении к локальному SQL-серверу из приложения C#

 SqlConnection con = new SqlConnection("Data Source=local; Initial Catalog=mydb; Integrated Security=True"); 

Проблема: когда я пошел к другому компьютеру (PC2) я установил SQL-сервер, и я прикрепляюсь вручную те же база данных (MyDB), а затем установил мое приложение, но это дает мне следующую ошибку:

screenshot

Однако, когда я изменить название PC2 же, как PC1 приложение может подключиться и он работает хорошо. Это означает, что если я хочу установить свое приложение на другом ПК то я должен назвать это имя PC таким же, как оригинальный ПК, который я создал в C# (PC1).

Почему эта ошибка происходит? Я имею в виду, почему мне приходится устанавливать другие ПК под тем же именем, что и оригинальный ПК (PC1). Пожалуйста, помогите мне, как исправить эту ошибку. Спасибо

+5

Вы действительно не должны задать тот же вопрос дважды. http://stackoverflow.com/questions/34597680/why-cant-i-connect-to-the-sql-server-database-when-i-create-setup-file-in-visua –

ответ

2

Вам не обязательно иметь одно и то же имя на разных ПК, чтобы иметь C# -программу, подключенную к SQL-серверу. Одна вещь, которую я хотел бы указать, может быть, вы знаете, может быть, нет. Если вы устанавливаете базу данных на КАЖДОМ компьютере, они не будут делить данные (опять же, это может звучать глупо, но на всякий случай).

К самой ошибке, если вы установили SQL Server на компьютере PC2, перейдите в раздел «Службы» и дважды проверьте, что SQL Server INSTANCE совпадает с той, которую вы установили в своей строке подключения. Вам не обязательно иметь одно и то же имя базы данных, которое может быть совершенно другим на каждой машине, важно, чтобы была правильная строка соединения (у вас должна быть строка подключения в виде конфигурации, которую вы можете легко изменить с .conf файл.

Просто двойная проверка на ПК2, что сервер работает, как ожидалось (проверки служб и просмотра событий для каких-либо ошибок, которые могут всплывающее окно), вы также можете попробовать вместо местного 127.0.0.1

+0

@ ProgrammerV5. да, сервер на ПК2 работает хорошо. Я должен был установить одно и то же имя PC1 как PC2, иначе приложение не будет работать. и я указал, что Data Source = localhost, поэтому он должен работать, но я не знаю почему. Есть идеи? Спасибо – Serena

2

Вам нужно активировать Sql Аутентификация сервера и Windows на вашем сервере sql и изменение строки подключения от интегрированной защиты до аутентификации пользователя/пароля.

enter image description here

Источник данных должен быть изменен либо IP или имя сервера

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