2016-05-02 3 views
0

Я работаю над проектом ios, который имеет базу данных Sybase (ultralite), которая синхронизирована с базой данных Sybase Sql Anywhere 12 с использованием mobilink.SQLE_NOT_PUBLIC_ID Ошибка Sybase mobilink

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

Я обновил схему консолидированной базы данных от основного движка, а затем обновил схему удаленной базы данных из консолидированного механизма, а затем я сопоставил добавленные поля вместе, и я развернул новую сверхлитную базу данных. Обратите внимание, что это не первый случай, когда я выполняю аналогичную задачу, я всегда добавляю поля и базы данных синхронизации ..

после обновления, когда я синхронизирую с использованием пустой базы данных ultralite, mobilink не даст этой ошибки: ошибка синхронизации: -1305 (MOBILINK_COMMUNICATIONS_ERROR)% 1: 201% 2:% 3: 0

Я исследовал номер ошибки 201 в Sybase и это указывает на: SQLE_NOT_PUBLIC_ID и в документации SyBase ошибка, наверное, причина:

«Опция, указанная в инструкции SET OPTION, только PUBLIC. Вы не можете определить эту опцию для любого другого пользователя».

Я попытался переустановить, я попытался переместить движок на ПК с Windows, все они дают ту же ошибку .. и я не знаю, откуда этот оператор SET OPTION появился и как я могу его решить ..

Любые советы приветствуются!

ответ

0

Проблема была вызвана небольшим значением сетевого тайм-аута при настройке параметров мобилизации.

info.stream_parms = (char*) @"host=192.168.0.100;port=3309;timeout=1" 

Я только что изменил значение с таймаута = 1 до таймаута = 300, и это сработало!

Смежные вопросы