Перейти к содержанию
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 эмодзи.

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

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

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

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