我想在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的连接)
答案 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数据库才能接受命名管道调用。
可能值得一试。