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

Удаленное подключение к базе данных с помощью мобильного приложения


dmdel

Вопрос

Есть база данных FireBird 2.1 на сервере в локальной сети.

Возможно ли соединиться удаленно по локальной сети с базой через приложение на Android или iOS? Какие варианты решения данной проблемы существуют? Может кто сталкивался с этим?

 

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

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

  • 0
  • Модераторы

обратиться к серверу и он отдаст ответ. база не должна светить в интернет.

все делается через сервер

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

Я правильно понял, что нужно использовать стандартные компоненты при работе с FB (IBDatabase, IBQuery и т.д.). И приложение например на андроиде соединиться с базой без проблем?

Ссылка на комментарий
  • 0
  • Модераторы
Только что, dmdel сказал:

Я правильно понял, что нужно использовать стандартные компоненты при работе с FB (IBDatabase, IBQuery и т.д.). И приложение например на андроиде соединиться с базой без проблем?

нет, не правильно. нужен посредник между базой и клиентом.

обычно реализуется на любом серверном языке (php, python и тд..)

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

Есть ссылки на примеры реализации или статьи по этой теме?

1) https://ru.wikipedia.org/wiki/Трёхуровневая_архитектура

2) http://www.forum.mista.ru/topic.php?id=98106

3) в поисковике много статей найти можно

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

Для подключения к Firebird нужна клиентская библиотека.

Взять можно здесь https://firebirdsql.org/en/firebird-3-0/

в папке \lib

Изменено пользователем x11
Ссылка на комментарий
  • 0
В 27.07.2016 в 16:49, Равиль Зарипов (ZuBy) сказал:

нет, не правильно. нужен посредник между базой и клиентом.

обычно реализуется на любом серверном языке (php, python и тд..)

В случае, если только в локалке и по wi-fi, то я не согласен с Равилем. Можно и напрямую, без "прокладок" в виде php и т.д.

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

В случае, если только в локалке и по wi-fi, то я не согласен с Равилем. Можно и напрямую, без "прокладок" в виде php и т.д.

Есть некоторые минусы прямого доступа, а именно:

- Отсутствие возможности управлять процессами подключения (балансировка) RabbitMQ например

- Отсутствие возможности вносить изменения в управляемый функции без внесения изменений в клиенте.

PS мы уперлись в 1500 коннектов на БД FB2.5 и он лег....:(

 

DATASNAP просто жуть.... Память течет люто и у условиях Enterprise при постоянных требованиях к обновлению винды это издевательство

 

 

 

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

DATASNAP просто жуть.... Память течет люто и у условиях Enterprise при постоянных требованиях к обновлению винды это издевательство

 

Это касается технологии в общем или только стандартных компонент Delphi? Например, если использовать сторонние компоненты....

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

Однозначно трехзвенка, особенно с мобильными клиентами. Прямое подключение = стабильная связь, что не получится на мобильных сетях, и плюсом безопасность (попробуйте порт БД выставить во вне, и загляните через час-другой в логи доступа), а получив привелигированный доступ к субд, считай, систему потеряли.

У нас в холдинге КИС самописаная, 3-звенка, так же. Клиенты- web, мобильные на FMX и десктоп. СУБД - MS SQL, основная логика на хранимых процедурах. В промежутке как раз http сервер, писали на Delphi. Используем mORMot framework. Нагрузки держит отлично, ресурсы и память не ест практически. Скорость работы тоже на высоте - за http отвечает драйвер режива ядра http. sys

Для других проектов так же используем webbroker isapi

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

Прямое подключение = стабильная связь, что не получится на мобильных сетях, и плюсом безопасность (попробуйте порт БД выставить во вне, и загляните через час-другой в логи доступа), а получив привелигированный доступ к субд, считай, систему потеряли.

 

это неправда

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

Есть некоторые минусы прямого доступа, а именно:

- Отсутствие возможности управлять процессами подключения (балансировка) RabbitMQ например

- Отсутствие возможности вносить изменения в управляемый функции без внесения изменений в клиенте.

PS мы уперлись в 1500 коннектов на БД FB2.5 и он лег....:(

 

DATASNAP просто жуть.... Память течет люто и у условиях Enterprise при постоянных требованиях к обновлению винды это издевательство

 

 

 

Для не большого количества клиентов, балансировка не нужна. Про упрявляемые функции не совсем понял о чем идет речь. 

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

Однозначно трехзвенка, особенно с мобильными клиентами. Прямое подключение = стабильная связь, что не получится на мобильных сетях, и плюсом безопасность (попробуйте порт БД выставить во вне, и загляните через час-другой в логи доступа), а получив привелигированный доступ к субд, считай, систему потеряли.

У нас в холдинге КИС самописаная, 3-звенка, так же. Клиенты- web, мобильные на FMX и десктоп. СУБД - MS SQL, основная логика на хранимых процедурах. В промежутке как раз http сервер, писали на Delphi. Используем mORMot framework. Нагрузки держит отлично, ресурсы и память не ест практически. Скорость работы тоже на высоте - за http отвечает драйвер режива ядра http. sys

Для других проектов так же используем webbroker isapi

Я же делал акциет, если локалка. Там трехзвенка не нужна. Насчет потеряли сервер, тоже не согласен.)))

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

 

