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

时间:2012-06-23 21:41:21

标签: c# sql-server

我只想循环遍历数据库中的结果。这就是我在这一点上所做的一切!这是我尝试调试时遇到的错误:

  

发生与网络相关或特定于实例的错误   建立与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());
    }

我该怎么做才能解决这个问题?此外,如果有人有更简单的方法在C#中使用数据库,我对你的想法持开放态度,因为这对我来说是非常荒谬的(在c#中操纵数据库)。谢谢你的帮助。

更新6/29/12:

以下代码适用于我:

        // 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();

5 个答案:

答案 0 :(得分:1)

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

第二:select * from Sent (没有撇号)

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

当我们没有更改sql server配置管理器中的tcp / ip设置时会出现这种错误。所以we need enable the tcp/ip property to resolve this error

答案 3 :(得分:0)

可能会在这里说明显而易见但你检查过SqlExpress服务是否正在运行?

https://stackoverflow.com/a/4650231/1095373

答案 4 :(得分:0)

我没有使用正确的代码(它与任何连接内容没有任何关系)。这是我尝试使用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();