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

SQL Anywhere 12.0.1 » Mobile Link サーバー管理 » Mobile Link イベント » 同期スクリプトの作成

 

エラーを処理するスクリプト

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 サーバーは統合データベースのトランザクションをロールバックしてエラーのログを取り、同期をアボートします。

 エラー処理アクション
 1 つの SQL 文で複数のエラーが処理される場合
 参照

エラーレポート