C# 建立与SQL Server的连接时发生网络相关或特定于实例的错误

C# 建立与SQL Server的连接时发生网络相关或特定于实例的错误,c#,sql-server,C#,Sql Server,我只想循环数据库中的结果。这就是我现在要做的!这是我尝试调试时遇到的错误: 运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定) 它指向这条线: // fill dataset into named table myAdapter.Fill(myDataSet, "Sent"); 这是我的全部代码

我只想循环数据库中的结果。这就是我现在要做的!这是我尝试调试时遇到的错误:

运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定)

它指向这条线:

// fill dataset into named table
myAdapter.Fill(myDataSet, "Sent");
这是我的全部代码:

    // get connection strings from app.config
    string conString = ConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;

    // connection object
    SqlConnection myConn = new SqlConnection(conString);

    // create adapter
    SqlDataAdapter myAdapter = new SqlDataAdapter("select * from `Sent`", myConn);

    // create command builder
    SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);

    // create dataset
    DataSet myDataSet = new DataSet();

    // fill dataset into named table
    myAdapter.Fill(myDataSet, "Sent");

    // query using linq
    IEnumerable<DataRow> results
        = from row in myDataSet.Tables["Sent"].AsEnumerable()
          select row;

    // enumerate through results
    foreach (DataRow row in results)
    {
        MessageBox.Show(row.ToString());
    }

首先:检查您的连接字符串错误是直接告诉您“嘿,我无法连接到您的数据库”


第二:
select*from Sent
(不带撇号)

当我们没有更改sql server configuration manager中的tcp/ip设置时,会出现这种错误。因此,

可能在这里说明明显的问题,但您是否检查过SqlExpress服务正在运行


我没有使用正确的代码(它与任何连接无关)。这是我第一次尝试用PHP以外的语言连接数据库。现在,我可能会使用LINQ或Lambda表达式,而不是这段代码。但以下是我使用的有效方法:

    // get connection strings from app.config
    string conString = ConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;

    // connection object
    SqlCeConnection myConn = new SqlCeConnection(conString);

    // create adapter
    SqlCeDataAdapter myAdapter = new SqlCeDataAdapter("select * from [Sent]", myConn);

    // create command builder
    SqlCeCommandBuilder myCommandBuilder = new SqlCeCommandBuilder(myAdapter);

    // create dataset
    DataSet myDataSet = new DataSet();

    // fill dataset into named table
    myAdapter.Fill(myDataSet, "Sent");

    // create new row
    DataRow newRow = myDataSet.Tables["Sent"].NewRow();

    // set field vals
    newRow["sendTo"] = sendTo;
    newRow["subject"] = subject;
    newRow["message"] = message;

    // add new row to table
    myDataSet.Tables["Sent"].Rows.Add(newRow);

    // update database
    myAdapter.UpdateCommand = myCommandBuilder.GetUpdateCommand();
    int updatedRows = myAdapter.Update(myDataSet, "Sent");
    //MessageBox.Show("There were "+updatedRows.ToString()+" updated rows");

    // close connection
    myConn.Close();

您是否更改了安装SQL server的计算机中使用的密码?我以前经历过这种情况,我所做的是将我的新密码反映到SQL Server配置中,然后重新启动服务


还请确保在SQL配置设置中启用了TCP/IP设置。

您需要检查的第一件事是连接字符串是否正常,以及它是否指向正确的服务器/数据库。第一步:阅读消息并执行操作。第二步:用谷歌搜索消息。我同意@usr。这个错误信息是不言自明的,即使不是出于某种原因,谷歌几秒钟后就会很快找到答案。问题在于连接字符串或SQL server本身。这个问题不属于这里。在这里提问之前,您至少需要做一些粗略的研究。数据库服务器工作正常吗?您可以在Sql Server Management studio中连接到它吗?的可能副本与错误消息无关,尽管您的回答是正确的。我只是尝试连接到本地数据库。这是我的app.config:我不知道正确的连接字符串是什么,也许你可以告诉我。我的数据库与C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\TestingApp\TestingApp\Database1.sdf中的项目位于同一目录中(也在\bin文件夹中)。不,我只需要修复代码。我更新了我的答案。
    // get connection strings from app.config
    string conString = ConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;

    // connection object
    SqlCeConnection myConn = new SqlCeConnection(conString);

    // create adapter
    SqlCeDataAdapter myAdapter = new SqlCeDataAdapter("select * from [Sent]", myConn);

    // create command builder
    SqlCeCommandBuilder myCommandBuilder = new SqlCeCommandBuilder(myAdapter);

    // create dataset
    DataSet myDataSet = new DataSet();

    // fill dataset into named table
    myAdapter.Fill(myDataSet, "Sent");

    // create new row
    DataRow newRow = myDataSet.Tables["Sent"].NewRow();

    // set field vals
    newRow["sendTo"] = sendTo;
    newRow["subject"] = subject;
    newRow["message"] = message;

    // add new row to table
    myDataSet.Tables["Sent"].Rows.Add(newRow);

    // update database
    myAdapter.UpdateCommand = myCommandBuilder.GetUpdateCommand();
    int updatedRows = myAdapter.Update(myDataSet, "Sent");
    //MessageBox.Show("There were "+updatedRows.ToString()+" updated rows");

    // close connection
    myConn.Close();