データベース損傷を防ぐ重要な情報
(CE 2.xが稼動しているCEデバイス上のデータベース・エンジンを 使用している場合)

状況

Windows CE 2.x を実行しているデバイスでは、データベース損傷が起こる可能性があります。

原因

プログラム記憶領域またはファイル記憶領域のメモリが少ない状況で CE デバイスを実行している場合は、データベース損傷が起こる可能性があります。受信した I/O 要求の領域を確保するためにオペレーティング・システムがキャッシュ済みファイル・システム・ページを削除すると、この問題が発生します。この動作は、データベースにおいて数多くのタイプのアサーション障害を発生させます。

回避策

CE ファイル・システムでは、4KB のブロックに、そのファイル・システムで入出力されるI/O要求が格納されます。4KB のページ・サイズをデータベースで使用すると、この問題の発生は少なくなります。

この問題が解決されるまでは、CE 2.x オペレーティング・システムで実行されるすべてのデータベースに対して 4KB のページ・サイズを使用することを強くおすすめします。

     dbinit -p 4096 sample.db

より大きなページ・サイズを実行する場合は、より大きなデータベース・キャッシュが必要になります。デフォルトでは、CE で実行される Adaptive Server Anywhere (SQL Anywhere) サーバ の開始時のキャッシュは 600KB です。これと同じデータベース・キャッシュをエンジンに渡すには、この数値に 2 を掛けた数値が必要です。デフォルトの状況で、データベースのキャッシュ・サイズが 600KB の場合は、1200KB のキャッシュ・サイズを使用します。

     dbsrv6 -c 1200k sample.db

または
     dbsrv7 -c 1200k sample.db