Mysql 将数据从Excel导出到phpmyadmin SQL数据库

Mysql 将数据从Excel导出到phpmyadmin SQL数据库,mysql,excel,vba,Mysql,Excel,Vba,如果您能帮助我解决从Excel访问MySQL数据库的问题,我将不胜感激 我已经在phpmyadmin中创建了数据库。我还能够通过CSV文件手动将数据导入phhpmyadmin上的SQL数据库 因此,我确信我已经获得了数据库的正确IP地址、用户ID和密码 我也读过关于如何配置从Windows到SQL的ODBC连接的各种文章,我认为我遵循了正确的说明 然而,我似乎无法从VBA中获取代码。我不断地犯各种错误 这是我一直在使用的代码,减去实际的数据库名和用户ID Private Sub cmdInser

如果您能帮助我解决从Excel访问MySQL数据库的问题,我将不胜感激

我已经在phpmyadmin中创建了数据库。我还能够通过CSV文件手动将数据导入phhpmyadmin上的SQL数据库

因此,我确信我已经获得了数据库的正确IP地址、用户ID和密码

我也读过关于如何配置从Windows到SQL的ODBC连接的各种文章,我认为我遵循了正确的说明

然而,我似乎无法从VBA中获取代码。我不断地犯各种错误

这是我一直在使用的代码,减去实际的数据库名和用户ID

Private Sub cmdInsertData_Click()
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Pwd As String
Dim SQLStr As String
Dim Svr_Nm As String
Dim UID As String
Dim Dbs_Nm As String

' Input Parameters
Pwd = "mypassword"
UID = "myuser"
srvr_nm = "xxx.xxx.xx.xx:yyyy"
Dbs_Nm = "myname"
Set rs = New ADODB.Recordset
Set oConn = New ADODB.Connection
SQLStr = "DRIVER={MySQL ODBC 5.3 ANSI Driver};"
SQLStr = SQLStr & "SERVER=" & srvr_nm & ";DATABASE=" & Dbs_Nm & ";USER=" & UID & ";PASSWORD=" & Pwd & ";Option=3"
oConn.Open SQLStr

MsgBox "Connected to " & Dbs_Nm & " via " & srvr_nm
End Sub
我已按如下方式重置代码。错误消息由行“oConn.Open SQLStr”生成。生成的错误是

运行时错误“-2147467259(80004005)”: [MySQL][ODBC 5.3(a)驱动程序]未知MySQL服务器主机'209.159.152.202:2083'(0)

新代码:

Private Sub CheckConnection()
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Pwd As String
Dim SQLStr As String
Dim Svr_Nm As String
Dim Usr_ID As String
Dim Dbs_Nm As String

' Input Parameters
Pwd = "mypassword"
Usr_ID = "myID"
srvr_nm = "209.159.152.202:2083"
Dbs_Nm = "mydatabase"
Set rs = New ADODB.Recordset
Set oConn = New ADODB.Connection
SQLStr = "DRIVER={MySQL ODBC 5.3 ANSI Driver};"
SQLStr = SQLStr & "SERVER=" & srvr_nm & ";DATABASE=" & Dbs_Nm & ";USER=" & Usr_ID & ";PASSWORD=" & Pwd & ";Option=3"
oConn.Open SQLStr

MsgBox "Connected to " & Dbs_Nm & " via " & srvr_nm
End Sub
感谢您提出将Port=作为单独变量添加的建议。不过,我已经尝试过了(请参阅新代码),但仍然不起作用

Private Sub CheckConnection()
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Pwd As String
Dim SQLStr As String
Dim Svr_Nm As String
Dim Usr_ID As String
Dim Dbs_Nm As String
Dim Port_Nm As String

' Input Parameters
Pwd = "mypassword"
Usr_ID = "myID"
Svr_Nm = "209.159.152.202"
Dbs_Nm = "mydatabase"
Port_Nm = "2083"
Set rs = New ADODB.Recordset
Set oConn = New ADODB.Connection
SQLStr = "DRIVER={MySQL ODBC 5.3 ANSI Driver};"
SQLStr = SQLStr & "Server=" & Svr_Nm & ";Port=" & Port_Nm & ";Database=" & Dbs_Nm & ";User=" & Usr_ID & ";Password=" & Pwd & ";Option=3"
oConn.Open SQLStr

MsgBox "Connected to: " & Dbs_Nm & " via " & Svr_Nm
End Sub

我仍然在同一个地方收到相同的错误消息。

“各种错误”不是对问题的有用描述:最好包含准确的错误消息,并指出触发它们的行。您好,准确的错误消息是:运行时错误“-2147467259(80004005)”:[MySQL][ODBC 5.3(a)驱动程序]未知MySQL服务器主机“209.159.152.202:2083”(0)请尝试将端口作为单独的参数-它不在IP地址的末尾。我想知道除了在Windows中安装ODBC驱动程序之外,我是否还需要做些什么来让连接工作。有人有想法吗?事实证明,我遇到的问题之一是,我需要将访问数据库时使用的各种IP地址列入白名单。我在不同的位置使用不同的计算机,因此有多个IP。