我的连接字符串如下。
conn.ConnectionString = "Server=192.248.***.***; Port=3036; User id=admin; password=***; Database=abc; Connect Timeout=60;"
Run Code Online (Sandbox Code Playgroud)
但它返回错误“连接到数据库时出错:无法连接到任何指定的 MySQL 主机。”
但我可以使用 PHPMyAdmin 登录。
//192.248.***.***/phpmyadmin
Run Code Online (Sandbox Code Playgroud)
我还可以使用以下命令登录本地 MySQL 数据库:
conn.ConnectionString = "server=" & "localhost" & ";" & "user id=" & "admin" & ";" & "password=" & "" & ";" & "database=abc"
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题。我想连接到远程数据库,因为这是系统的要求。请提供任何帮助。
更新: 在立即窗口中显示:
PassbookPrinter.vshost.exe Error: 0 : Unable to connect to any of the specified MySQL hosts.
A first chance exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll
Run Code Online (Sandbox Code Playgroud)
将vb.net连接到远程MySql数据库;无论您使用什么版本的 VB.Net,只需执行以下步骤即可。
1) 从 URL 下载 Mysql Connector/Net ( https://dev.mysql.com/downloads/connector/net/ )
2)安装连接器;默认情况下,连接器将安装在我安装的版本的路径(C:\ Program Files \ MySQL \ Connector Net 6.9.6)中。
3) 打开VB.Net IDE并启动新项目。
4) 添加“Mysql.Data.dll”作为项目的引用,您可以在路径(C:\Program Files\MySQL\Connector Net 6.9.6\Assemblies\v4.5)中找到它;
5) 准备好您的连接表格,如图所示;

6) 创建名为“Database”的类并写入以下代码。
导入 MySql.Data.MySqlClient
公共类数据库
Private _connection As New MySqlConnection
Private _errormessge As String
Private _servername As String
Private _databasename As String
Private _userid As String
Private _password As String
Public WriteOnly Property ServerName() As String
Set(ByVal value As String)
_servername = value
End Set
End Property
Public WriteOnly Property DatabaseName() As String
Set(ByVal value As String)
_databasename = value
End Set
End Property
Public WriteOnly Property UserID() As String
Set(ByVal value As String)
_userid = value
End Set
End Property
Public WriteOnly Property Password() As String
Set(ByVal value As String)
_password = value
End Set
End Property
Public ReadOnly Property ErrorMessage() As String
Get
Return _errormessge
End Get
End Property
Public Function Connection() As Boolean
Try
_connection.ConnectionString = "Server=" & _servername & ";Port=3306;Database=" & _databasename & ";User ID=" & _userid & ";Password=" & _password & ""
_connection.Open()
If _connection.State = ConnectionState.Open Then
_connection.Close()
Return True
End If
Catch ex As Exception
_errormessge = ex.Message
Return False
End Try
End Function
Run Code Online (Sandbox Code Playgroud)
结束课程
Public Class Frm_Main Private Sub btn_connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 处理 btn_connect.Click
'对象声明和实例化
暗淡数据作为新数据库
With data
'Assing the object property values
.ServerName = txt_server.Text
.DatabaseName = txt_database.Text
.UserID = txt_uid.Text
.Password = txt_pwd.Text
'Connection testing
If .Connection Then
MessageBox.Show("Database Conneted.")
Else
MessageBox.Show(.ErrorMessage)
End If
End With
End Sub
Private Sub btn_exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_exit.Click
Close()
End Sub
Run Code Online (Sandbox Code Playgroud)
结束课程
7)运行项目并尝试连接;如果连接成功那么你的运气好;如果连接不成功并出现以下错误消息,请不要继续阅读更多内容;

8)记下@后面的错误消息中的IP地址(那就是你的IP)并将其添加到你的域cpanel“远程mysql访问”下图说明了远程mysql访问的样子(它们是相同的,但颜色可能有所不同) );不要忘记按“添加主机”按钮。对于静态 IP 的用户来说,此设置可以日常使用。

完成上述步骤后看到成功的消息;

但是,如果错误消息仍然存在,请尝试将密码文本留空,然后再次连接(如果远程数据库中没有密码);如果错误再次出现,除了 YES 更改为 NO 之外,那么您必须检查您是否在 DHCP 中;
9) 如果您使用 DHCP,这意味着 IP 在每个新的互联网连接中都会发生变化。如果您使用调制解调器,则可能您使用的是 DHCP。如果您使用动态 ip,则检查 ip 的 4 个块中发生了什么变化。如果第一次连接中第一个ip是197.250.3.201,下一个ip是197.250.60.70,下一个ip是197.250.80.24;您必须在 cpanel 访问主机中添加 197.250.% 才能使连接稳定。

10) 注意:随着百分号(通配符)流向 IP 地址的左侧,安全之门打开得越多。出现新错误时,请联系您的域名提供商,该域名中可能存在其他一些安全问题。谢谢!
| 归档时间: |
|
| 查看次数: |
37882 次 |
| 最近记录: |