同期時の部分的なダウンロードを無効にするか、有効にするかを指定します。
Visual Basic Public Property KeepPartialDownload As Boolean
C# public bool KeepPartialDownload { get; set; }
同期時の部分的なダウンロードを有効にする場合は true、無効にする場合は false。デフォルトは false です。
Ultra Light.NET では、通信エラーや、ユーザによる ULSyncProgressListener からのアボートが原因で失敗したダウンロードを再起動できます。Ultra Light.NET は、ダウンロードを受信しながら処理します。ダウンロードが中断した場合は、部分的なダウンロード・トランザクションがデータベース内に残るため、次の同期中に再開できます。
Ultra Light.NET で部分的なダウンロードを保存する必要があることを示すには、connection.SyncParms.KeepPartialDownload=true と指定します。指定しないと、エラーが発生した場合にダウンロードがロールバックされます。
部分的なダウンロードが保持された場合、connection.Synchronize() の終了時に、出力フィールド connection.SyncResult.ULSyncResult.PartialDownloadRetained が true に設定されます。
PartialDownloadRetained が設定されている場合は、ダウンロードを再開できます。再開するには、true に設定された connection.SyncParms.ULSyncParms.ResumePartialDownload を使用して connection.Synchronize() を呼び出します。別の通信エラーの発生に備えて、KeepPartialDownload も true に設定しておくことをおすすめします。ダウンロードが省略された場合は、アップロードは行われません。
再開したダウンロードで受信するダウンロードは、最初にダウンロードを開始したときと同じものです。最新のデータが必要な場合は、再開された特別なダウンロードが完了した直後に、もう一度ダウンロードを行うことができます。
ダウンロードを再開する場合、ULSyncParms フィールドの多くは関係ありません。たとえば、Publications フィールドは使用されません。受信するパブリケーションは、最初のダウンロード時に要求したものです。設定する必要があるフィールドは、ResumePartialDownload と UserName だけです。KeepPartialDownload フィールドと DisableConcurrency フィールドを必要に応じて設定すると、正常に機能します。
部分的なダウンロードが存在するが、このダウンロードが必要ではなくなった場合は、ULConnection.RollbackPartialDownload() を呼び出して、失敗したダウンロード・トランザクションをロールバックできます。また、同期をもう一度実行したときに ResumePartialDownload を指定しなかった場合は、部分的なダウンロードがロールバックされてから、次の同期が開始されます。
詳細については、失敗したダウンロードの再開を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |