Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » MobiLink - 服务器管理 » MobiLink 事件 » 编写同步脚本 » 脚本参数

 

验证参数

在 MobiLink 脚本中,验证参数是命名参数,其前缀为字母 a,例如 {ml a.1}。这些参数必须是从 1 开始的数字,且限制在 255 之内。其值从 MobiLink 客户端发出。

在 authenticate_* 脚本中使用时,验证参数会传递验证信息。

可在所有其它事件(begin_connection 和 end_connection 除外)中使用验证参数传递来自 MobiLink 客户端的信息。在通过创建和填充表格完成某操作时,此技术将是一个非常便捷的方法。

在 SQL Anywhere 远程数据库上,利用 dbmlsync -ap 选项传递信息。在 UltraLite 远程数据库上,利用 auth_parms 和 num_auth_parms 传递信息。

另请参见
示例

对于 UltraLite 远程数据库,请使用 ul_synch_info 结构中的 num_auth_parms 和 auth_parms 字段传递参数。num_auth_parms 是参数数目的计数(0 至 255),auth_parms 是指向字符串数组的指针。为防止以纯文本格式查看这些字符串,它们与口令采用相同的方式进行发送。如果 num_auth_parms 为 0,请将 auth_parms 设置为空。以下是在 UltraLite 中传递参数的一个示例:

ul_char * Params[ 3 ] = { UL_TEXT( "param1" ), 
   UL_TEXT( "param2" ), UL_TEXT( "param3" ) };

...
info.num_auth_parms = 3;
info.auth_parms = Params;

对于 SQL Anywhere 远程数据库,请使用 dbmlsync -ap 选项,通过逗号分隔的列表传递验证参数。例如,以下命令行传递三个参数:

dbmlsync -ap "param1,param2,param3"

在服务器上,按脚本的发送顺序对其进行引用。在此示例中,authenticate_parameters 脚本可以为:

CALL my_auth_parm ( 
  {ml s.authentication_status},
  {ml s.remote_id},
  {ml s.username},
  {ml a.1},
  {ml a.2},
  {ml a.3} 
)