在Excel中连接Mysql数据库

在Excel中连接Mysql数据库,mysql,excel,vba,Mysql,Excel,Vba,因此,我必须在实习期间编写一段代码,将一些excel工作表与MySQL数据库链接起来,并保持更新,到目前为止,我已经做到了这一点,但它不断给我带来错误。你看到什么错误了吗? 谢谢你的阅读 我得到的错误是:运行时错误-2147217900自动化错误 附:我对VBA很陌生 Dim server_name As String Dim database_name As String Dim user As String Dim Password As String Dim rs As adodb.Rec

因此,我必须在实习期间编写一段代码,将一些excel工作表与MySQL数据库链接起来,并保持更新,到目前为止,我已经做到了这一点,但它不断给我带来错误。你看到什么错误了吗? 谢谢你的阅读

我得到的错误是:运行时错误-2147217900自动化错误

附:我对VBA很陌生

Dim server_name As String
Dim database_name As String
Dim user As String
Dim Password As String
Dim rs As adodb.Recordset
Dim naam As String
Dim oConn As adodb.Connection


Public Sub getSerieNummer()

Dim result As String
Dim b As Long
Dim strSQL As String

naam = Range("C1").Value

server_name = "servername"
database_name = "dbname"
user_id = "idname"
Password = "password"

Set oConn = New adodb.Connection
oConn.Open "SERVER=" & server_name _
& ";PORT=3306" _
& ";DATABASE=" & database_name _
& ";UID=" & user_id _
& ";PWD=" & Password & _
";DSN=name_in_odbc;"

strSQL = "SELECT [serial_number] FROM view_aix WHERE [name] ='" & naam & "';"
Set rs = oConn.Execute(strSQL)

b = 0
With rs
    Do Until .EOF
    b = b + 1
    result = !serial_number
    rs.MoveNext
    Loop
End With
    oConn.Close
    rs.Close
Set rs.ActiveConnection = Nothing
Set oConn = Nothing
Range("C2").Value = result

End Sub
MySQL不支持“[”而使用“`”

也许是你的连接字符串的问题

ODBC连接样式

Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;
Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;
OLEDB连接方式

Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;
Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;

您需要提供错误的详细信息。它是否连接?(
naam
如果是字符串,则必须单引号)是否有必要编写代码…如果没有,那么在我的sql字符串中插入单引号后,仍然会出现相同的错误。我想我必须对它进行编码,因为excel工作表已经创建,并且我必须将数据库中的数据插入excel工作表的某些单元格中。我认为如果不进行编码,您无法做到这一点您得到错误了吗?另外,您应该考虑使用参数,而不是像那样在字符串中嵌入naam,否则您将面临sql注入的风险,但这是在您工作之后的问题。我在第行得到错误:Set rs=oConn.Execute(strSQL)