6

嗨,我正在尝试将 SQL Server 紧凑型数据库连接到我的程序,我想要一个从数据库中删除所有条目的按钮,当我按下所述按钮时,程序会引发异常并给出以下错误消息“与网络相关的或与 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

尝试使用SqlCeConnectionclass 而不是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 等。添加对 SQL Server Compact ADO.NET 提供程序 System.Data.SqlServerCe.dll 的引用

于 2013-03-01T13:40:00.670 回答
0

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

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

简而言之:

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

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

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

于 2013-03-01T12:26:40.180 回答
0

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

于 2013-03-01T13:03:28.957 回答