C# 连接到远程SQL Server数据库时出错
我的问题很简单:我正在Visual Studio 2010中用.net 4.0 C编写一个WinForms应用程序,它在我的计算机上运行得很好 它使用System.Data.SqlClient的SqlConnection连接到远程SQL Server数据库 当程序加载第一个表单时,它运行以下代码:C# 连接到远程SQL Server数据库时出错,c#,.net,sql-server,C#,.net,Sql Server,我的问题很简单:我正在Visual Studio 2010中用.net 4.0 C编写一个WinForms应用程序,它在我的计算机上运行得很好 它使用System.Data.SqlClient的SqlConnection连接到远程SQL Server数据库 当程序加载第一个表单时,它运行以下代码: SqlConnection ACconnection = new SqlConnection(String.Format( "Server=xxx.xx.xxx.xxx\\TEST;D
SqlConnection ACconnection = new SqlConnection(String.Format(
"Server=xxx.xx.xxx.xxx\\TEST;Database=REP01;User Id={0};Password={1};", User, Password));
private bool TestConnection()
{
try
{
ACconnection.Open();
lbl_connectionStatus.Text = "Server: Connected";
lbl_connectionStatus.ForeColor = Color.FromArgb(0, 150, 30);
ACconnection.Close();
return true;
}
catch (Exception ex)
{
Functions.GetError(ex);
return false;
}
}
我得到一个错误:
SQL网络接口,错误:26
我的问题是,即使它在我的电脑上运行良好,但在其他任何地方都无法正常工作。我试过的所有电脑都在Windows7或Windows8上运行,包括我的
我用谷歌搜索了错误,但所有的答案都集中在服务器端,因为它在我的计算机上运行良好,我知道这不是服务器端问题。假设您解决了防火墙问题,请关闭SQL server box上的防火墙,或者确保端口1433上有一个漏洞,或SQL Server实例配置为使用的任何端口,请确保启用远程连接: 从运行SQL Server实例的框中的SQL Server Management Studio,连接到您的实例,右键单击左侧窗格中的服务器实例,然后选择属性。单击“连接”选项卡,并确保选中“允许远程连接到此服务器” 最后启动SQL Server Configuration Manager工具,并确保已为客户端配置的客户端协议启用了共享内存、TCP/IP和命名管道。对于32位和64位,您都需要这样做 那你该走了。我想出来了! 问题是,即使我在连接字符串中只给出了一个实例名,而没有给出端口。所以最终我的密码被关闭了。 解决方案:同时提供实例名和端口
SqlConnection ACconnection = new SqlConnection(String.Format(
"Server=xxx.xx.xxx.xxx\\TEST,49232;Database=REP01;User Id={0};Password={1};", User, Password));
您熟悉Sql Server吗?我不知道IP地址是什么,但错误26是指定了错误定位服务器/实例,这可能是许多事情,例如您在本地运行SQL,并且没有打开SQL的端口以便在计算机外部访问。正如我所说,服务器正在远程计算机上运行,我可以通过我的计算机上的程序和SQL Management StudioPhaps连接到服务器。您的TCP/IP端口在另一台计算机上被阻止了吗?默认情况下,它是端口1433。我不知道你的网络,我不明白为什么它可以从你的机器,而不是从另一个使用此网站的机器。可能是防火墙或其他什么,谁知道呢,但最有可能的是它肯定不是一个代码问题。可能是一些缺少的DLL或其他计算机上的任何东西?它们都没有安装SQL Server、SSM或VisualStudio。