C#
PR

WinCE上でのSQLServerCEの問題

kawa.xxx
記事内に商品プロモーションを含む場合があります

ImagineCup2011日本大会への出場に向けて日々活動していて春休みなんかない状態です^^;
その開発の中で一番はまったことをメモしておきます.

環境

  • Windows Compact 7
  • SQLServer Compact Edition 3.5
  • .NET Compact Framework 3.5

データベースに読み書きするプログラムを書いていたんですが,次のようなエラーが

Error
A native exception has occurred in XXX.exe.
Select Quit and then restart this program, or select Details for more information.
Error
ExceptionCode: 0xc0000005
ExceptionAddress: 0x00cf1e20
Reading: 0x01f57e7e
at NativeMethods.GetKeyInfo(IntPtr pTx, String pwszBaseTable, IntPtr prgDbKeyInfo, Int32 cDbKeyInfo, IntPtr pError)
at SqlCeDataReader.FillMetaData(SqlCeCommand command)
at SqlCeCommand.InitializeDataReader(SqlCeDataReader reader, Int32 resultType)
at SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
at SqlCeCommand.ExecuteReader(CommandBehavior behavior)   at ApplicationThreadContext._InternalContextMessages(WM wm, Int32 wParam, Int32 lParam)
at EVL.EnterMainLoop(IntPtr hwnMain)
at Application.Run(Form fm)
at Program.Main()

原因は英語文献を読んでいるとどうやらSQLServerのバグらしく,MSから最新版SP2をダウンロードしてこいとのこと…しかし,開発マシンにもCompact7にも最新版を当ててもなおらずしばらく途方に暮れていました.
試しにということで,必要なSQL関連のDLLを全部コンパイル時にexeのあるディレクトリにコピーするよう設定して動作させたら無事動いてくれるようになりました.

とほほ・・・

ABOUT ME
kawa.xxx
都内のIT系企業に勤める会社員。自分の備忘録的なアウトプット用の場所で、ボルダリングやガシェッド、セキュリティ、カメラの話題が中心です。
記事URLをコピーしました