это неправда

В чем именно?

 

5 часов назад, Vitaldj сказал:

Я же делал акциет, если локалка. Там трехзвенка не нужна. Насчет потеряли сервер, тоже не согласен.)))

Ну... Так у нас тоже локалка, между 4 регионами РФ. Не физическая конечно, а виртуальная...

Ну про потерю можно много рассуждать. Для кого то и "пидемия" Пети была смехом, котиков навалом, да и контактик надежный.

Не скажу про все другие SQLи, но для MS и Oracle достаточно пары часов посветиться в мир, что бы начали пароль подбирать. Ну а дальше... а что дальше: задания агента + xp_cmdshell, или на худой конец волшебство sp_procoptions твооит свое.

Ну а пароль к субд хранить на клиенте, даже локальном, тоже ДА. Бэст практис :) особенно, если клиент это "SELECT * FROM Tablitsa_1 INNER JOIN Tablitsa_20 ON Tablitsa_1.id = Tablitsa_20. id WHERE Tablitsa_1. id > 100500 AND knopka_najmi LIKE '%меня%' "

Да. И главное не забыть, сам запрос собирать в [..]Query1_zaprosVajniy. SQL.Text

 

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

В чем именно?

 

Порт к базе мускула, например, открыт, выставлена база несколько лет уже наружу. Пока норм.

Ну т.е. я не совсем корректно написал. Не всегда будут проблемы. Хотя - это не есть хорошо.

С другой стороны, все же выставляют наружу тот же http или http+API.

Если будет целенаправленная атака, то вы хоть что там закрывайте, всё равно будут проблемы.

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

 

Порт к базе мускула, например, открыт, выставлена база несколько лет уже наружу. Пока норм.

Ну т.е. я не совсем корректно написал. Не всегда будут проблемы. Хотя - это не есть хорошо.

С другой стороны, все же выставляют наружу тот же http или http+API.

Если будет целенаправленная атака, то вы хоть что там закрывайте, всё равно будут проблемы.

Это да, похвально, что никто не ломился.

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

Помимо этого, 2 звено позволяет исправить ошибки, допущенные при проектировании, либо внести изменения в логику работы системы. Либо, если интерфейс строим динамически, обновлять на лету клиентов. 

А так да, с первого взгляда, конечно, легче сразу в базу лезть, "все сайты в интернете так работают", а на деле то нет..

А про http и http+api так и не понял. Обычно, http просто является транспортом для общения клиента и СП, ну и избавляет от создания доп. логики. Не охото заморачиваться с транспортом, то http/s, websoket, хотите-да хоть на голых сокетах, с msdn или man в охапку!

Изменено пользователем mazayhin
Ссылка на комментарий
  • 0
8 минут назад, mazayhin сказал:

А про http и http+api так и не понял.

 

Я про то, что можно досить не только мускуль, но и другие сервисы.

SSH сервер же тоже открыт бывает.

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

Дак мы про ddos тут вроде и не говорили. Эта атака подразумевает отказ в обслуживании по каким то причинам. А не получение доступа к данным. Да, SSH много где открыт, и у нашей компании в том числе, да, и на стандартном порту. Просто доступ по ключам, да fail2ban работает. Это из другого русла, вообще. 

Может все же я, да и мои коллеги, чего то не понимаем, а может это просто уже почти суббота, да или последствия морозов (думаю, OnePeople меня поймет), но все же.

Да и детей за границей еще не запретили называть Ваня Брось Таблицу

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

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

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

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

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

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

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

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

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

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

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