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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere 11 - 変更点とアップグレード » バージョン 9.0.0 の新機能 » バージョン 9.0 での動作の変更

 

Mobile Link の動作の変更

ここでは、これまでのバージョンとは異なる動作をリストにして説明します。

  • dbmlsync の -i オプションと SiteScriptName 拡張オプションのサポート終了   dbmlsync -i と dbmlsync -e sc は、サポートされなくなりました。代わりに、sp_hook_dbmlsync_schema_upgrade という新しいフックが使用されます。

    sp_hook_dbmlsync_schema_upgradeを参照してください。

  • ダウンロード確認がデフォルトでは OFF   Adaptive Server Anywhere リモートの場合、SendDownloadAck 拡張オプションのデフォルト値は OFF です。Ultra Light の場合、ul_synch_info 構造体の send_download_ack フィールドのデフォルト値は ul_false です。

    バージョン 9 にアップグレードする場合、ダウンロード・トランザクションのコミット前に、リモートがダウンロードを適用したことをアプリケーションが確認する必要がある場合は、このオプションを明示的に On にしてください。次の項を参照してください。

  • Windows CE デバイス上でデフォルトでは動作しない dbmlsync フックがある   dbmlsync の LockTables 拡張オプションが変更され、テーブルを共有モードでロックするか、または排他モードでロックするかを指定できるようになりました。LockTables のデフォルト設定は ON であり、Windows CE 以外のすべてのプラットフォームで、テーブルを共有モードでロックし続けます。しかし、Windows CE デバイスの場合、ON は、テーブルを排他モードでロックすることを意味します。この変更によって、Windows CE アプリケーションのパフォーマンスが大幅に向上します。

    dbmlsync のイベント・フックである sp_hook_dbmlsync_download_com_error、sp_hook_dbmlsync_download_fatal_sql_error、sp_hook_dbmlsync_download_log_ri_violation はすべて、個別の接続で実行されます。これらのフックが排他モードでロックされている同期テーブルへのアクセスを試みても、正しく実行できません。Windows CE 上での配備の中でこのいずれかのフックを使用する場合は、LockTables を SHARE に設定する必要があります。次の項を参照してください。

  • Mobile Link サーバのエラー・コード   Mobile Link サーバから、エラーに関する詳しい情報が出力されるようになりました。Mobile Link サーバ・エラー・コードは -10001 から始まり、すべてが -10000 未満です。dbmlsync の場合、エラーは GUI と出力ファイルに出力されます。Ulrta Light の場合、エラーは ul_synch_info 構造体の中の文字列として有効です。

    Mobile Link サーバのエラー・メッセージを参照してください。

  • 廃止予定のアップロード・カーソル   upload_cursor、new_row_cursor、old_row_cursor の各スクリプトは今後サポートを終了する予定です。アップロード・ストリームには文ベースのスクリプトを使用してください。

    ローをアップロードするスクリプトの作成を参照してください。

  • 廃止予定の -zac と -zec   Mobile Link サーバの、カーソルベースのスクリプトを生成する -zac と -zec オプションは廃止される予定です。

  • -zd の削除   Mobile Link サーバの、last_download タイムスタンプを最後に渡すことを指定する -zd オプションが削除されました。この結果、このパラメータは常に最初に渡されるようになりました。

  • 廃止予定の mlxtract   mlxtract ユーティリティは廃止される予定です。

    リモート・データベースの作成を参照してください。

  • end_synchronization スクリプトが常に呼び出される   9.0 より以前のバージョンでは、同期が失敗したときに end_synchronization スクリプトが呼び出されないことがありました。現在のバージョンでは、begin_synchronization スクリプトが呼び出されていれば、スクリプトは常に呼び出されます。つまり、同期が成功したかどうかに関わらず、end_synchronization スクリプトに設定したクリーンアップ・アクティビティは実行されます。

    また、end_synchronization スクリプトには sync_ok という新しいパラメータが追加されています。このパラメータは、同期の成功 (1) または失敗 (0) を表します。

    end_synchronization 接続イベントend_synchronization テーブル・イベントを参照してください。

  • ストリーム DLL と共有オブジェクトの名前変更   ストリーム DLL と共有オブジェクトの名前が変更され、Adaptive Server Anywhere との統一が図られました。次の表は、変更の詳細を示します。

    以前の名前 新しい名前
    dbhttp9 dbmlhttp9
    dbhttps9 dbmlhttps9
    dbjrsa9 dbmljrsa9
    dbjtls9 dbmljtls9
    dbrsa9 dbmlrsa9
    dbsock9 dbmlsock9
    dbtls9 dbmltls9

    Mobile Link アプリケーションの配備を参照してください。

  • ScoutSync のサポート終了   ScoutSync はサポートされなくなりました。

  • 同期のたびにスキーマ情報は再ロードされない   9.0 より以前のバージョンでは、同期のたびにデータベースからスキーマ情報が再ロードされていました。現在のバージョンでは、dbmlsync の起動時にのみ、スキーマ情報は再ロードされます。dbmlsync -sc オプションを使用すると、以前の動作に戻すことができます。-sc オプションを使用していない場合は、スキーマ変更がリモート・データベースに加えられる前に、dbmlsync をシャット・ダウンする必要があります。シャット・ダウンせずにスキーマ変更を加えると、同期エラーが発生する可能性があります。または、dbmlsync が予期せぬ動作をすることがあります。

    -sc オプションを参照してください。

  • 主要なスクリプトがない場合は同期が中止される   9.0 より以前のバージョンでは、特定のスクリプトがないためにデータの損失を引き起こす可能性がある場合でも、同期は続けられました。現在のバージョンでは、このような場合に Mobile Link は中止するようになりました。dbmlsrv9 -fr オプションを使用すると、失敗の代わりにエラーを出力できます。

    -fr オプションを参照してください。

  • keep_alive 同期パラメータは削除される   TCP/IP と HTTP プロトコルの keep_alive 同期パラメータは有効でなくなり、常に ON に設定されるようになりました。これは、以前のデフォルト設定でした。TCP/IP 接続の活性を制御するには、liveness_timeout パラメータを使用します。

    CommunicationAddress (adr) 拡張オプションまたは-x オプションで liveness_timeout パラメータに関する説明を参照してください。