Лучший способ получить информацию о базе данных для программы (Windows и Mac) - PullRequest
4 голосов
/ 26 сентября 2011

В настоящее время я использую delphi, и у меня есть программа, которая подключается к другой программе (серверу), на которой есть база данных mysql, и отправляет данные обратно клиенту. У меня есть веб-сервер с серверной программой и базой данных, но мой вопрос заключается в том, могу ли я просто перейти непосредственно от созданной клиентской программы (windows и будущее mac) к базе данных mysql на веб-сервере? Или мне действительно нужна серверная программа? Если это так, что мне нужно сделать, чтобы подключить мою клиентскую программу к базе данных MySQL через Интернет?

Ответы [ 5 ]

1 голос
/ 26 сентября 2011

Зависит от того, будут ли ваши клиентские программы оставаться собственными приложениями или планируется ли переход на клиенты на основе браузера.

Если они являются нативными приложениями, вы можете получить библиотечные компоненты для языков, на которых они написаны, и которые смогут напрямую взаимодействовать с базой данных MySQL. Есть много вариантов для Delphi; Я не знаю, какие варианты могут быть доступны для разработки на родном Mac (но, конечно, Embarcadero находится в процессе развертывания Delphi, который может генерировать приложения для Mac).

Если, однако, вы планируете сделать так, чтобы ваши клиенты на основе браузера, ajax-решения хотели общаться с веб-сервером, а не с сервером базы данных. В этом случае вам нужно будет поддерживать свое промежуточное программное обеспечение. Чтобы обсудить, возможно или желательно, чтобы приложение на основе браузера связывалось напрямую с сервером базы данных, см. этот вопрос .

1 голос
/ 26 сентября 2011

Я бы использовал для этого SOAP / XML и полностью исключил бы SQL из клиента.

1 голос
/ 26 сентября 2011

Вы должны иметь доступ к базе данных mysql напрямую, если вы создали комбо user / pw для базы данных, которая разрешает удаленный доступ (кроме обсуждения безопасности).Затем вы захотите найти совместимую библиотеку mysql, которая облегчила бы связь между вашей программой и mysql.На дальнем техническом уровне вам, возможно, придется читать / писать непосредственно в сокет mysql, но это также возможно.

0 голосов
/ 27 сентября 2011

Да, это возможно, но разве это хорошая идея?

здесь базовое обсуждение архитектуры 2 уровня v 3

0 голосов
/ 26 сентября 2011

Это типичный случай использования, когда REST (например, с использованием записей базы данных в кодировке JSON) может быть полезен.Легко реализовать клиент Delphi с помощью lkJSON или SuperObject, чтобы поместить записи базы данных из ответа HTTP в TClientDataSet.

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