【发布时间】:2012-12-03 23:14:26
【问题描述】:
我正在尝试使用 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 配置中的所有内容。一切都很好。
那么我哪里错了?
【问题讨论】:
-
sql server 是在独立的 PC 上吗?如果是这样,您可能需要打开一个特定的端口。
-
你没有提到防火墙,你需要配置 windows 防火墙以允许连接(在运行 SQL Express 的 PC 上)
-
是的,我已经为两台电脑配置了 Windows 防火墙
-
@Derek 我正在连接到不同的电脑,通过两条交叉电缆连接并为两者设置 ips。我们可以ping通。一切都配置好了
-
尝试通过将以下参数添加到连接字符串 Network=DBMSSOCN; 来强制使用 TCP 提供程序;
标签: c# remote-access sql-server-2005-express