我正在尝试将表写入MySQL数据库,ich搜索了许多示例,但id无效,我也不知道为什么。

我的代码:

    Private Sub abfrage()

Dim xlsstring As String
Dim xlsrecordsetarray
Dim xlsadodbconnection As New ADODB.Connection
Dim xlsrecordset As New ADODB.Recordset
Dim xlssource As String
Dim xlsconnect As String

Dim sqlstring As String
Dim sqlrecordsetarray
Dim sqladodbconnection As New ADODB.Connection
Dim sqlrecordset As New ADODB.Recordset
Dim sqlsource As String
Dim sqlconnect As String

xlssource = ThisWorkbook.FullName
'xlssource ="C:\mappe1.xls"

'SQL Verbindung für Exceldatei als Quelle
xlsconnect = "PROVIDER=MSDASQL.1;" & _
            "DSN=Excel Files;" & _
            "DBQ=" & xlssource & ";" & _
            "HDR=Yes;"


sqlconnect = "DRIVER={MySQL ODBC 5.3 Driver};" & _
            "DATA SOURCE=MySQL ODBC;" & _
            "SERVER=localhost;" & _
            "PORT=3306;" & _
            "UID=root;" & _
            "PWD=root;" & _
            "DATABASE=test;"

xlsadodbconnection.Open xlsconnect
sqladodbconnection.Open sqlconnect

sqlstring = "INSERT INTO test (ID, text) SELECT id, text FROM [Tabelle1$]"
sqlrecordset.Open sqlstring, sqladodbconnection

xlsrecordset.Close
xlsadodbconnection.Close
sqladodbconnection.Close

End Sub


它告诉我错误:

[MySQL [ODBC 5.3(w)驱动程序] [mysqld-5.6.16]您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的[[Tabelle1 $]]附近使用正确的语法

请,有人可以帮我吗?

谢谢

最佳答案

MySQL中表[Tabelle1 $]的名称是什么?您是否要添加vba风格的[[]和“]”?

如果是这样,请尝试将其删除并再次运行查询。

根据评论编辑:

将电子表格另存为.CSV,然后尝试使用“ LOAD DATA INFILE LOCAL”命令将数据移至MySQL服务器上的临时表中。

http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_26714181.html

关于mysql - EXCEL VBA:尝试在MySQL数据库中编写表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25200097/

10-12 12:48
查看更多