ODBC-Schnittstelle richtig nutzen: So binde ich WordPress-MySQL-Datenquellen in Access ein

Warum das Ganze?

Weil Du Daten aus Deinem WordPress-Backend (MySQL) in Access analysieren willst.
Ohne Umwege. Ohne manuelles Exportieren.

Ziel: Daten regelmĂ€ĂŸig abrufen, verarbeiten und auswerten – direkt in Access.

Was Du brauchst

  • WordPress mit MySQL-Datenbank (typisch: MariaDB)
  • Zugriffsdaten zur Datenbank (Host, User, Passwort, DB-Name, Port)
  • ODBC-Treiber fĂŒr MySQL (z. B. MySQL Connector/ODBC)
  • Access, idealerweise 32-Bit (bei 64-Bit: KompatibilitĂ€t prĂŒfen)

ODBC-Datenquelle einrichten

  1. MySQL Connector installieren
  2. ODBC-Datenquelle ĂŒber odbcad32.exe einrichten (System-DSN empfohlen)
  3. Verbindungsdaten eingeben:
Hostname: deine-domain.de oder IP-Adresse  
Port: 3306  
Benutzername: wp_reader  
Passwort: ‱‱‱‱‱  
Datenbank: wordpress_db  
  1. Testverbindung starten – ggf. Firewall prĂŒfen

Access mit ODBC verbinden

In Access:
Externe Daten → ODBC-Datenbank → VerknĂŒpfung zu Datenquelle erstellen

Tabelle auswĂ€hlen – z. B. wp_users, wp_posts, wp_postmeta

Optional: Nur Abfrage erstellen, z. B. fĂŒr gezielte Selektion.

Beispiel: Nur veröffentlichte BeitrÀge mit benutzerdefiniertem Feld laden

SELECT p.ID, p.post_title, p.post_date, m.meta_value AS ArtikelNr
FROM wp_posts AS p
LEFT JOIN wp_postmeta AS m ON p.ID = m.post_id
WHERE p.post_type = 'post'
AND p.post_status = 'publish'
AND m.meta_key = 'artikelnummer';

Kann als gespeicherte Abfrage in Access gespeichert werden.

Komplexe Auswertung in VBA

Public Sub LadeWordPressDaten()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String
    
    strSQL = "SELECT post_title, post_date FROM wp_posts " & _
             "WHERE post_status = 'publish' AND post_type = 'post';"
    
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
    
    Do While Not rs.EOF
        Debug.Print rs!post_title & " - " & rs!post_date
        rs.MoveNext
    Loop
    
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Sub

Hinweise zur Performance

  • wp_postmeta ist oft groß – nur gezielt abfragen
  • Indexe prĂŒfen – ggf. temporĂ€r eigene Views anlegen (z. B. in phpMyAdmin)
  • Views können in Access verknĂŒpft werden wie Tabellen

Sicherheit

  • Lesezugriff auf MySQL-Benutzer beschrĂ€nken
  • SSL-Verbindung nutzen, wenn möglich
  • Kein Root-User
  • RegelmĂ€ĂŸige Backup-Strategie auch fĂŒr Access

Optional: Daten lokal zwischenspeichern

CurrentDb.Execute "DELETE FROM tbl_wp_posts_local"
CurrentDb.Execute "INSERT INTO tbl_wp_posts_local SELECT * FROM wp_posts WHERE post_status = 'publish'"

Damit hast Du eine lokale Kopie fĂŒr Offline-Auswertungen.

Du willst mehr als nur Tabelle sehen?

Dann meld Dich bei mir.
Ich helfe Dir bei der ODBC-Anbindung,
sorge fĂŒr saubere Abfragen
und automatisiere Deinen Datenzugriff mit VBA.

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert