2

在 Visual Studio 2010 上,我有一个试图连接的数据库,但是当我尝试这样做时:

db.Open();

它启动了这个错误:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified)

我试图按照这个链接所说的去做,但我仍然犯同样的错误。

关于发生了什么的任何想法?

编辑:防火墙已关闭。

连接字符串: MySQLProject.Properties.Settings.Default.dbConnectionString = "Data Source=|DataDirectory|\db.sdf"

服务器已启动:

在此处输入图像描述

编辑2:

这是失败的代码:

public void FillData()
    {
        // 1 step. Open connection
        // SqlConnection c = new SqlConnection("Data Source=" +db.Connection.DataSource);
        SqlConnection c = new SqlConnection(MySQLProject.Properties.Settings.Default.dbConnectionString);
        try
        {
            c.Open();

            // 2 step. Create new DataAdapter
            using (SqlDataAdapter a = new SqlDataAdapter("SELECT * FROM USER", c))
            {
                // 3 step. Use DataAdapter to fill table
                DataTable t = new DataTable();
                a.Fill(t);
                // 4 step. Render data on the DataGridView
                dataGridViewUsers.DataSource = t;
            }
        }
        catch (SqlException e)
        {
            MessageBox.Show(e.Message);
        }
    }

编辑 nº 1000:

好的,我使用了这个连接字符串:

string con2 = @"Server=.\SQLExpress;AttachDbFilename=|DataDirectory|db.sdf;Database=db;Trusted_Connection=Yes;";

然后它说:

在此处输入图像描述

:____(

好的,现在我知道这.sdf是针对 CE Sql 语句的。但是,我不能创建.mdf,不知道为什么...我应该更改为 CE Sql 语句吗?

4

3 回答 3

1

最典型的原因是:

  • 服务器没有运行
  • 连接字符串有错字(有些字母是错误的)

因此,当连接到不存在或关闭的服务器时,会出现此消息

编辑:请尝试检查:SQL Server Express connection string for Entity Framework Code First,因为您的 conn 字符串似乎不完整:

connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
                       AttachDBFilename=|DataDirectory|aspnetdb.sdf;
                       User Instance=true"
于 2013-01-11T10:00:39.840 回答
0

这只是意味着找不到服务器。

  • 检查连接字符串
  • 服务器根本没有运行
  • 检查防火墙
于 2013-01-11T10:00:49.310 回答
0

仅适用于那些发现相同问题的人:

因为我无法创建.mdf数据库,所以只有.sdf一个,正如@Radim Köhler 所说,.sdf我必须使用SqlCe...实例的数据库。我的连接字符串说:

@"Data Source=|DataDirectory|db.sdf;Persist Security Info=False;"

我这样连接:

SqlCeConnection c = new SqlCeConnection(con3); //MySQLProject.Properties.Settings.Default.dbConnectionString);
            c.Open();
于 2013-01-11T10:56:27.537 回答