Vb连接到在线mysql服务器数据库

时间:2013-09-05 20:45:45

标签: mysql database vb.net connection

我正在Visual Basic 2010中创建一个小型桌面应用程序,我需要建立一个连接到我在网站托管上创建的在线mysql服务器数据库。

目前我只是想让连接成功,所以我做了以下代码来尝试这个,但是我在调​​试时不断收到错误信息:

Imports MySql.Data.MySqlClient

Public Class Form2

Dim serverstring As String = "Server=188.121.42.33;Database=MyDatabase;User Id=MyUser;Password=password"


Private Sub Form2_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    Dim sqlConnection As MySqlConnection = New MySqlConnection
    sqlConnection.ConnectionString = serverstring

    Try
        If sqlConnection.State = ConnectionState.Closed Then
            sqlConnection.Open()
            MsgBox("Sucessfull")
        Else
            sqlConnection.Close()
            MsgBox("Connection failed")
        End If
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub

End Class

如果有人能给我任何建议或发现我做错了,我会非常感激,因为我对这一切都很陌生,这是我做的第一个应用程序。我在调试时得到的错误是:

Mysql.data.MySqlClient.MySqlException(0x80004005):无法连接到任何指定的MySQL主机。

再次感谢您的时间。

2 个答案:

答案 0 :(得分:2)

通常会发生这种情况,因为主机端不允许所有IP连接到mysql。尝试在主机端添加%。如果它不起作用,您需要转到mysql并运行此脚本

全部开启。用户''%'IDENTIFIED BY'密码';

上面的脚本将允许所有IP地址访问mysql,如果它仍然无法正常工作,这意味着主机提供商防火墙是严格的,我的建议是你需要VPS。

祝你好运

答案 1 :(得分:1)

“我已关闭防火墙,但我仍然遇到同样的错误。”您和目的地之间的过滤比您的个人防火墙要多得多,您无法直接禁用/更改。

如果您的示例中的服务器IP是您尝试连接的,那么很可能是过滤/防火墙问题,正如cHao所提到的那样。 SQL Server的默认连接端口是tcp / 1433,并且基于188.121.42.33的快速端口扫描,该主机不接受tcp / 1433上的连接:

> nc -vv 188.121.42.33 1433
nc: connect to 188.121.42.33 port 1433 (tcp) failed: Connection timed out

...和...

> nmap -O 188.121.42.33
Starting Nmap 6.25 ( http://nmap.org ) at 2013-09-05 22:01 ric
Nmap scan report for n1nlsmysqladm01.shr.prod.ams1.secureserver.net (188.121.42.33)
Host is up (0.068s latency).
Not shown: 983 filtered ports
PORT     STATE  SERVICE
80/tcp   closed http
113/tcp  closed ident
443/tcp  closed https
1248/tcp open   hermes
1720/tcp open   H.323/Q.931
6000/tcp closed X11
6001/tcp closed X11:1
6002/tcp closed X11:2
6003/tcp closed X11:3
6004/tcp closed X11:4
6005/tcp closed X11:5
6006/tcp closed X11:6
6007/tcp closed X11:7
6009/tcp closed X11:9
6025/tcp closed x11
6059/tcp closed X11:59
7001/tcp closed afs3-callback

简短回答,您将无法根据源/目标之间当前允许的流量进行连接。为了实现这一点,您可能需要某种VPN连接到该主机,tcp / 1433流量可以在该主机上流动。