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

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link イベント » 同期スクリプトの作成 » スクリプトのパラメータ

 

認証パラメータ

Mobile Link スクリプトでは、認証パラメータは、{ml a.1} のように先頭に文字 a のプレフィクスが付いた名前付きパラメータです。パラメータは 1 から始まり、上限が 255 の数値です。値は Mobile Link クライアントから送信されます。

authenticate_* スクリプトで使用すると、認証パラメータによって認証情報が渡されます。

認証パラメータは他のすべてのイベント (begin_connection と end_connection を除く) で Mobile Link クライアントからの情報を渡すために使用できます。この方法は、通常ならテーブルを作成し、データを移植する必要があるような処理を行うのに便利です。

SQL Anywhere リモートでは、dbmlsync -ap オプションを指定して情報を渡します。Ultra Light リモートでは、auth_parms と num_auth_parms を指定して情報を渡します。

参照

Ultra Light リモート・データベースでは、ul_synch_info 構造体の num_auth_parms フィールドと auth_parms フィールドを使用して、パラメータを渡します。num_auth_parms は、パラメータの数で、0 ~ 255 の値になります。auth_parms は、文字列の配列へのポインタです。文字列がプレーン・テキストとして表示されるのを防ぐため、文字列はパスワードと同じ方法で送信されます。num_auth_parms が 0 の場合、auth_parms は NULL に設定します。次に、Ultra Light でパラメータを渡す例を示します。

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 オプションを使用して、認証パラメータをカンマで区切られたリストで渡します。たとえば、次のコマンド・ラインは 3 つのパラメータを渡します。

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} 
)