プロが教えるわが家の防犯対策術!

QL Server compact3.5の質問です

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1

Windows XP Pro sp3

の環境ででSQL Server compact3.5へ接続するアプリの作成を始めたのですがうまく接続できません。
データソースを Microsoft SQL Serverへ変更すれは接続できているようです。
以下がソースです。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;

namespace SQL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{


System.Data.SqlClient.SqlConnection scn = new System.Data.SqlClient.SqlConnection();
scn.ConnectionString = @"Data Source='G:\Documents and Settings\MyDatabase#3.sdf'";
scn.Open();
MessageBox.Show("setsduzoku");
scn.Close();
}
private void Form1_Load(object sender, EventArgs e)
{

}
}
}

以下のエラーが出ます
SqlExceptionはハンドルされませんでした。
サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました)

テスト接続は成功します、
テーブルも作成済みです、
同じ方法でMicrosoft SQL Server2005へは接続できます。
何か気づく点がございましたらご指摘頂けると助かります。
よろしくお願いします。

A 回答 (1件)

SQL Server Compactへは,System.Data.SqlClient名前空間のクラスではなく,System.Data.SqlServerCe名前空間のクラスを利用します。


MSDN: System.Data.SqlServerCe 名前空間
http://msdn.microsoft.com/ja-jp/library/ec4st0e3 …
# これ移行の版は翻訳されていないため,古い版のURLを記述。

で,ここに含まれるクラスを見れば載っていることですが,System.Data.SqlServerCe.Dllへの参照設定が必要になります。
それ以外では,SqlConnectionがSqlCeConnectionになったり,SqlCommandがSqlCeCommandになったりしますが,基本的な使い方は変わりません。
    • good
    • 0
この回答へのお礼

ありがとうございました、すんなり接続できました。

SqlConnectionをSqlCeConnectionに変更しなくても接続に成功したりしていますが、
早速ご指摘を踏まえて進めてみます。

お礼日時:2010/05/07 19:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!