.NET SQL连接 - 来自远程计算机

时间:2016-08-02 17:18:58

标签: .net sql-server

在某个问题上需要帮助。我有一个VB.NET应用程序,我试图连接到数据库 - 相当简单。

传递的连接字符串是Data Source=<servername>;Initial Catalog=<DB name>;Integrated Security=True。要检查连接的有效性,我使用mDB.Connection.ConnectionString - mDB的类型为DataClassDataContext。现在,当我尝试从本地服务器运行它时,建立了与DB的连接。

但是,我将此exe复制到非洲大陆之外的服务器并从那里运行它并且数据库连接失败。我从服务器返回的连接字符串中获取此值 - System.Data.SqlClient.SqlConnection

这里变得奇怪,来自另一方的人可以执行相同的exe,但是如果他试图从美国服务器运行这个exe,他就会遇到同样的问题。我可以清楚地看到这不是一个例外,但是连接被拒绝了(也没有超时。)

请帮助..

2 个答案:

答案 0 :(得分:0)

我的第一个想法是,这可能是防火墙的问题。

如果您对有问题的服务器有控制台访问权限,请运行Telnet:

telnet servername 1433 

https://dba.stackexchange.com/questions/23704/easy-way-to-check-connectivity-to-sql-server-from-client

答案 1 :(得分:0)

我将一个udl文件放在远程服务器的共享路径中并放入服务器和数据库名称,这可以连接。但是,代码似乎没有连接。

使用的代码非常简单 - 尝试             如果是pubSQL.ValidServer(&#34;服务器名称&#34;,&#34;数据库名称&#34;)那么                 pubSQL.OpenServer(&#34;服务器名称&#34;,&#34;数据库名称&#34;)             其他

            MsgBox("Unable to connect to DB")
        End If

    Catch ex As Exception : ok = False
        MsgBox(ex.Message)
    End Try
    Return ok

当我从本地美国服务器运行时 - 我能够连接,但是我将相同的exe复制到欧洲服务器并且数据库连接失败。我的对手在欧洲服务器上运行相同的exe,如果他在美国服务器上运行它,这可以工作并失败。 我希望我的解释有所帮助。