Как подключиться к локальной базе данных через сайт? - PullRequest
5 голосов
/ 11 января 2011

У меня есть веб-сайт, используемый клиентами для целей составления отчетов, и я хотел бы предоставить клиентам возможность непосредственного чтения их веб-сайта их локальной базой данных (вместо того, чтобы предоставлять данные в формате файла). В большинстве случаев их базой данных будет установка SQL Express на локальном хосте.

Как я могу подключиться к локальному SQL-серверу клиента через мой веб-сайт, используя asp.net / javascript и т. Д.? Если клиент предоставляет свои свойства строки подключения, localhost просто ссылается на localhost моего сервера ...

Рассмотрим следующее:

Большинство людей подключаются к Интернету через интернет-провайдера. База данных будет работать на локальном хосте и не будет иметь публичного адреса как такового.

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

VPN не подойдет для этого - я должен подключиться к ним (программным способом) и получить данные, а не наоборот.

Спасибо

Ответы [ 5 ]

1 голос
/ 11 января 2011

Я думаю, вы не сможете подключиться к удаленной базе данных, если компьютер, на котором работает база данных, не является публичным адресом.Им нужно будет 1) указать свой публичный адрес 2) открыть правильный порт в своем брандмауэре.В зависимости от их настройки (домашний офис с простым маршрутизатором / брандмауэром, корпоративный офис с брандмауэром, который они не могут свободно менять и т. Д.), Это может или не может обеспечить достаточное количество переходов.сначала подключитесь к VPN, которым вы все пользуетесь, как упоминалось в Moo-Juice.

Редактировать: Извините, пропустил последнюю часть о VPN в вашем вопросе.Если я вас правильно понимаю, вы, по сути, хотите, чтобы они могли подключаться к вашему приложению как «клиенты», но отправляемые ими данные будут их базами данных.Но вы хотите, чтобы это работало с клиентами, которые не публикуют свои серверы баз данных в Интернете?Мне это кажется очень сложным, но опять же я не очень хорош в написании сценариев на стороне клиента.

1 голос
/ 11 января 2011

Если ваш клиентский брандмауэр настроен на разрешение подключения к SQL Server (порт по умолчанию - 1433), ничто не мешает вам создать подключение к нему.Однако для этого есть соображения безопасности.Ваш клиент может пожелать разрешить соединение только с IP-адреса вашего веб-сервера.

Вы также можете рассмотреть VPN, такую ​​как VPN, предоставляемая Windows или Hamachi.

0 голосов
/ 25 октября 2012

Я бы настроил локальную базу данных SQL и подключился через приложение SilverLight. Затем вы можете прочитать данные и отправить данные обратно на ваш веб-сервер / в основную базу данных, используя веб-службы (WCF).

Я нашел эту ссылку о подключении Silverlight к локальной базе данных SQL ..

http://erikej.blogspot.com/2010/02/access-local-sql-compact-database-from.html

0 голосов
/ 25 октября 2012

Вам необходимо использовать DNS-сервер, такой как dyndns. Вы можете попробовать это бесплатно для одного веб-адреса. Затем настройте сервер iis.

0 голосов
/ 11 января 2011

Но если ваши клиенты предоставят адрес хоста SQL Server, ADO.NET или любой полагающийся на него уровень будет подключаться к нужному серверу, а не к локальному.

Я ошибаюсь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...