VBA를 사용하여 Excel 내에서 MySQL 데이터베이스에 연결하는 것은 어려울 수 있으며, 특히 표준 연결 방법이 작동하지 않는 경우 더욱 그렇습니다. . 해결 방법을 찾으려면 발생한 특정 오류를 이해하는 것이 중요합니다.
제공된 코드에서 연결 오류는 New 키워드를 잘못 사용하여 발생할 가능성이 높습니다. 연결을 설정하려면 New를 사용하지 않고 ADODB.Connection 개체의 인스턴스를 만들어야 합니다. 따라서 수정된 코드는 다음과 같아야 합니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!