2014-10-02 6 views
0

У меня есть приложение VB.NET, которое может подключаться к базе данных SQL Server через локальную сеть, но как я могу подключиться к нему через интернет, приложение нужно использовать снаружи, я знаю, что мне нужно использовать общественный IP вместо того, чтобы использовать IP-адрес сервера, но мой публичный IP-адрес, который я установил в строке подключения не может подключиться к серверу, Вот моя строка соединенияПодключить SQL Server 2008 r2 через Интернет

Dim connstr$ = "Server=xxx.xx.xx.xxx\SQLEXPRESS,xxxx;Initial Catalog=sample_db;Integrated Security=True Public conn As New SqlConnection(connstr)

Я попробуйте также установить порт и изменить ограничение брандмауэра, включить TCP и т. д. и искать здесь много, но все еще не работает.

Вот наша настройка сети

PC -> маршрутизатор -> интернет модем

+0

От внешнего компьютера (не в локальной сети), вы можете проверить, что вы можете подключить на порт/IP-адрес с помощью следующей команды: 'TELNET '. Вы должны сначала проверить, работает ли это. Если это _does_ работает, попробуйте найти строку подключения, которая использует ip address/port, а не имя экземпляра (SQLEXPRESS). Если Telnet не работает, вам необходимо устранить неполадки в вашем брандмауэре, чтобы разрешить подключения через порт. Вы также должны быть уверены, какой порт SQL Server работает. Есть справочники по всем этим разным частям по всему Интернету. –

+0

, поэтому мне нужно подключить интернет-модем непосредственно к ПК? – user3921411

+0

Похоже, ваша основная проблема заключается в настройке тестового устройства, которое находится за пределами вашей локальной сети. Если у вас есть другой компьютер и телефон, вы можете привязать ПК к телефону (а не к вашей локальной сети) и добраться до интернета таким образом. Возможно, для этого есть программные решения. –

ответ

0

1433 является коммуникационный порт сервера SQL, по умолчанию. Порт 1433 должен быть перенаправлен на локальный IP-адрес, на котором выполняется ваш сервер sql.

1) Убедитесь, что порт 1433 является допустимым портом связи для сервера sql. Вы можете проверить его с помощью инструментов конфигурации сервера sql. Используйте фактический номер порта, а не 1443, если он был изменен кем-либо.

2) Найдите меню NAT (Network address translation) в панели администрирования модема или маршрутизатора.

3) вперед порт 1433 на локальный IP-адрес вашего сервера

4) Перезапустите устройство

Как примечанием, что ваш модем не требует статического IP-адреса. Вероятно, ваше устройство может иметь новый IP-адрес после каждого перезапуска. Но он будет действителен, пока вы не перезапустите его еще раз. Вы можете использовать этот IP-адрес для удаленного доступа к базе данных. Было бы лучше, но вам не нужно получать статический IP-адрес.

UPDATE: вы также должны быть уверены, что порт не заблокирован программой на сервере, такой как вирус или программа безопасности.

Успехов

+0

Если он действительно подключается к SQLEXPRESS, то 1433 не будет портом по умолчанию. –

+0

Добрый день! спасибо за ответ, но как я могу перенаправить порт 1433 на свой локальный IP-адрес? должен ли я изменить все настройки IP-адреса и порта в TCP/IP с IP1 на IP10? извините за мой вопрос, я действительно новичок в использовании SQL-сервера. Я видел меню NAT в нашем маршрутизаторе, но его отличие от другого маршрутизатора, здесь мы используем маршрутизатор QNO, это многопользовательский маршрутизатор, поэтому я думаю, что он также влияет на него. – user3921411

+0

Нет, у вас есть это в обратном направлении. Сначала определите, в каком порту работает ваш SQL Server. Сделайте поиск в Google. Затем выберите произвольный порт (скажем, 60000) и переместите этот порт в Интернете на порт SQL Server на вашей «локальной» стороне. Если вы еще этого не сделали, вы не сможете подключиться. Сначала начните работать. –

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