ので、System.data.SqlServerCE
デフォルトのパスであれば(Desktop用ですね)
C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll
を参照追加してあげる。
もちろんこれはバージョン3.5
で。
Compact3.5のデータベースファイルを作成するようにコードを書いてあげる
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlServerCe;
namespace Main
{
public partial class さかもと画伯 : Form
{
public さかもと画伯()
{
InitializeComponent();
}
private void 僕をクリック_Click(object sender, EventArgs e)
{
SqlCeEngine CeEngine = new SqlCeEngine();
System.IO.File.Delete("GAHAKU.sdf");
string connString = "Data Source = 'GAHAKU.sdf'; LCID=1033; Password = TENSAIGAKA; Encrypt = TRUE;";
SqlCeEngine engine = new SqlCeEngine(connString);
engine.CreateDatabase();
}
}
}
すると警告が発生する。
「同じ依存アセンブリの異なるバージョンで競合が見つかりました」
意味分かんないのでダブルクリックすると
「app.configファイルにバインドリダイレクトレコードを追加してこの競合を修正しますか?」
とでる。
素直に言うことを聞いて追加してもらうと、
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845DCD8080CC91" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.0.242.0" newVersion="9.0.242.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
こんなのが追加されました。
もちろんVS2008(framework3.5)でやってみる競合は起こらないです。
で。
一通り試してみたところ、ManagementStudio使ってGUIでコネコネはできないけど、コードでチマチマお触りしていくとなんとか使えるみたいです。
画伯はどーしてもマウスを使いたいお年頃なのでGUIがないとむんむんしちゃいます。都合上VS2008をすぐには業務PCで使えないので、Compact3.5をこねこねするのはもう少し先になりそうです。
ちなみに、出来上がった.sdfファイルはエクスプローラーでパッと見ると、3.1なのか3.5なのか分からないのでとても不便です。