mysql über odbc mit excel verknüpfen

  • Hallo Leute,

    ganz allgemeine Frage: Hat jemand schon mal über ODBC via Excel auf eine MySQL, die auf dem Pi läuft, zugegriffen? Habe selber bisher nur einen ganz kurzen Versuch gestartet, beidem ich folgende Ausgangssituation hatte:

    1. Pi mit MySQL im Netzwerk
    2. ODBC von der offiziellen MySQL Seite auf meinem Rechner installiert
    3. Pi bzw. MySQL über Excel und ODBC gefunden und eingebunden

    Aaaaber beim ersten Versuch kam ein Fehler. Bevor ich mich jetzt ewig weit aus dem Fenster lehne, hat das schon jemand realisiert bzw. kann mir gleich sagen, dass es kniffe gibt oder brauch ich nur ein paar andere Einstellungen?

    Thx for feedback.

    Greez
    mobby

  • Ich habe den ODBC Client auf Windows installiert. Folgender Fehler erscheint schon beim Testen der Verbindung:

    Connection Failed: [HY000] [MySQL][ODBC 5.2(w) Driver]Can't connect to MySQL server on 'ip' (10061)

    Habe schon gelesen, dass es mit den Rechten zu tun haben kann. Aber mal eine allgemeine Frage, muss ich auf dem PI irgendwas zusätzliches installieren? Nein oder? Da reicht der normale mysql client aus und ODBC muss nur auf den Rechner, mit dem ich auf die MySQL zugreifen will, oder irre ich mich da?

  • Hallo mobby,

    ich fürchte, soweit wirst Du Dich schon aus dem Fenster lehnen müssen und den Lesern Deines Threads zumindest verraten müssen,
    welche(n) Fehler Du genau, auf welche Aktion hin, bekommen hast, wenn Dir hier irgend jemand helfen soll.

    Mein Python-Wissen ist nur sehr oberflächlich.

    Besser kenne ich mich mit Perl aus.

    Dort gibt es das generische Data Base Independent Interface DBI, das für so gut wie jede Datenbank (Excel Spreadsheet Files inklusive)
    ein einheitliches API zur Verfügung stellt, während die schmutzigen Details die darunter arbeitenden Treiberschichten für jede Datenbankquelle individuell
    (also z.B. DBD::ODBC und DBD::mysql) erledigen, um die sich der Datenbankprogrammierer aber nicht zu kümmern braucht.
    Meist unterscheiden sich lediglich die jeweiligen Constructor Aufrufe, die in der Regel den Connect zur jeweiligen Datenbank vornehmen
    und bei Erfolg ein sog. Database Handle zurückliefern (i.e. eine Objektreferenz),
    an das/die man dann quasi Statement Handles mit dem benötigten (üblicherweise prepared) SQL Queries andocken kann.
    Damit klappt der Datenaustausch zwischen den verschiedenen Datenquellen meist ganz hervorragend.
    Der Anwendungsprogrammierer kann sogar einen Bogen um SQL machen und sich ganz auf die Datenstrukturen seiner Programmiersprache zurückziehen,
    wenn er ein sog. ORM bzw. Object Relational Mapper Modul (z.B. DBIx::Class) verwendet.

    Ich gehe davon aus, dass es all das auch in Python oder beliebigen anderen Programmiersprachen gibt.
    Bloß bei denen weiss ich nicht, wie die entsprechenden Module/Klassen heissen.


    P.S. Den Fehler musst Du gepostet haben, als ich meinen Salm geschrieben habe.

    Einmal editiert, zuletzt von Life_of_Pi (6. Mai 2014 um 16:28)

  • Ok, um etwas genauer zu verdeutlichen wie ich bisher vorgegangen bin, hier mein Ansatz:

    Ich habe folgenden Plugin installiert: MySQL for Excel

    Daraufhin versucht über meine üblichen Zugangsdaten via Excel auf die MySQL zuzugreifen. Funktioniert aber nicht. Benutzername und Passwort sollten stimmen und auch die Rechte sind vergeben.

    error.png

    error2.png

    Jetzt -> finde den Fehler :wallbash:

    Sry for double Post, aber habe den Fehler behoben, indem ich einen neuen Benutzer mit Host 192.168.1.% und den jeweiligen Rechten angelegt habe. Zudem hab ich in /etc/mysql/my.cnf die Zeile bind-address auskommentiert.

    Jetzt funzt alles. Sobald weitere Bugs auftreten werde ich hier posten. Thx aber schonmal zwischendrin.

    //Nachtrag:

    Der oben beschrieben Weg funktioniert inzwischen perfekt. Aber ein anderes Problem stellt sich mir in den Weg. Will ich über VBA bzw. den in Excel integrierten Weg auf die MySQL via ODBC zugreifen erscheint folgender Fehler:

    "Der angegebene DSN weist eine nicht übereinstimmende Architektur von Treibern und Anwendungen auf."

    Woran liegts? ^^

    Installiert ist folgendes: ODBC Connector

    Die dort eingetragenen Verbindungen kann ich auch ohne weiteres in Excel wählen, aber eben mit oben erwähntem Fehler ...

  • ...aus reiner Neugierde....

    Da ich ja selbst schon mit ODBC (Access) mit verschiedenen mySQL-DB's Daten getauscht habe, interessiert mich das Thema.

    Ich sehe jetzt aber keine Verwendung innerhalb von Excel.. (da bin ich nicht so fit.. mehr als ein paar kleiner Kalkulationen hab ich bisher nie genutzt)

    Kanns du uns (sehr allgemein) mal kurz deine Aufgabenstellung beschrieben?

    Suche Gleichgesinnte für mein Projekt!
    jamesmatik_200.png
    soll ein Baukasten (Software und Hardwaremodule) für Temperatur-Logging, kleine Steuerungsaufgaben und Smart-Home werden.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!