Mobile Link サーバがスクリプト内のオペレーションを実行しているとき、そのオペレーションに失敗すると、同期スクリプトのエラーが発生します。SQL スクリプトの場合、DBMS は、エラーの内容を示す SQLCODE とエラーメッセージを Mobile Link サーバに返します。統合データベースの各 DBMS は、独自の SQLCODE とメッセージのセットを持っています。デフォルトでは、Mobile Link サーバは統合データベースのトランザクションをロールバックしてエラーのログを取り、同期をアボートします。
SQL データスクリプトの呼び出し中にエラーが発生すると、handle_error イベントまたは handle_odbc_error イベントが呼び出されます。これらのエラー処理スクリプトが定義されている場合、Mobile Link サーバはエラー処理スクリプトを呼び出し、エラーの性質とコンテキストについての情報を提供するいくつかのパラメータを渡します。その中の action_code というパラメータは、Mobile Link サーバにエラーへの対処方法を指示する出力値です。action_code は、エラーを無視するか、または同期をアボートするよう Mobile Link サーバに指示します。
エラー処理スクリプトは、すべての SQL エラーに対して呼び出されるわけでは「ありません」。エラー処理スクリプトは、データスクリプトによってのみ呼び出されます。データスクリプト以外でエラーが発生した場合、Mobile Link サーバは統合データベースのトランザクションをロールバックしてエラーのログを取り、同期をアボートします。
統合データベースの DBMS で例外処理がサポートされている場合は、エラー処理スクリプトの代わりにその例外処理を使用することを検討してください。特に、データスクリプトの特定のエラーを無視する必要がある場合は、検討が必要です。一般的に、例外処理を使用すると、エラー処理スクリプトよりもパフォーマンスが向上します。
handle_error スクリプトまたは handle_odbc_error スクリプト自体でエラーが発生した場合、Mobile Link サーバは統合データベースのトランザクションをロールバックしてエラーのログを取り、同期をアボートします。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |