2013-07-31 4 views
2

У меня есть программа WinForms, которую я создаю для моего друга, который использует базу данных SQL Server Express. Локально я могу нормально подключиться к моему SQL Server Express, и когда я развертываю приложение на своем компьютере, он также работает. Мне трудно подключиться к его экземпляру SQL Server Express с моей машины (я пытаюсь запустить программу в режиме отладки vs2012, но подключен к его базе данных). Программа использует Entity Framework в случае, если это имеет значение (я не думаю, что это так).Строка подключения для SQL Server Express на удаленном компьютере?

Мы установили его брандмауэр, чтобы разрешить моему IP-адресу доступ к его компьютеру и его SQL Server ... поэтому я могу войти в систему через удаленный рабочий стол, и я также могу подключиться с помощью SSMS с моего компьютера и посмотреть все базы данных. ... но почему я не могу подключиться с помощью vs2012? Я думаю, что он имеет какое-то отношение к строке подключения, но пока не нашел рабочего решения.

Вот что я пробовал:

Получил их от ConnectionStrings.com:

Server=100.100.100.100\SQLExpress;Database=TestDB;User Id=UserID;Password=myPassword; 

DataSource=100.100.100.100\SQLExpress;Database=TestDB;User Id=UserID;Password=myPassword; 

Очевидно, что IP-адрес изменился для целей этого поста.

Любые идеи?

+0

Как вы относитесь к настройке брандмауэра? Вы подключаетесь к своему компьютеру в той же сети или через NAT-устройство (маршрутизатор)? –

+0

О, и что это за строки подключения? EF создает пользовательскую строку для вас при создании сценария tsql, т. Е. В файле app.config проекта –

+0

Он «настраивает» брандмауэр, чтобы я мог подключиться к его компьютеру, как в разных сетях (устройство NAT). Первая строка соединения - это то, что генерирует EF (но я создал его локально, не используя его IP-адрес), поэтому я думал, что могу просто изменить IP-адрес и быть в порядке, но к сожалению, это не так. – Robert

ответ

1

Вы использовали атрибут строки соединения:

DataSource 

Там нет такого понятия, и я подозреваю, что это была просто опечатка (он платит использовать вырезать и вставить вместо переписывания). В этом атрибуте есть место, поэтому оно должно быть:

Data Source 
+1

Спасибо Аарон ... туннельное видение ужасно порой :) – Robert

1

Вот список вещей, которые нужно проверить на другом компьютере:

  • с включенной поддержкой протокола TCP/IP? Перейти к диспетчеру конфигурации SQL Server -> Конфигурация сети SQL Server -> Протоколы для {экземпляра}
  • Какие IP-адреса включены для прослушивания в диспетчере конфигурации? В свойствах TCP/IP -> IP-адреса Вкладка
  • браузер SQL Server начал
  • Firewall установлен правильно - вы хотите включить TCP и UDP трафика на порту 1433
  • Сервер позволяет удаленные соединения? В SSMS откройте свойства для этого экземпляра и установите флажок «Подключения».
Смежные вопросы