0

Windows Mobile 5 で実行されているコンパクト フレームワーク .NET 3.5 アプリケーションで、次のエラー メッセージがログに記録されています。

Could not load database compaction library. Operation has been aborted.
   at System.Data.SqlServerCe.SqlCeEngine.ProcessResults(IntPtr pError, Int32 hr)
   at System.Data.SqlServerCe.SqlCeEngine.Repair(SEFIXOPTION option, String dstConnStr, RepairOption repairOption)
   at System.Data.SqlServerCe.SqlCeEngine.Compact(String connectionString)

in:

SQL Server Compact ADO.NET Data Provider

アプリケーションは、SQL Server Compact データベース ファイルを圧縮するコマンドを発行し、上記のエラー応答を受け取ります。

エラー メッセージが断続的に表示されます。圧縮操作が完了する場合もあれば、上記のエラーがログに記録される場合もあります。

このエラー メッセージをグーグル検索すると、原因がメモリ不足 (または適切な種類のメモリ) であることを示唆する結果が得られますが、このエラーはすべてのデバイス プラットフォームで一貫して発生するわけではありません。特定の製造元の一部の Windows Mobile デバイスではこのエラーが発生せず、別の製造元の Windows Mobile デバイスではこのエラーが頻繁に発生します。

4

2 に答える 2

1

.repl cab ファイルをデバイスにインストールする必要があります。例: sqlce.repl.ppc.wce5.armv4i.CAB

于 2011-12-28T18:58:46.037 に答える
1

これは、データベースに対して何らかの修復オプションを発行した結果として発生したようです。

問題の操作の周りにブロックを書いてみましたtry...catchか?

どのコードが実際にエラーを引き起こしているかを確認することは役に立ちます。エラーをスローしているメソッドを知ることは、非常に役立ちます。

これは実際にはコメントのようなものですが、長すぎてコメント セクションに収まりませんでした。

編集:

こんにちはリチャード、

これは MSDN に関するあなたの質問ではないと思いますよね? >> LINK << 2009年当時のものです。

また、メモリが不足しているデバイスについて言及している dbaspot.com の>> THIS POST <<も見つけました。開発デバイスにはどれくらいの「もの」がありますか?

于 2011-12-28T16:18:16.170 に答える