6

こんにちはSQLServerCompactデータベースをプログラムに接続しようとしていますが、データベースからすべてのエントリを削除するボタンが必要です。このボタンを押すと、プログラムが例外をスローし、次のエラーメッセージが表示されます。 SQL Serverへの接続の確立中にインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください(プロバイダー:SQLネットワークインターフェイス、エラー: 26-指定されたサーバー/インスタンスの検索エラー)」

助けてください?=]

申し訳ありませんが、コードは以下です=]

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


namespace Booking_system_Final
{
    public partial class PendingJobs : Form
    {
        SqlConnection sc = new SqlConnection("Data Source=C:\\Users\\Administrator\\My Documents\\BMS_Data.sdf");
        public PendingJobs()
        {
            InitializeComponent();
        }

        private void PendingJobs_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'bMSDataSet.Bookings' table. You can move, or remove it, as needed.
            this.bookingsTableAdapter.Fill(this.bMSDataSet.Bookings);
            // TODO: This line of code loads data into the 'bMS_DataDataSet1.Bookings' table. You can move, or remove it, as needed.


        }

        private void button1_Click(object sender, EventArgs e)
        {
            sc.Open();
            SqlCommand cmd = new SqlCommand("DELETE FROM Bookings");
            cmd.Connection = sc;
            cmd.ExecuteNonQuery();
            sc.Close();
            MessageBox.Show("Database Cleared");


        }
    }
}
4

4 に答える 4

10

SqlCeConnectionではなくクラスを使用してみてくださいSqlConnection

SqlCeConnection sqlConnection1 = new SqlCeConnection();
sqlConnection1.ConnectionString = "Data Source = C:\\Users\\Administrator\\My Documents\\BMS_Data.sdf;Persist Security Info=False";
于 2013-03-01T19:13:19.153 に答える
6

SQL Server Compactに接続する場合は、SqlCeConnection、SqlCeCommandなどを使用します。SQLServerCompactADO.NETプロバイダーであるSystem.Data.SqlServerCe.dllへの参照を追加します。

于 2013-03-01T13:40:00.670 に答える
0

不正な接続文字列を使用しているようです。(またはファイルパスが間違っています)。接続文字列のオプションについては、http://www.connectionstrings.com/sql-server-ceを確認してください。

于 2013-03-01T13:03:28.957 に答える
0

このブログ記事をご覧ください:SQL SERVER –修正:エラー:(プロバイダー:名前付きパイププロバイダー、エラー:40 – SQL Serverへの接続を開くことができませんでした)

これは、あなたがする必要があるかもしれないことを段階的に説明します:

要するに:

  1. SQLServerが稼働している必要があります。
  2. SQLServer構成でTCP/IPを有効にする
  3. Windowsファイアウォールでポートを開く
  4. リモート接続を有効にする
  5. SQLServerブラウザサービスを有効にする
  6. ファイアウォールでsqlbrowser.exeの例外を作成します
  7. エイリアスを再作成

各ステップのどこで何をすべきかについては、記事でより詳細な情報を見つけることができます。

SQLServerCompactの接続文字列も確認することをお勧めします。そこでは、試してみることができる接続文字列の他のバリエーションを見つけることができます。

于 2013-03-01T12:26:40.180 に答える