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
185 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!

source:php.cn
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