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

Android MySQL+UniDac+3G


Djchel

Вопрос

Доброго дня,форумчане.

Уважаемые знатоки,ответьте пожалуйста,в чем у меня может быть проблема.Создаю приложение для Андрюши как дипломный проект. Использую связку MySQL+UniDac(direct connect). При подключении к интернету через WiFi прога работает на ура.Но при подключении через 3G не подключается никак.Connectoin timeout.Пробовал увеличить его- безрезультатно.может настройки какие поправить необходимо или ещё какие секреты есть.

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

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

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

  • 0
11 час назад, Djchel сказал:

Доброго дня,форумчане.

Уважаемые знатоки,ответьте пожалуйста,в чем у меня может быть проблема.Создаю приложение для Андрюши как дипломный проект. Использую связку MySQL+UniDac(direct connect). При подключении к интернету через WiFi прога работает на ура.Но при подключении через 3G не подключается никак.Connectoin timeout.Пробовал увеличить его- безрезультатно.может настройки какие поправить необходимо или ещё какие секреты есть.

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

Привет, а где находится БД, не в твоей сети случайно, а ты по локальному адресу пытаешься конектиться? =))

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

У меня еще проблема была аналогичная, только MySQL база лежит в Azure. Оказалось, что Yota думает, что я раздаю интернет с коммуникатора на PC — не характерный для смартфона трафик.

Т.е. оператор может глушить обращение на не http порты.

 

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

Есть аналогичная проблема. выставлял  Connectoin timeout любые значения. эффекта 0. Проблему решаю так. форма один и форма 2. у всех компонентов свойство Connectoin false. С предыдущей формы программно задаю Connectoin true. если долго нахожусь на форме ввел данные и надо их внести в базу, то сначала Connectoin false  Connectoin true. и потом только заношу данные в базу. и так же когда покидаю форму, тоже разрываю связь. пока только такой выход. За то программа работает нормально и не пишет Lost connection server

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

У меня еще проблема была аналогичная, только MySQL база лежит в Azure. Оказалось, что Yota думает, что я раздаю интернет с коммуникатора на PC — не характерный для смартфона трафик.

Т.е. оператор может глушить обращение на не http порты.

 

тоже есть такая фигня. Ёта думает что мобила  в режиме точки доступа и предлагает ограничить подключение. выбираю бесплатно на скорости 128Мбт/с на 30 мин. после 30 мин 4Г опять начинает нормально работать.

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

Есть аналогичная проблема. выставлял  Connectoin timeout любые значения. эффекта 0. Проблему решаю так. форма один и форма 2. у всех компонентов свойство Connectoin false. С предыдущей формы программно задаю Connectoin true. если долго нахожусь на форме ввел данные и надо их внести в базу, то сначала Connectoin false  Connectoin true. и потом только заношу данные в базу. и так же когда покидаю форму, тоже разрываю связь. пока только такой выход. За то программа работает нормально и не пишет Lost connection server

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

Если выполнение запросов критично по времени, то такое решение — не лучший вариант.

 

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

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

В некоторых проектах использую передачу JSON по HTTPS, с контрольными суммами блоков данных и автоинкрементными счетчиками переданных/принятых блоков. Конечно на стороне сервера приходится держать прокладку, но зато работает стабильно.

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

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

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

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

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

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

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

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

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

×
×
  • Создать...