ADO.NET:打开SQL连接

时间:2012-01-27 11:00:05

标签: c# asp.net sql ado.net

我想在c#

中的webservice中运行一些sql代码

代码只是

    [WebMethod]
    public void GetCustomers()
    {
        SqlConnection MyConn = new SqlConnection("Data Source=./SQLEXPRESS;AttachDbFilename=C:/Documents and Settings/Administrator/My Documents/Visual Studio 2008/Projects/WebService2/WebService2/App_Data/Database1.mdf;Integrated Security=True;User Instance=True");

        MyConn.Open();

        SqlCommand cmd = new SqlCommand();

        cmd.Connection = MyConn;

        cmd.CommandText = "delete from t1 where name='1'";   //just see ["+month
        // [mon+"] it's imp

        cmd.ExecuteNonQuery();
    }

现在我得到像

这样的错误

System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

2 个答案:

答案 0 :(得分:0)

正确格式:
Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
尝试:

"Data Source=./SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WebService2\WebService2\App_Data\Database1.mdf; Database=YourDatabasName;Integrated Security=True;User Instance=True"
有关详细信息,请参阅:
http://connectionstrings.com/

答案 1 :(得分:0)

您可能还想检查SQL Server的配置。

错误说明问题可能是命名管道未激活,这是默认设置。

您可以随时测试此修复程序;

  

开始 - > SQL Server xxxx - >配置工具 - > SQL Server   配置管理器

其中xxxx是您正在使用的SQL Server版本。

在树中查看

  

- > SQL Native Client xx配置 - >客户端协议

列出了命名管道。

将其设为已启用

然后在

  

SQL Server网络配置 - > xxxxxx的协议

xxxxxx是SQL Server数据库实例名称的名称。

检查命名管道是否已启用

您需要重新启动SQL Server数据库才能接受命名管道调用。

可能值得一试。