SQLE_NOT_PUBLIC_ID Sybase mobilink错误

时间:2016-05-02 11:03:01

标签: sybase mobilink ultralite

我正在开发一个具有Sybase(ultralite)数据库的ios项目,该数据库使用mobilink与Sybase Sql Anywhere 12数据库同步。

一切都很正常,直到我今天决定将一些字段添加到主数据库,以便它们与主数据库同步。

我已经从主引擎更新了统一数据库的模式,然后我从统一引擎更新了远程数据库的模式,然后我将添加的字段映射到一起,并部署了一个新的ultralite数据库。 请注意,这不是我第一次执行类似的任务,我总是添加字段和同步数据库..

更新后,当我使用空白ultralite数据库进行同步时,mobilink将失败,只会出现此错误:同步失败:-1305(MOBILINK_COMMUNICATIONS_ERROR)%1:201%2:%3:0

我已经研究了sybase中的错误号201,它指向:SQLE_NOT_PUBLIC_ID 在sybase文档中,错误的可能原因是:

" SET OPTION语句中指定的选项仅为PUBLIC。您无法为任何其他用户定义此选项。"

我试图重新部署,我试图将引擎移动到Windows PC,所有都给出相同的错误..我不知道这个SET OPTION语句来自何处以及如何解决它..

任何提示都表示赞赏!

1 个答案:

答案 0 :(得分:0)

问题只是由设置mobilink参数时的小网络超时值引起的。

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

我刚刚将值从timeout = 1更改为timeout = 300并且它有效!