连接到远程SQL Server数据库时出错

本文关键字:数据库 出错 Server SQL 连接 | 更新日期: 2023-09-27 18:16:43

我的问题很简单:我在Visual Studio 2010中用。net 4.0 c#编写一个WinForms应用程序,它在我的计算机上运行得很好。

通过System.Data.SqlClientSqlConnection连接到远程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 Network Interfaces, error: 26

我的问题是,即使它在我的电脑上工作得很好,它几乎不会在其他任何地方工作。我试用过的所有电脑都运行Windows 7或Windows 8,包括我的电脑。

我已经在谷歌上搜索了这个错误,但所有的答案都集中在服务器端,因为它在我的电脑上工作得很好,我知道这不是服务器端问题。

连接到远程SQL Server数据库时出错

假设您已经解决了防火墙问题(要么关闭SQL Server框上的防火墙,要么确保在端口1433有一个漏洞,或者您的SQL Server实例配置使用的任何端口),请确保启用远程连接:

在运行SQL Server实例的SQL Server Management Studio中,连接到您的实例,右键单击左侧窗格中的服务器实例,然后选择"Properties"。单击"连接"选项卡,并确保选中"允许远程连接到此服务器"。

最后启动你的"SQL Server配置管理器"工具,并确保你有共享内存,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));