Возможно ли подключить размещенное веб-приложение к локальной базе данных? - PullRequest
2 голосов
/ 08 октября 2010

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

Зачем мне это делать?

  • Низкий барьер для доступа к использованию программного обеспечения: нет экспорта / импорта данных
  • Клиенту не нужно устанавливать публично доступную веб-службу
  • Для веб-приложений с частными наборами данных (например, ERP, POS, CRM) все личные данные могут храниться локально

Это несбыточная мечта?

1 Ответ

1 голос
/ 08 октября 2010

Если у вас нет контроля над сетью ваших клиентов, это не очень практично, поскольку для сервера SQL требуется порт TCP для связи, и этот порт должен быть открыт в сети ваших клиентов - И общедоступным через открытый Интернет (возможно,большая проблема безопасности).Вот почему люди обычно используют веб-сервисы - если вы взломаете веб-сервис, вы можете использовать веб-сервис ... Если вы взломаете базу данных, вы можете делать с ней все, что захотите, включая очистку / повреждение данных любым удобным для вас способом.

TCP-сервером SQL по умолчанию является порт 1433, но вы можете изменить этот порт, если хотите.

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

Однако проблемы безопасности могут быть смягчены с помощью надежного безопасного шифрованного соединения с сервером.См. http://msdn.microsoft.com/en-us/library/ms191192.aspx для более подробной информации, если вы хотите пойти по этому маршруту.

...