• 0
dmdel

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

Вопросы

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 ответа на этот вопрос

  • 0

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Только что, dmdel сказал:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
2 минуты назад, dmdel сказал:

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Еще вариант. использовать компоненты UniDAC от Devart.

Я так делаю, и никаких REST.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Для мобильных платформ эмбаркадеро рекомендует на сегодняшний день FireDAC в связке с DataSnap.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 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

тыщу раз уже обсосали

оптимально HTTP сервер на чем угодно и клиент на делфи

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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