0

/からSQLサーバーCEデータベースへのデータを取得および更新するためのC#.net Windowsフォームアプリケーションを開発しました.Windows CE 6.0マシンでこのアプリを実行しているときに、次のエラーが発生しました:

A native exception occurred in ItemDB.exe(my exe name).

Details:
Exception code : 0x80000002
Exception address: 0x40e843b4
Faulting module: sqlceme35.dll
offset: 0x000043b4

at    

NavigateMethod.GetKeyInfo(parm1,parm2,...)

at

SqlCEDataReader.FillMetaData(command)

at

sqlCeCommand.InitializeDataReader() 

それで、ネットで検索したところ、次のリンクが見つかりました。

http://go4answers.webhost4life.com/Example/cant-find-pinvoke-dll-sqlceme35dll-49162.aspx

http://blogs.msdn.com/b/sqlservercompact/archive/2007/10/26/can-t-find-p-invoke-dll-sqlcemenn-dll.aspx

示唆されたように、ZIP ファイルをコピーして (Cab ファイルを取得できなかったため)、これを .Cab に変更しました。次に、Cab を実行しようとしましたが、「これは有効な wince セットアップ ファイルではありません」と表示されました。

明確に説明していただければ幸いです。誰か助けていただけませんか?

4

1 に答える 1

4

これはほとんどの場合、PC でコンパイルしたものとデバイスに展開したものとの間の SQL CE バージョンの違いが原因です。プロジェクト参照とデバイス上のものの両方で、SQL CE のバージョン番号が同じであることを確認してください。通常、参照の「.NET」タブからではなく参照を追加しますが、特に参照を参照して、使用されているファイルを正確に把握し、同じ場所からデバイスに SQLCE を手動で展開します。

*編集

展開するファイルを探す場所は次のとおりです。

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i

そして、あなたのプロジェクト参照はここを指している必要があります:

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\System.Data.SqlServerCe.dll

于 2013-10-22T15:30:42.747 に答える