カーソルベースのアップロードの削除 upload_cursor、new_row_cursor、old_row_cursor の各スクリプトは、バージョン 9.0.0 で廃止されていましたが、このバージョンで削除されました。代わりに、文ベースのスクリプトを使用してください。
ローをアップロードするスクリプトを参照してください。
認識されないスクリプトにより同期が失敗する Mobile Link サーバーで認識されないテーブルレベルまたは接続レベルのスクリプトが検出されると、同期がアボートされます。以前のバージョンでは、認識されないスクリプトは警告メッセージを発行するだけでした。今後は、カーソルベースのアップロードスクリプトが存在すると、同期がアボートされます。
同期の失敗を引き起こすアップロードスクリプトまたはダウンロードスクリプトのエラー Mobile Link サーバーでアップロードスクリプトやダウンロードスクリプトのエラーを検出すると、同期が常にアボートされるようになりました。以前は、同期がアボートされない場合がありました。
制限が厳しくなった handle_error と handle_odbc_error イベントの動作 handle_error と handle_odbc_error スクリプトが呼び出されるのは、アップロードトランザクション中に Mobile Link で挿入、更新、または削除スクリプトの処理中に ODBC エラーが発生した場合、またはダウンロードローをフェッチしている場合だけになりました。それ以外の場合に ODBC エラーが発生すると、Mobile Link サーバーは report_error または report_odbc_error スクリプトを呼び出して、同期をアボートします。
認証スクリプトのコミット エラーがない場合、Mobile Link サーバーは authenticate_user、authenticate_user_hashed、または authenticate_parameters を呼び出した後で常にトランザクションをコミットします。以前は、失敗した認証に関係するトランザクションがロールバックされていたため、認証の試行失敗のレコードはありませんでした。次の項を参照してください。
authenticate_user_hashed script の変更 authenticate_user_hashed スクリプトは、ユーザーの認証シーケンス中に複数回呼び出すことができるようになりました。
authenticate_user_hashed 接続イベントを参照してください。
開始スクリプトが呼び出されると、同期の成功に関係なく終了スクリプトが呼び出される Mobile Link スクリプトによっては、begin_connection と end_connection のように開始と終了の形式があります。以前は、同期に失敗すると、終了スクリプトが実行されないことがありました。今回のバージョンでは、開始スクリプトが呼び出されると、同期でエラーが発生した場合でも、終了スクリプトが定義されていれば常に呼び出されるようになりました。
同期イベントを参照してください。
テーブルにアップロードするデータがない場合はアップロードスクリプトが呼び出されない 以前のバージョンでは、-us オプションを使用して、アップロードするデータがない場合は Mobile Link サーバーがアップロードスクリプトを呼び出さないようにすることができました。-us オプションは削除され、デフォルトではアップロードストリームにアップロードするデータが含まれる場合にかぎり、Mobile Link サーバーはアップロードスクリプトを呼び出します。-zus オプションを使用すると、以前の動作に戻すことができます。
-zus mlsrv12 オプションを参照してください。
SQL Anywhere 10 と Microsoft SQL Server 2005 の統合データベースは、begin_connection スクリプトで独立性レベルを変更しない SQL Anywhere バージョン 10 と Microsoft SQL Server 2005 以降では、ダウンロードのデフォルトの独立性レベルがスナップショットになりました。独立性レベルはダウンロードトランザクションの開始時に変更できますが、その場合は begin_connection スクリプトの設定がすべて上書きされます。そのため、begin_download スクリプトのダウンロードの独立性レベルを変更するか、新しい mlsrv10 -dsd オプションを使用して、スナップショットアイソレーションを無効にする必要があります。以前のマニュアルでは、begin_connection スクリプトで独立性レベルを変更することをおすすめしていました。スナップショットアイソレーションを使用しない統合データベースに対しては、現在もこの方法が有効です。
Mobile Link 独立性レベルを参照してください。
example_upload_cursor、example_upload_delete、example_upload_insert、example_upload_update テーブルイベントの削除 -za と -ze の Mobile Link サーバーオプションが削除されたことにより、example_upload_cursor、example_upload_delete、example_upload_insert、example_upload_update テーブルイベントは生成されなくなりました。同期モデル作成ウィザードを使用してスクリプトを生成できるようになりました。
-w と -wu オプションの変更 -w と -wu オプションは、データベースワーカースレッド数と、アップロードするデータベースワーカースレッドの最大数をそれぞれ設定します。以前のバージョンでは、これらのワーカースレッドが、ネットワークに対する読み込みと書き込み、プロトコルバイトとローデータのパックとアンパック、スクリプトの実行、統合データベースのローの更新とフェッチなど、同期のすべての処理を実行していました。
今回のバージョンでは、-w と -wu で指定されたワーカースレッドはデータベースワーカースレッドになります。これらのデータベースワーカースレッドだけが、すべてのデータベースアクティビティの処理のみを行います。他のスレッドは、ネットワークアクティビティ、パックとアンパック、その他の Mobile Link サーバーのアクティビティの処理を行います。
-w と -wu オプションの新しい動作は、ネットワークのアクティビティとは関係ありません。以前のバージョンでは、遅延時間が長いネットワークによってワーカースレッドがブロックされることがあり、一部の配備で大量のワーカースレッドを指定する必要がありました。新しい Mobile Link アーキテクチャーでは、この要件はなくなりました。
-w と -wu オプションは、Mobile Link サーバーが統合データベースに与える負荷を制限する最も簡単な方法です。-w と -wu の値をテストすると、お使いの同期システムに最適なスループットを見つけることができます。次の項を参照してください。
キャッシュサイズの設定オプションの削除 次の mlsrv10 オプションが削除されました。
これらのオプションは、mlsrv10 -cm で置き換えられました。このオプションは、すべての同期でキャッシュを設定します。
-cm mlsrv12 オプションを参照してください。
タイムアウトの設定オプションの削除 次の mlsrv10 オプションは不要になり、削除されました。
また、mlsrv10 liveness_timeout オプションも削除されました。同期クライアント用のタイムアウトオプションで置き換えられました。
timeoutを参照してください。
プロトコル名とネットワークセキュリティオプションの変更 ネットワークプロトコルキーワード https_fips、rsa_tls、rsa_tls_fips、ecc_tls と、ネットワークプロトコルのオプションセキュリティが削除されました。プロトコルは削除されていませんが、異なる方法で指定する必要があります。mlsrv10 -x 構文は次のように変更されました。
以前の構文 | バージョン 10.0.0 の新しい構文 | 説明 |
---|---|---|
-x https_fips | -x https(fips=y;...) | HTTPS FIPS |
-x rsa_tls | -x tls(tls_type=rsa;...) | RSA 暗号化を使用した TCP/IP TLS |
-x rsa_tls_fips | -x tls(tls_type=rsa;fips=y;...) | RSA 暗号化と FIPS 認定の暗号化を使用した TCP/IP TLS |
-x ecc_tls | -x tls(tls_type=ecc;...) | ECC 暗号化を使用した TCP/IP TLS |
-x tcpip(security=...) | -x tcpip | TCP/IP |
-x http(security=...) | -x http | HTTP |
-x mlsrv12 オプションを参照してください。
-bn オプションの変更 mlsrv10 -bn オプションは、競合検出時に BLOB バイトを比較します。以前は、LONGVARCHAR 型のデータの文字が比較されていました。今回のバージョンでは、バイナリと LONGVARCHAR BLOB で比較される単位は常にバイトになります。
-bn mlsrv12 オプションを参照してください。
冗長出力の変更 mlsrv10 のオプション -vr、-vt、-vu は、どれもわずかに異なる情報を出力します。
-vr -vr は、アップロードとダウンロードのロー値だけを返すようになりました。以前は、アップロードとダウンロードのスクリプト名と内容も返していました。
-vt -vt は、変換後のスクリプトの内容だけを返すようになりました。以前は、元のスクリプトの内容も返していました。
-vu -vu は、未定義のテーブルスクリプトを呼び出す必要があるときに、それらのスクリプトすべてを返すようになりました。これには統計スクリプトも含まれます。
-v mlsrv12 オプションを参照してください。
Mobile Link サーバーオプション -za と -ze の削除 Mobile Link サーバーの -za オプションと -ze オプションによる自動スクリプト生成は削除されました。同期モデル作成ウィザードを使用してスクリプトを生成できるようになりました。
-zac と -zec の削除 Mobile Link サーバーの、カーソルベースのスクリプトを生成する -zac と -zec オプションは廃止されていましたが、このバージョンで削除されました。
Mobile Link サーバーオプション -oy の削除 mlsrv10 -oy オプション (タイムスタンプの年を表す) が削除されました。今後は、情報、警告、エラーの各メッセージのタイムスタンプに年は常に含まれます。
アップロードとダウンロードのバイト数の意味が変更されました。この数は、アップロードとダウンロードを格納するために Mobile Link サーバー内で使用されるメモリ量を反映するようになりました。以前は、Mobile Link サーバーに対して送受信されたアップロードとダウンロードのバイト数を表していました。新しい数は、同期がサーバーメモリに与える影響が反映されるので、より有用になりました。また、以前の数は、HTTP、暗号化、または圧縮が使用されたときの信頼性に欠けていました。
マニュアルの前のバージョンでは、プロパティを通常のアップロードモードと強制的な競合モードのどちらで使用しているかによってプロパティが異なる値を返すことについて、プロパティの説明に記述されていませんでした。この点が修正されました (以下を参照)。
次の統計プロパティが変更されました。
統計プロパティ | 説明 |
---|---|
conflicted_deletes |
通常のアップロードモードでは、この値は常に 0 です。 強制的な競合モードでは、upload_old_row_insert スクリプトを使用して統合データベースに正常に挿入されたアップロード削除の総数を返します。 以前は、競合が検出されたアップロード済み削除の数を返していました。 |
conflicted_inserts |
通常のアップロードモードでは、この値は常に 0 です。 強制的な競合モードでは、upload_new_row_insert スクリプトを使用して統合データベースに正常に挿入されたアップロード挿入の総数を返します。 以前は、競合が検出されたアップロード済み挿入の数を返していました。 |
conflicted_updates |
通常のアップロードモードでは、競合を引き起こした更新ローの総数を返します。 強制的な競合モードでは、upload_new_row_insert または upload_old_row_insert スクリプトを使用して正常に適用されたアップロード更新ローの総数を返します。 以前は、競合が検出されたアップロード済み更新の数を返していました。 |
download_bytes |
ダウンロードを格納するために Mobile Link サーバー内で使用されるメモリ量を返します。 以前は、ダウンロード済みバイト数を返していました。 |
ignored_deletes |
通常のアップロードモードでは、handle_error または handle_odbc_error が定義されており、1000 が返された場合、または指定のテーブルに対して upload_delete スクリプトが定義されていない場合において、upload_delete スクリプトを呼び出したときにエラーを発生させたアップロード削除ローの総数を返します。 強制的な競合モードでは、handle_error または handle_odbc_error が定義されており、1000 が返された場合、または指定のテーブルに対して upload_old_row_insert スクリプトが定義されていない場合において、upload_old_row_insert スクリプトを呼び出したときにエラーを発生させたアップロード削除ローの総数を返します。 以前は、無視されたアップロード済み削除の数を返していました。 |
ignored_inserts |
通常のアップロードモードでは、handle_error または handle_odbc_error が定義されており、1000 が返された場合、または指定のテーブルに対して upload_insert スクリプトが定義されていない場合において、upload_insert スクリプトを呼び出したときにエラーを発生させたアップロード挿入ローの総数を返します。 強制的な競合モードでは、handle_error または handle_odbc_error が定義されており、1000 が返された場合、または指定のテーブルに対して upload_insert スクリプトが定義されていない場合において、upload_new_row_insert スクリプトを呼び出したときにエラーを発生させたアップロード挿入ローの総数を返します。 以前は、無視されたアップロード済み挿入の数を返していました。 |
ignored_updates |
通常のアップロードモードでは、handle_error または handle_odbc_error が定義されており、1000 が返された場合、または指定のテーブルに対して upload_update スクリプトが定義されていない場合において、upload_update スクリプトを呼び出したときにエラーを発生させたアップロード更新ローの総数を返します。 強制的な競合モードでは、handle_error または handle_odbc_error が定義されており、1000 が返された場合、または upload_new_row_insert または upload_old_row_insert スクリプトを呼び出したときにエラーを発生させたアップロード更新ローの総数を返します。 以前は、無視されたアップロード済み更新の数を返していました。 |
upload_bytes |
アップロードを格納するために Mobile Link サーバー内で使用されるメモリ量を返します。 以前は、アップロード済みバイト数を返していました。 |
upload_deleted_rows |
通常のアップロードモードでは、統合データベースから正常に削除されたローの総数を返します。 強制的な競合モードでは、この値は常に 0 です。 以前は、同期クライアントからアップロードされたロー削除の数を返していました。 |
upload_inserted_rows |
通常のアップロードモードでは、統合データベースに正常に挿入されたローの総数を返します。 強制的な競合モードでは、この値は常に 0 です。 以前は、同期クライアントからアップロードされたロー挿入の数を返していました。 |
upload_updated_rows |
通常のアップロードモードでは、統合データベースで正常に更新されたローの総数を返します。 強制的な競合モードでは、この値は常に 0 です。 以前は、同期クライアントからアップロードされたロー更新の数を返していました。 |
Mobile Link の統計のプロパティを参照してください。
リモートデータベースの CHAR または NCHAR データ型のカラムに対して NULL 文字を同期できるようになった 以前の Mobile Link では、NULL 文字を含む VARCHAR カラムと CHAR カラムの値によって同期が失敗することがありました。今回のバージョンでは、CHAR、VARCHAR、LONG VARCHAR、NCHAR、NVARCHAR、LONG NVARCHAR データ型のリモートデータベースカラムに含まれる NULL 文字を同期できるようになりました。
情報、警告、エラーメッセージのログの新しいフォーマット 以前は、Mobile Link サーバーは次のフォーマットでメッセージをログに記録していました。
T.mm/dd hh:mm:ss. thread_id User_name: message |
今回のバージョンでは、次のフォーマットでメッセージがログに記録されるようになりました。
T. yyyy-mm-dd hh:mm:ss. synchronization_id: message |
同期ごとに、ログの最初のメッセージはリモート ID、ユーザー名、スクリプトバージョン、クライアント名 (Ultra Light または SQL Anywhere) を示します。
新しいフォーマットでは、提供される情報は減ることなく、出力ログのサイズが小さくなりました。
Oracle 用システムプロシージャーの新しいデータ型 スクリプトを登録するための Mobile Link システムプロシージャーでは、Oracle 統合データベース用にスクリプトの内容パラメーターで CLOB データ型が使用されるようになりました。ml_add_property システムプロシージャーでは、Oracle 用に prop_value パラメーターが CLOB 型になりました。以前は、これらのパラメーターは VARCHAR 型でした。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |