Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 连接到远程SQL Server数据库时出错_C#_.net_Sql Server - Fatal编程技术网

C# 连接到远程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

我的问题很简单:我正在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;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。