同期時の部分的なダウンロードを無効にするか、有効にするかを指定します。
setKeepPartialDownload( Boolean value )
value 同期中に部分的なダウンロードを保持する場合は true、破棄する場合は false に設定します。
Ultra Light では、通信エラーが原因で失敗したダウンロードを再開することができます。Ultra Light は、ダウンロードを受信しながら処理します。ダウンロードが中断した場合は、部分的なダウンロード・トランザクションがデータベース内に残るため、次の同期中に再開できます。
Ultra Light で部分的なダウンロードを保存する必要があることを示すには、Connection.syncParms.setKeepPartialDownload(true); と指定します。指定しないと、エラーが発生した場合にダウンロードがロールバックされます。
部分的なダウンロードが保持された場合、connection.synchronize の終了時に、出力フィールド connection.SyncResult.getPartialDownloadRetained が true に設定されます。getPartialDownloadRetained が設定されている場合は、ダウンロードを再開できます。再開するには、connection.syncParms.setResumePartialDownload(true) を指定して connection.synchronize を呼び出します。多くの場合、別の通信エラーの発生に備えて、KeepPartialDownload も true に設定する必要があります。ダウンロードが省略された場合は、アップロードは行われません。
再開したダウンロードで受信するダウンロードは、最初にダウンロードを開始したときと同じものです。最新のデータが必要な場合は、再開された特別なダウンロードが完了した直後に、もう一度ダウンロードを行うことができます。
ダウンロードを再開する場合、SyncParms フィールドの多くは関係ありません。受信するパブリケーションは、最初のダウンロード時に要求したものです。設定する必要があるフィールドは、setResumePartialDownload(boolean) と setUserName(String) だけです。setKeepPartialDownload(boolean) フィールド、setDownloadOnly(boolean) フィールド、setDisableConcurrency(boolean) フィールドを必要に応じて設定すると、正常に機能します。
部分的なダウンロードが存在するが、このダウンロードが必要ではなくなった場合は、Connection.rollbackPartialDownload を呼び出して、失敗したダウンロード・トランザクションをロールバックできます。また、同期をもう一度実行したときに ResumePartialDownload を指定しなかった場合は、部分的なダウンロードがロールバックされてから、次の同期が開始されます。
同期の障害処理の方法を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |