0

我需要返回 ODBC Mysql 连接的 ip 连接数据,以直观地验证我是否使用 VB.net 成功连接到正确服务器上的正确数据库。

在 VB6 中,我曾经解析 ADOX.Catalog.ActiveConnection 字符串,但这在 VB.net 中不起作用。不返回任何字符串。

现在使用什么方法来获取成功的 ODBC 连接的 IP?在这方面搜索 ObjectBrowser 和 MSDN 没有帮助。

不是答案-而是更多问题

下面的答案看起来像是一种非常简单的方法。希望它这么简单。我已经陷入了几个小时试图解析 DNS 的困境 - 并且在解析代码中遇到了 windows7 上的套接字错误。

我发现了这个 MSDN 代码,它是 ADOX 的直接方法。但是,它不会编译,因为它在编译 ConnectionStringSettings 时感到窒息,抗议它未定义,即使它是 System.Net.Configuration 程序集的成员。ADOX 语法有什么问题。

而且我以前认为vb编码比java容易!有人会认为 MSDN 会给出编译的代码示例。

Imports System.Net

Private Shared Function GetConnectionStringByName(ByVal name As String) As String
    GetConnectionStringByName = "OK"
    ' Assume failure 
    Dim returnValue As String = Nothing

    ' Look for the name in the connectionStrings section. 
    Dim settings As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("MySql")

    ' If found, return the connection string. 
    If Not settings Is Nothing Then
        returnValue = settings.ConnectionString()
    End If

    ' Return returnValue
End Function
4

1 回答 1

0

可以执行sql查询,

SHOW VARIABLES LIKE 'hostname'

这将返回 MySQL 服务器的主机名。您可以使用Dns.Resolve从主机名轻松解析 IP

参考:

  1. 13.7.5.41 显示变量语法
  2. 5.1.4 服务器系统变量
于 2014-05-19T04:02:26.920 回答