Maison > base de données > tutoriel mysql > Pourquoi mon code VBA ne parvient-il pas à se connecter à ma base de données MySQL et comment puis-je y remédier ?

Pourquoi mon code VBA ne parvient-il pas à se connecter à ma base de données MySQL et comment puis-je y remédier ?

Barbara Streisand
Libérer: 2024-10-29 04:46:29
original
609 Les gens l'ont consulté

Why Is My VBA Code Failing to Connect to My MySQL Database and How Can I Fix It?

Utiliser VBA pour connecter Excel à une base de données MySQL

La connexion à une base de données MySQL depuis Excel à l'aide de VBA peut être difficile, en particulier lorsque les méthodes de connexion standard ne fonctionnent pas . Comprendre l'erreur spécifique rencontrée est crucial pour trouver une solution.

Dans le code fourni, l'erreur de connexion est très probablement causée par une utilisation incorrecte du mot-clé New. Pour établir la connexion, vous devez créer une instance de l'objet ADODB.Connection sans utiliser New. Par conséquent, le code corrigé devrait être :

<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>
Copier après la connexion

De plus, notez que les codes utilisés pour insérer les données de la base de données dans Excel sont également légèrement incorrects. La version corrigée du sous-programme InsertData est :

<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>
Copier après la connexion

À titre de comparaison, voici un exemple de code PHP qui se connecte avec succès à un serveur MySQL :

<code class="php">$connect = mysql_connect("sql100.xtreemhost.com","xth_9595110","myPassword") or die(mysql_error());
mysql_select_db("myTable",$connect);</code>
Copier après la connexion

En suivant ces codes modifiés, vous devriez pouvoir établir une connexion à votre base de données MySQL et interagir avec ses données depuis Excel à l'aide de VBA.

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