我正在尝试使用c#远程连接到SQL Server 2005 Express版本,但它正在抛出异常。
在建立与SQL Server的连接时发生网络相关或实例特定错误。找不到服务器或无法访问服务器。验证 实例名称正确,SQL Server配置为允许远程连接。 (提供程序:名称管道提供程序,错误:40 - 无法打开与SQL Server的连接)
以下是我用来连接数据库的代码
private void button_test_Click(object sender, EventArgs e)
{
try
{
string str = "data source=" + textBox_server.Text + "; initial catalog=" + textBox_db.Text
+ "; user id=" + textBox_user.Text + "; pwd=" + textBox_password.Text + ";";
SqlConnection sqlcon = new SqlConnection(str);
sqlcon.Open();
sqlcon.Close();
MessageBox.Show("Test Connection was successfull");
}
catch (Exception ex)
{
MessageBox.Show("Test Connection failed. "+ ex.Message);
}
我输入了正确的ip,数据库表名,用户名和密码。
验证了SQL Server Express配置中的所有内容。一切都很好。
那我哪里错了?
答案 0 :(得分:2)
这通常是2个问题中的一个。它可能是防火墙阻塞,最简单的测试方法是尝试telnet到SQL服务器端口(默认为1433)。
经常出现的另一个问题是SQL Server Express上没有启用正确的协议。这里有一个很好的描述如何做到这一点。 http://www.teratrax.com/connecting-sql-server-express/
答案 1 :(得分:0)
在客户端计算机上,尝试停用防火墙。
在服务器计算机上,取消激活防火墙但也检查您是否为所需的MSSQL实例激活了TCP / IP协议:
如果要更改要侦听的端口;只需编辑“TCP / IP”的属性
塞尔