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} ) |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |