将.NET应用程序连接到MySQL
以前有人问过这个问题,但他们的回答对我没有帮助 我不是一名web开发人员,以前也没有使用过MySQL。我需要在线数据库只是为了一个简单的任务,这并不重要,现在。因此,我想将我的VB.NET应用程序连接到mySQL 我使用免费托管,这使我能够创建一个MySQL数据库,这对我来说是足够的。他们为我提供了cPanel,我在这里创建了名为“db\u clients”的mySql数据库。在那之后,我创建了两个用户,一个为我的客户机“db_client”,一个为我(所有者)“db_owner” db_客户端只有“选择”的权限将.NET应用程序连接到MySQL,mysql,.net,database,vb.net,phpmyadmin,Mysql,.net,Database,Vb.net,Phpmyadmin,以前有人问过这个问题,但他们的回答对我没有帮助 我不是一名web开发人员,以前也没有使用过MySQL。我需要在线数据库只是为了一个简单的任务,这并不重要,现在。因此,我想将我的VB.NET应用程序连接到mySQL 我使用免费托管,这使我能够创建一个MySQL数据库,这对我来说是足够的。他们为我提供了cPanel,我在这里创建了名为“db\u clients”的mySql数据库。在那之后,我创建了两个用户,一个为我的客户机“db_client”,一个为我(所有者)“db_owner” db_客户端
db_owner有权对数据库执行所有操作 基本上,我提供给客户的应用程序只需查询在线数据库并检查一列是否包含true或false。因此,从客户端应用程序中,我想用
Uid=db_client
连接到mySQL数据库
我已经下载并导入了.NET的MySQL连接器。我现在遇到的麻烦是远程连接到实际的数据库。即使使用“localhost”,我也无法访问数据库。
我正在使用phpMyAdmin(工具)自定义数据库。您能告诉我,我应该如何、在哪里以及在什么地方搜索以在连接字符串中找到参数Server
的正确值吗
我已经找到的是:在phpMyAdmin站点上,我进入主页->选择选项卡“变量”->在搜索栏中键入“主机名”,它返回f5.host-ed.me。
在那之后,我打开CMD并ping了那个主机,得到了一个IP。接下来我该怎么办
这是我当前的VB.NET代码:
Imports MySql.Data.MySqlClient
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim conn As New MySqlConnection
Dim myConString As String
myConString = "Server=46.105.118.169; Port=3306; Database=db_clients; Uid=db_client; Pwd=somepass; Charset=latin1;"
Try
conn.ConnectionString = myConString
conn.Open()
Debug.Print("conn successfully opened")
conn.Close()
Catch ex As MySqlException
Select Case ex.Number
Case 0
MessageBox.Show("cannot connect to server. Contact admin!")
Case 1045
MessageBox.Show("Invalid username/password!")
End Select
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
这是我按下按钮时得到的结果:
错误:1042 SQLSTATE:08S01(ER\U错误\U主机错误)
消息:无法获取您地址的主机名
我是否需要授予访问特定IP的权限才能访问我的数据库?
如果答案是肯定的,那么有办法解决吗?我不想手动将IP添加到白名单。您是否正在尝试从本地pc连接到远程数据库?这在大多数托管计划中是不允许的。通常,要访问远程数据库,您必须在服务器端编写一个应用程序来管理实际的数据库访问,并将请求(例如发送到REST-API)发送到中间件,然后中间件与您的数据库通信。在服务器端,您的数据库可以直接从本地主机访问,如主机手册所述。您正在尝试从本地pc连接到远程数据库吗?这在大多数托管计划中是不允许的。通常,要访问远程数据库,您必须在服务器端编写一个应用程序来管理实际的数据库访问,并将请求(例如发送到REST-API)发送到中间件,然后中间件与您的数据库通信。在服务器端,您的数据库可以直接从本地主机访问,如主机手册中所述。您可能需要将您试图连接的IP地址列为白名单。您可能需要将您试图连接的IP地址列为白名单。我正试图通过我的应用程序将我的数据库公开给世界各地的客户。是的,我明白,但你使用的是免费的招待计划。由于安全原因,大多数主机不允许公众访问MySQL数据库。如果您希望数据库是公共的,您必须编写一个中间件来访问它。好的,我现在将寻找允许远程访问的主机。我正试图通过我的应用程序向世界各地的客户公开我的数据库。是的,我理解这一点,但您使用的是免费的主机计划。由于安全原因,大多数主机不允许公众访问MySQL数据库。如果您希望数据库是公共的,您必须编写一个中间件来访问它。