Перейти к содержанию
Fire Monkey от А до Я
  • 0

Ресурсы и ссылки для новичка в доступе к MySQL


Steepe_Hare

Вопрос

Есть у меня сайт, сделанный на Джумле, там используется MySQL. Название БД и таблиц, а также имя пользователя и пароль я, естественно, знаю.

Хотелось бы из своего мобильного Android-приложения иметь доступ к этим таблицам (чтение, запись и проч.). Никогда не делал еще такое (Delphi + MySQL).

Подскажите, плиз, ресурсы по теме, что почитать, где просветиться. Спасибо.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Клади на форму TFDConnection, TFDQuery и TFDPhysMySQLDriverLink,

Connection автоматом пропишется в Query, в Connection прописывай настройки соединения, там все просто, дальше Connection->Open(); - если настройки годные будет коннект.

В Query->SQL->Text пишешь sql запрос, и Query->Open() - Query->Close()  либо Query->ExecSQL() в зависимости от запроса

Смотреть события AfterConnect, AfterDisconnect, ConnectionError, AfterOpen, AfterExecute, QueryError; 

Ссылка на комментарий
  • 0
4 часа назад, Камышев Александр сказал:

Клади на форму TFDConnection, TFDQuery и TFDPhysMySQLDriverLink,

Connection автоматом пропишется в Query, в Connection прописывай настройки соединения, там все просто, дальше Connection->Open(); - если настройки годные будет коннект.

В Query->SQL->Text пишешь sql запрос, и Query->Open() - Query->Close()  либо Query->ExecSQL() в зависимости от запроса

Смотреть события AfterConnect, AfterDisconnect, ConnectionError, AfterOpen, AfterExecute, QueryError; 

Из андроида вы это не сделаете. Там нет доступа в MySQL. Только devart или через прослойку (трехзвенка). Или через php скрипты.

Ссылка на комментарий
  • 0

Думаю PHP скриптами проще всего сделать...

Можно универсальный скрипт, которому передается  запрос  к БД,  а он возвращает результат, в JSON, например...

 

Изменено пользователем wamaco
Ссылка на комментарий
  • 0

мдя, тут было http://fire-monkey.ru/topic/2011-androidmysql/,

MyDac от devart собственно не так дорог, там тот же алгоритм, только имена другие TMyConnection и TMyQuery

 

Изменено пользователем Камышев Александр
Ссылка на комментарий
  • 0
5 часов назад, Камышев Александр сказал:

мдя, тут было http://fire-monkey.ru/topic/2011-androidmysql/,

MyDac от devart собственно не так дорог, там тот же алгоритм, только имена другие TMyConnection и TMyQuery

 

Если только нужен mysql, дешевле будет MyDAC

Ссылка на комментарий
  • 0
  • Модераторы

ребята ну сколько можно уже, одно да потому. миллион раз говорилось что для мобилки не подходит прямой доступ к БД! это не десктоп, тут совсем другой подход, не наступайте на грабли

Ссылка на комментарий
  • 0
51 минуту назад, ZuBy сказал:

ребята ну сколько можно уже, одно да потому. миллион раз говорилось что для мобилки не подходит прямой доступ к БД! это не десктоп, тут совсем другой подход, не наступайте на грабли

А что вы тогда посоветуете? DataSnap или MyDAC от DevArt? Или что-то третье?

Ссылка на комментарий
  • 0
  • Модераторы
1 минуту назад, Steepe_Hare сказал:

А что вы тогда посоветуете? DataSnap или MyDAC от DevArt? Или что-то третье?

 

Ссылка на комментарий
  • 0
1 час назад, ZuBy сказал:

миллион раз говорилось что для мобилки не подходит прямой доступ к БД!

А можно еще раз: почему? Куча компаний использует прямой доступ, они все глупые такие?

Ссылка на комментарий
  • 0
  • Модераторы

вот в статье и говорится

Цитата

Для такой задачи недорогой планшет на Android – очень подходящее решение, даже время работы не очень критично, поскольку требуется только сеансное подключение к базе данных.

 если вы будете метаться от одной сотовой вышки к другой/переключать вайфай и т.д., вас ждёт сюрприз. ни DevArt ни FireDac вам не поможет.

Самый правильный и стойкий вариант это трехзвенка, не тратьте время зря

Ссылка на комментарий
  • 0

Трехзвенная архитектура имеет много плюсов, однако устойчивости при плохой связи среди этих плюсов нет.

И в трехзвенке и в прямом доступе сеанс TCP и обмен массивами, размеры массивов также примерно одинаковые. Правильно построенный запрос к напрямую к БД пройдет быстрее чем через сервер приложений. Для простых приложений pourquoi бы и не pas.

Упавшая БД - ночной кошмар it-шников, ее стараются всячески оберегать и работать с ней трепетно. Трехзвенка как раз такой случай.

Ссылка на комментарий
  • 0
21 час назад, Steepe_Hare сказал:

открываем, читаем

"Работа с данными организована следующим образом – есть сервер БД (MS SQL Server), есть сервер Data Snap, через него работает с данными клиент на Android."
один, два, три.

6 часов назад, Камышев Александр сказал:

Трехзвенная архитектура имеет много плюсов, однако устойчивости при плохой связи среди этих плюсов нет.

И в трехзвенке и в прямом доступе сеанс TCP и обмен массивами, размеры массивов также примерно одинаковые. Правильно построенный запрос к напрямую к БД пройдет быстрее чем через сервер приложений. Для простых приложений pourquoi бы и не pas.

Упавшая БД - ночной кошмар it-шников, ее стараются всячески оберегать и работать с ней трепетно. Трехзвенка как раз такой случай.

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

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

так что не согласен. совсем. Устойчивость при плохой связи как раз и есть принцип. HTTP весь построен на запросах ответах, поэтому отсутствие постоянного соединения вполне отвечает архитектуре системы.

А то, что обмен при установленном соединении может идти в бинарном виде - это, конечно, выигрыш, но уж больно дорогой  ценой.

Ссылка на комментарий
  • 0
  • Модераторы
11 часов назад, krapotkin сказал:

А то, что обмен при установленном соединении может идти в бинарном виде - это, конечно, выигрыш, но уж больно дорогой  ценой.

HTTP 2.0 работает в "бинарном виде", но кажется у нас еще нет такой поддержки

Ссылка на комментарий
  • 0
В 18.11.2016 в 21:18, krapotkin сказал:

открываем, читаем

"Работа с данными организована следующим образом – есть сервер БД (MS SQL Server), есть сервер Data Snap, через него работает с данными клиент на Android."
один, два, три.

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

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

так что не согласен. совсем. Устойчивость при плохой связи как раз и есть принцип. HTTP весь построен на запросах ответах, поэтому отсутствие постоянного соединения вполне отвечает архитектуре системы.

А то, что обмен при установленном соединении может идти в бинарном виде - это, конечно, выигрыш, но уж больно дорогой  ценой.

http - надстройка над TCP, всего лишь крайний, прикладной уровень в OSI, при каждом запросе так же точно как в случае с субд ждать таймаута и переподключаться,(если нет способа определить разрыв сразу), в каждом пакете слать регистрацию. Запрос к БД и запрос к серверу приложений - это в обоих случаях сессия TCP и обмен массивами, только в http еще добавляются строковые заголовки, которые надо парсить.  Устойчивость здесь и близко не лежала. Те же яйца, только в профиль. И нет там никакой дорогой цены, отсутствие родных компонентов для прямого подключения - минус FMX.

Я сторонник трехзвенки, она позволяет реализовать правила работы с данными и корректно работать с СУБД, но и только.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...