Как получить удаленное SQLConnection для TDSProviderConnection.SQLConnection? - PullRequest
2 голосов
/ 29 января 2010

В DataSnap 2009 мне представляется возможным использовать удаленное подключение к базе данных в модуле данных клиента, используя TDSProviderConection и связанный TSQLConnection. Клиентская сторона проста в настройке, я помещаю TSQLConnection в форму и связываю его с компонентом TDSProviderConnection.

Но каковы шаги в удаленном модуле данных на стороне сервера для обеспечения «реального» SQLConnection клиенту? У меня есть серверный модуль, который наследует от TDSServerModule, TDSTCPServerTransport, TDSServer и компонент TDSServerClass. Как мне связать их с TSQLConnection на стороне сервера?

1 Ответ

3 голосов
/ 29 января 2010

На самом деле самый простой способ получить доступ к соединению с базой данных на стороне сервера из клиента DataSnap 2009 - это использовать только компонент TSQLConnection. Установите для его свойства «Driver» значение «DataSnap», а в подвойстве «ServerConnection» укажите метод сервера, который возвращает ссылку «TDBXConnection». Вы можете вручную добавить такой метод сервера в ваш удаленный модуль данных. Проще использовать встроенный метод сервера «DSAdmin.GetConnection» и просто указать затем имя соединения DBExpress, как оно отображается в проводнике данных на стороне сервера или указано в файле DBXConnection.ini. Нужно использовать двойные кавычки вокруг имени соединения. Например, если у вас есть соединение InterBase с именем «IBEMPLOYEE» в проводнике данных, просто введите в «ServerConnection» следующую строку:

DSAdmin.GetConnection ( "IBEMPLOYEE")

и установите для свойства «Подключено» значение «true».

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

Е.И.В.

Pawel

...