重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【6/2終了】教えて!gooアプリ版

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で質問しましょう!