将C#连接到SQL Server Compact数据库

时间:2013-03-01 12:06:20

标签: c# sql sql-server-ce

您好我正在尝试将SQL服务器压缩数据库连接到我的程序,我想要一个删除数据库中所有条目的按钮,当我按下该按钮时程序抛出异常并给出以下错误消息“A network建立与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 个答案:

答案 0 :(得分:8)

尝试使用SqlCeConnection课而不是SqlConnection

SqlCeConnection sqlConnection1 = new SqlCeConnection();
sqlConnection1.ConnectionString = "Data Source = C:\\Users\\Administrator\\My Documents\\BMS_Data.sdf;Persist Security Info=False";

答案 1 :(得分:4)

如果要连接到SQL Server Compact,请使用SqlCeConnection,SqlCeCommand等。添加对SQL Server Compact ADO.NET提供程序的引用,System.Data.SqlServerCe.dll

答案 2 :(得分:0)

查看此博客文章:SQL SERVER – FIX : ERROR : (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

逐步完成您可能需要做的事情:

简而言之:

  
      
  1. SQL Server应该已启动并正在运行。
  2.   
  3. 在SQL Server配置中启用TCP / IP
  4.   
  5. 在Windows防火墙中打开端口
  6.   
  7. 启用远程连接
  8.   
  9. 启用SQL Server浏览器服务
  10.   
  11. 在防火墙
  12. 中创建sqlbrowser.exe的例外   
  13. 重新创建别名
  14.   

关于每个步骤的位置和操作,您可以在文章中找到更多深入的信息。

您可能还想查看Connection strings for SQL Server Compact。在那里,您可以找到您可以尝试使用的连接字符串的其他变体。

答案 3 :(得分:0)

您似乎使用了错误的连接字符串。 (或者文件路径错误)。查看http://www.connectionstrings.com/sql-server-ce了解连接字符串选项。