使用 VBA 从 Excel 中连接到 MySQL 数据库可能具有挑战性,特别是当标准连接方法无法工作时。了解遇到的具体错误对于找到解决方案至关重要。
在提供的代码中,连接错误很可能是由于错误使用 New 关键字引起的。要建立连接,您应该创建 ADODB.Connection 对象的实例,而不使用 New。因此,更正后的代码应该是:
<code class="vba">Dim oConn As ADODB.Connection Private Sub ConnectDB() Set oConn = CreateObject("ADODB.Connection") Dim str As String str = "DRIVER={MySQL ODBC 5.2.2 Driver};" & _ "SERVER=sql100.xtreemhost.com;" & _ "PORT=3306" & _ "DATABASE=xth_9595110_MyNotes;" & _ "UID=xth_9595110;" & _ "PWD=myPassword;" & _ "Option=3" ''' error ''' oConn.Open str End Sub</code>
此外,请注意,用于将数据库中的数据插入 Excel 的代码也略有不正确。 InsertData 子例程的更正版本为:
<code class="vba">Private Sub InsertData() Dim rs As ADODB.Recordset Set rs = CreateObject("ADODB.Recordset") ConnectDB sql = "SELECT * FROM ComputingNotesTable" rs.Open sql, oConn, adOpenDynamic, adLockOptimistic Do Until rs.EOF Range("A1").Select ActiveCell = rs.Fields("Headings") rs.MoveNext Loop rs.Close oConn.Close Set rs = Nothing End Sub</code>
为了进行比较,这里有一个成功连接到 MySQL 服务器的 PHP 代码示例:
<code class="php">$connect = mysql_connect("sql100.xtreemhost.com","xth_9595110","myPassword") or die(mysql_error()); mysql_select_db("myTable",$connect);</code>
按照这些修改后的代码,您应该能够建立与 MySQL 数据库的连接,并使用 VBA 在 Excel 中与其数据进行交互。
以上是为什么我的 VBA 代码无法连接到 MySQL 数据库以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!