通过VPN的SQL Server连接没有响应

时间:2017-05-24 13:43:02

标签: sql-server vb.net connection-string vpn remote-connection

我想将我的VB.net应用程序远程连接到位于不同位置的SQL数据库服务器。

我在服务器和客户端计算机上安装了LogMeIn Hamachi,并在客户端计算机上加入了现有网络。

我按照此tutorial中提供的步骤为服务器计算机上安装的SQL Server启用TCP连接。

我使用以下连接字符串并在Windows窗体加载事件上调用Hascon()来测试连接。当我构建VB.net应用程序时,我没有收到任何错误,应用程序也没有响应。

Private conn As New SqlConnection With {.ConnectionString = "Data Source=IP address provided by Hamachi,1433;Network Library=DBMSSOCN;Initial Catalog=SIIU;User ID=sa;Password=12345;"}
Public Function Hascon() As Boolean
        Try
            Sconn.Open()
            Return True
            Sconn.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try
End Function

我在互联网上搜索并尝试了所有可能的解决方案,但没有解决问题。

可能是什么问题?有任何想法吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以使用这样的简单函数来测试您的连接:

关于Hamachi的说明:

  

请记住,如果你使用Hamachi,你可能需要授权端口   防火墙和防病毒以及你的盒子。

此处不需要con.Close(),因为我实施了Using,这是您应该始终为IDisposable执行的操作。

Public Function IsConnectionPossible(ByVal ConnectionString As String) As Boolean
    Dim Result As Boolean = False
    Try
        Using con As New SqlClient.SqlConnection(ConnectionString)
            'Open the connection
            Try
                con.Open()
            Catch ex As Exception
                Debug.WriteLine(ex.Message)
            End Try
            'Get the state
            If con.State = ConnectionState.Open Then
                Result = True
            End If
        End Using
    Catch ex As Exception
        Debug.WriteLine(ex.Message)
    End Try
    Return Result
End Function

你可以简单地这样打电话:

IsConnectionPossible("Data Source=IP address provided by Hamachi,1433;Network Library=DBMSSOCN;Initial Catalog=SIIU;User ID=sa;Password=12345;")

请注意,此功能将纯粹测试实现此功能以打开连接以供将来使用的连接。为此,我建议使用一个类。