知っている方には当たり前のことですが、SQLServer CompactEdition4.0(以降、CE4.0)へ接続するに当たり、はまってしまいましたので備忘録として記録しておきます。
ここ最近はSQLServerとのやりとりが多かったのでC#にて
using System.Data.SqlClient; ~中略~ using (SqlConnection connection = new SqlConnection("CE4.0接続文字列")) { SqlCommand command = new SqlCommand("SQL文", connection ); }
のように記述していました。
個人的には上記のように接続文字列をCE4.0対応にさせて変更完了!と思っていたのですが、何故か接続エラーが返ってきました。
悩む事数時間。
よくよく考えてみるとCE4.0には専用のクラスがあったんですよね。
そこでusingと利用メソッドをCE4.0用に書きなおしました。
using System.Data.SqlServerCe; ~中略~ using (SqlCeConnection connection = new SqlCeConnection("CE4.0接続文字列")) { SqlCeCommand command = new SqlCeCommand("SQL文", connection ); }
この修正内容で無事、接続できました。
CE4.0はファイルベースのデータベースであるため、以下のように接続文字列はファイルへのフルパスとなります。
DataSource="C:\\workspace\\project\\project\\x86\debug\locad.sdf"
一例ですが参考までにどうぞ。