有人知道如何将vb.net windows窗体应用程序连接到联机/内联网数据库中吗?
我尝试使用localhost,是的,它连接,但如果我在主机中使用IP,我无法访问数据库。
以下是我的连接:
Dim conStr As String = "server=192.168.1.18;Uid=root;Pwd='';Database=hrms"
Dim con As New MySqlConnection(conStr)
Try
MessageBox.Show("Connecting to mysql database..................")
con.Open()
Dim sqlStr As String = "SELECT * FROM accounts"
Dim cmd As MySqlCommand = New MySqlCommand(sqlStr, con)
Dim rd As MySqlDataReader = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
MessageBox.Show(rd(0) & " " & rd(1) & " Naa koi na fetch")
Exit Sub
Else
MessageBox.Show("Could not find something")
Exit Sub
End If
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
2条答案
按热度按时间c6ubokkw1#
是的,您可以通过网络连接到MySQL服务器。请确保您使用了正确的IP地址,并且MySQL实际上正在监听该接口/端口。另外,请检查您的防火墙。需要注意的几件事:
mdfafbf12#
您可能需要熟悉一些事情。
MySQL中“localhost”与www.example.com之间的差异 127.0.0.1
当您使用IP地址与localhost连接时-它通过TCP协议连接。
当您使用“localhost”名称与localhost连接时-它将尝试通过共享内存(或Linux下的套接字)连接。
在第二种情况下-如果您的服务器关闭了“共享内存”,您将无法通过“localhost”连接到localhost。您可以在本地服务器上打开该协议,或者使用127.0.0.0强制TCP连接。
从其他主机连接的MySQL权限
在MySQL中,默认情况下,用户仅具有从本地主机连接的权限。您可能需要添加从其他主机连接到特定用户的权限。
请阅读:grant remote access of MySQL database from any IP address