源码介绍
在同步中实现自定义参数的传送和运用
华软 tanxstar 提供
经过研讨,实现了在PDA上想服务器传送非表数据,而且在数据下载中运用该数据作为参数限制数据的下载范围。
实现步骤以下:
1。 在客户端程序中增加传送参数,我这里是EVB的代码,各个开发工具都有对应的代码。
SyncParms.ClearAuthenticationParms SyncParms.AddAuthenticationParm (gsCityCode)
2。在同步服务器中增加authenticate_parameters事件,应用的是创建事件的存储进程ml_add_connection_script,其参数分别是版本,事件和事件代码。事件代码只可用存储进程实现。这个事件只可通过代码来增加,在Sybase Central中是没有该事件的选项的。 Call ml_add_connection_script(’update’,’authenticate_parameters’,’call ml_authenticate_parameters(?,?,?)’)
3。实现ml_authenticate_parameters存储进程,将措置惩罚过的参数存储到数据库表中
4。定义一个函数,以便能在下载的代码中获得传导服务器的同步参数函数能够措置惩罚1个或多个参数,这里需要根据你调用的事件来判断了,我是在download_cursor中调用的。
这个事件的参数为:1 last_download TIMESTAMP 2 ml_username VARCHAR(128) create or replace function GET_USER_CITY(last_download In Date,USER_NAME IN Varchar2) return integer Is Result integer; Begin Select city Into Result From ml_sync_parameters Where ML_USER_NAME =USER_NAME; return(Result); end GET_USER_CITY;
5。在同步事件中加入下载的开关 select * from table where city = get_user_city(?,?)
注意:我这里其实不是要实现自定义的用户判定,而是实现表以外的参数的传送和应用。