Maison > base de données > tutoriel mysql > Pourquoi ma connexion VBA à la base de données MySQL dans Excel échoue-t-elle et comment y remédier ?

Pourquoi ma connexion VBA à la base de données MySQL dans Excel échoue-t-elle et comment y remédier ?

Susan Sarandon
Libérer: 2024-10-31 15:30:14
original
202 Les gens l'ont consulté

Why Is My VBA Connection to MySQL Database in Excel Failing and How Do I Fix It?

Dépannage de la connexion VBA à la base de données MySQL dans Excel

La question se pose lorsque vous tentez de vous connecter à une base de données MySQL à l'aide de VBA dans Excel mais que vous rencontrez un erreur. Voici une enquête approfondie et une solution au problème basée sur l'extrait de code fourni.

Analyse du problème :

La ligne défaillante identifiée dans le code VBA est :

oConn.Open str
Copier après la connexion

Cette ligne est chargée d'établir une connexion à la base de données MySQL à l'aide de la chaîne de connexion stockée dans la variable str. Une erreur se produit au cours de cette étape, empêchant l'établissement de la connexion.

Cause première et solution :

En comparant le code VBA fourni à la connexion PHP réussie, un élément crucial La différence devient apparente : l'inclusion du sous-programme CONNECTDB() dans le code VBA. Ce sous-programme est l'endroit où la connexion à la base de données doit être initialisée, comme le montre le code corrigé fourni dans la solution.

Le code VBA corrigé ci-dessous résout le problème et devrait réussir la connexion à la base de données MySQL :

Private Sub ConnectDB()
    Set oConn = New 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"
    oConn.Open str
End Sub

Private Sub InsertData()
    Dim rs As ADODB.Recordset
    Set rs = New 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 oConn = Nothing
    Set rs = Nothing
End Sub
Copier après la connexion

Le code mis à jour garantit que la connexion à la base de données MySQL est établie avant de tenter d'exécuter la requête SQL et de récupérer les données. En suivant ces étapes, vous devriez pouvoir vous connecter avec succès à votre base de données MySQL à l'aide de VBA dans Excel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal