Connexion à une base de données MySQL à l'aide de VBA
Tentative de connexion accéder à une base de données MySQL dans Excel à l'aide de VBA peut parfois s'avérer difficile. Dans votre cas, vous avez rencontré une erreur en essayant d'établir une connexion.
Pour réussir à vous connecter à une base de données MySQL à l'aide de VBA, suivez ces étapes :
Sub ConnectDB()
Dim oConn As ADODB.Connection
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"
' Open the connection
oConn.Open str
End Sub
Récupération de données de la base de données
Une fois que vous avez établi une connexion, vous pouvez récupérer des données de la base de données à l'aide d'un objet ADODB.Recordset. Voici comment procéder :
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
' Execute a query
sql = "SELECT * FROM ComputingNotesTable"
rs.Open sql, oConn, adOpenDynamic, adLockOptimistic
' Retrieve the data
Do Until rs.EOF
Range("A1").Select
ActiveCell = rs.Fields("Headings")
rs.MoveNext
Loop
' Clean up
rs.Close
oConn.Close
Set oConn = Nothing
Set rs = Nothing
Comparaison avec PHP
Vous avez mentionné que vous avez réussi à vous connecter à MySQL à l'aide de PHP. En PHP, vous avez utilisé la fonction mysql_connect. Cependant, en VBA, nous utilisons l'objet ADODB.Connection pour établir une connexion.
La fonction mysql_connect est une fonction PHP native qui interagit directement avec l'extension MySQL. D'autre part, ADODB.Connection est un objet ActiveX qui fournit un moyen plus générique de se connecter à diverses bases de données, y compris MySQL.
Notes supplémentaires
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3