dmdel Опубликовано 27 июля, 2016 Поделиться Опубликовано 27 июля, 2016 Есть база данных FireBird 2.1 на сервере в локальной сети. Возможно ли соединиться удаленно по локальной сети с базой через приложение на Android или iOS? Какие варианты решения данной проблемы существуют? Может кто сталкивался с этим? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 27 июля, 2016 Модераторы Поделиться Опубликовано 27 июля, 2016 обратиться к серверу и он отдаст ответ. база не должна светить в интернет. все делается через сервер Цитата Ссылка на комментарий
0 dmdel Опубликовано 27 июля, 2016 Автор Поделиться Опубликовано 27 июля, 2016 Я правильно понял, что нужно использовать стандартные компоненты при работе с FB (IBDatabase, IBQuery и т.д.). И приложение например на андроиде соединиться с базой без проблем? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 27 июля, 2016 Модераторы Поделиться Опубликовано 27 июля, 2016 Только что, dmdel сказал: Я правильно понял, что нужно использовать стандартные компоненты при работе с FB (IBDatabase, IBQuery и т.д.). И приложение например на андроиде соединиться с базой без проблем? нет, не правильно. нужен посредник между базой и клиентом. обычно реализуется на любом серверном языке (php, python и тд..) Цитата Ссылка на комментарий
0 dmdel Опубликовано 27 июля, 2016 Автор Поделиться Опубликовано 27 июля, 2016 Есть ссылки на примеры реализации или статьи по этой теме? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 27 июля, 2016 Модераторы Поделиться Опубликовано 27 июля, 2016 2 минуты назад, dmdel сказал: Есть ссылки на примеры реализации или статьи по этой теме? 1) https://ru.wikipedia.org/wiki/Трёхуровневая_архитектура 2) http://www.forum.mista.ru/topic.php?id=98106 3) в поисковике много статей найти можно Цитата Ссылка на комментарий
0 dmdel Опубликовано 27 июля, 2016 Автор Поделиться Опубликовано 27 июля, 2016 Нашел хорошие ссылки http://studmaster.ru/st/delphi/delphi7secr/chapter20/index.html https://www.youtube.com/watch?v=X-4r_iuNhv8 Цитата Ссылка на комментарий
0 Pax Beach Опубликовано 28 июля, 2016 Поделиться Опубликовано 28 июля, 2016 Еще вариант. использовать компоненты UniDAC от Devart. Я так делаю, и никаких REST. Цитата Ссылка на комментарий
0 Kitty Опубликовано 28 июля, 2016 Поделиться Опубликовано 28 июля, 2016 Для мобильных платформ эмбаркадеро рекомендует на сегодняшний день FireDAC в связке с DataSnap. Цитата Ссылка на комментарий
0 x11 Опубликовано 31 января, 2018 Поделиться Опубликовано 31 января, 2018 (изменено) Для подключения к Firebird нужна клиентская библиотека. Взять можно здесь https://firebirdsql.org/en/firebird-3-0/ в папке \lib Изменено 31 января, 2018 пользователем x11 Kitty 1 Цитата Ссылка на комментарий
0 Vitaldj Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 В 27.07.2016 в 16:49, Равиль Зарипов (ZuBy) сказал: нет, не правильно. нужен посредник между базой и клиентом. обычно реализуется на любом серверном языке (php, python и тд..) В случае, если только в локалке и по wi-fi, то я не согласен с Равилем. Можно и напрямую, без "прокладок" в виде php и т.д. Цитата Ссылка на комментарий
0 FREEFAR Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 2 часа назад, Vitaldj сказал: В случае, если только в локалке и по wi-fi, то я не согласен с Равилем. Можно и напрямую, без "прокладок" в виде php и т.д. Есть некоторые минусы прямого доступа, а именно: - Отсутствие возможности управлять процессами подключения (балансировка) RabbitMQ например - Отсутствие возможности вносить изменения в управляемый функции без внесения изменений в клиенте. PS мы уперлись в 1500 коннектов на БД FB2.5 и он лег....:( DATASNAP просто жуть.... Память течет люто и у условиях Enterprise при постоянных требованиях к обновлению винды это издевательство Цитата Ссылка на комментарий
0 x11 Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 18 минут назад, FREEFAR сказал: DATASNAP просто жуть.... Память течет люто и у условиях Enterprise при постоянных требованиях к обновлению винды это издевательство Это касается технологии в общем или только стандартных компонент Delphi? Например, если использовать сторонние компоненты.... Цитата Ссылка на комментарий
0 krapotkin Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 тыщу раз уже обсосали оптимально HTTP сервер на чем угодно и клиент на делфи Цитата Ссылка на комментарий
0 mazayhin Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 Однозначно трехзвенка, особенно с мобильными клиентами. Прямое подключение = стабильная связь, что не получится на мобильных сетях, и плюсом безопасность (попробуйте порт БД выставить во вне, и загляните через час-другой в логи доступа), а получив привелигированный доступ к субд, считай, систему потеряли. У нас в холдинге КИС самописаная, 3-звенка, так же. Клиенты- web, мобильные на FMX и десктоп. СУБД - MS SQL, основная логика на хранимых процедурах. В промежутке как раз http сервер, писали на Delphi. Используем mORMot framework. Нагрузки держит отлично, ресурсы и память не ест практически. Скорость работы тоже на высоте - за http отвечает драйвер режива ядра http. sys Для других проектов так же используем webbroker isapi Цитата Ссылка на комментарий
0 x11 Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 14 минуты назад, mazayhin сказал: Прямое подключение = стабильная связь, что не получится на мобильных сетях, и плюсом безопасность (попробуйте порт БД выставить во вне, и загляните через час-другой в логи доступа), а получив привелигированный доступ к субд, считай, систему потеряли. это неправда Цитата Ссылка на комментарий
0 Vitaldj Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 3 часа назад, FREEFAR сказал: Есть некоторые минусы прямого доступа, а именно: - Отсутствие возможности управлять процессами подключения (балансировка) RabbitMQ например - Отсутствие возможности вносить изменения в управляемый функции без внесения изменений в клиенте. PS мы уперлись в 1500 коннектов на БД FB2.5 и он лег....:( DATASNAP просто жуть.... Память течет люто и у условиях Enterprise при постоянных требованиях к обновлению винды это издевательство Для не большого количества клиентов, балансировка не нужна. Про упрявляемые функции не совсем понял о чем идет речь. Цитата Ссылка на комментарий
0 Vitaldj Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 55 минут назад, mazayhin сказал: Однозначно трехзвенка, особенно с мобильными клиентами. Прямое подключение = стабильная связь, что не получится на мобильных сетях, и плюсом безопасность (попробуйте порт БД выставить во вне, и загляните через час-другой в логи доступа), а получив привелигированный доступ к субд, считай, систему потеряли. У нас в холдинге КИС самописаная, 3-звенка, так же. Клиенты- web, мобильные на FMX и десктоп. СУБД - MS SQL, основная логика на хранимых процедурах. В промежутке как раз http сервер, писали на Delphi. Используем mORMot framework. Нагрузки держит отлично, ресурсы и память не ест практически. Скорость работы тоже на высоте - за http отвечает драйвер режива ядра http. sys Для других проектов так же используем webbroker isapi Я же делал акциет, если локалка. Там трехзвенка не нужна. Насчет потеряли сервер, тоже не согласен.))) Цитата Ссылка на комментарий
0 mazayhin Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 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 x11 Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 4 минуты назад, mazayhin сказал: В чем именно? Порт к базе мускула, например, открыт, выставлена база несколько лет уже наружу. Пока норм. Ну т.е. я не совсем корректно написал. Не всегда будут проблемы. Хотя - это не есть хорошо. С другой стороны, все же выставляют наружу тот же http или http+API. Если будет целенаправленная атака, то вы хоть что там закрывайте, всё равно будут проблемы. Цитата Ссылка на комментарий
0 mazayhin Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 (изменено) 8 минут назад, x11 сказал: Порт к базе мускула, например, открыт, выставлена база несколько лет уже наружу. Пока норм. Ну т.е. я не совсем корректно написал. Не всегда будут проблемы. Хотя - это не есть хорошо. С другой стороны, все же выставляют наружу тот же http или http+API. Если будет целенаправленная атака, то вы хоть что там закрывайте, всё равно будут проблемы. Это да, похвально, что никто не ломился. Дак смысл в том и есть, что делая 2 звено, сервер приложений, тобишь, мы сами решаем, куда давать доступ, зачем и к кому. Одновременно стараясь свести к минимуму риски порч наших систем, будь то ос, бд или логика системы. Помимо этого, 2 звено позволяет исправить ошибки, допущенные при проектировании, либо внести изменения в логику работы системы. Либо, если интерфейс строим динамически, обновлять на лету клиентов. А так да, с первого взгляда, конечно, легче сразу в базу лезть, "все сайты в интернете так работают", а на деле то нет.. А про http и http+api так и не понял. Обычно, http просто является транспортом для общения клиента и СП, ну и избавляет от создания доп. логики. Не охото заморачиваться с транспортом, то http/s, websoket, хотите-да хоть на голых сокетах, с msdn или man в охапку! Изменено 2 февраля, 2018 пользователем mazayhin Цитата Ссылка на комментарий
0 x11 Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 8 минут назад, mazayhin сказал: А про http и http+api так и не понял. Я про то, что можно досить не только мускуль, но и другие сервисы. SSH сервер же тоже открыт бывает. Цитата Ссылка на комментарий
0 mazayhin Опубликовано 2 февраля, 2018 Поделиться Опубликовано 2 февраля, 2018 (изменено) Дак мы про ddos тут вроде и не говорили. Эта атака подразумевает отказ в обслуживании по каким то причинам. А не получение доступа к данным. Да, SSH много где открыт, и у нашей компании в том числе, да, и на стандартном порту. Просто доступ по ключам, да fail2ban работает. Это из другого русла, вообще. Может все же я, да и мои коллеги, чего то не понимаем, а может это просто уже почти суббота, да или последствия морозов (думаю, OnePeople меня поймет), но все же. Да и детей за границей еще не запретили называть Ваня Брось Таблицу Изменено 2 февраля, 2018 пользователем mazayhin Цитата Ссылка на комментарий
Вопрос
dmdel
Есть база данных FireBird 2.1 на сервере в локальной сети.
Возможно ли соединиться удаленно по локальной сети с базой через приложение на Android или iOS? Какие варианты решения данной проблемы существуют? Может кто сталкивался с этим?
Ссылка на комментарий
22 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.