Подключайтесь напрямую к удаленному серверу SQL с помощью Delphi - PullRequest
1 голос
/ 09 марта 2011

Я создал приложение Delphi, которое работает на нескольких клиентских компьютерах по всей стране. Используемая база данных - это SQL Server, который сильно зависит от хранимых процедур.

Проблема в том, что БД должна быть на центральном сервере без сервера приложений в середине - поэтому такие опции, как веб-службы, невозможны. Также приложение должно обращаться к серверу базы данных напрямую - и все клиенты должны подключаться к этой единой базе данных.

Как это можно сделать?

Ответы [ 2 ]

4 голосов
/ 09 марта 2011

Используйте VPN. Он защитит канал связи между вашим приложением и базой данных, пока база данных не находится в Интернете. Как только VPN активен, вы можете подключиться к базе данных, как это было локально. Обнаружение сервера БД непосредственно в Интернете может быть очень опасным, простое сканирование может идентифицировать его и использовать уязвимость. Может быть способ достичь чего-то похожего, используя специальное программное обеспечение и устройства для обеспечения безопасности, но это может стоить намного дороже, чем использование VPN. Сервер Windows поставляется с программным обеспечением VPN в коробке (он находится в службе маршрутизации), и есть также несколько бесплатных решений (то есть OpenVPN). Большинство брандмауэров / маршрутизаторов имеют возможности конечных точек VPN - их просто необходимо настроить, и обычно они поддерживают аутентификацию RADIUS, если не Active Directory напрямую.

2 голосов
/ 09 марта 2011

Каждый клиент должен использовать компонент TADOConnection, который устанавливает соединение с сервером, указанным в строке соединения ADO.

...