Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Excel file vom Webserver in DB einlesen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Michi_R, 8 Oktober 2013.

  1. Michi_R

    Michi_R Fleissiger Benutzer

    Hallo Leute

    Mein Ziel ist folgendes:
    Ich kann mit php ein Excel file auf meinen Server hochladen. Dann möchte ich automatisiert (also es soll direkt nach dem hochladen passieren), dass das hochgeladene Excel file in eine DB Tabelle geschrieben wird.

    Entweder nacheinander, also:
    File wählen, Formular absehnen und dann im Formular, das beim absenden aufgerufen wird eine DB-Verbindung und ein Query der das Excel File vom Webserver nimmt und in die DB schreibt. Geht so etwas mit einem Query?

    Oder direkt, dass das File gar nicht am Server abgelegt wird, sondern direkt in die DB geschrieben wird.

    Ich weiß, es ist auch eine php Sache, aber gerade beim Nacheinander (erster Vorschlag oben) scheitert es bei mir gerade am Query bzw. am Vorgehen mit der DB.

    Danke schon mal,
    Michi
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Was genau willst Du machen, die Datei als solches in der DB speichern, oder den Inhalt aus dem Excel-Shit irgendwie als Daten interpretieren und in die DB schreiben?


    Letzteres stelle ich mir nicht-trivial vor, eine CSV-Datei wäre da um Größenordnungen handlicher.

    Genau. PHP. Die Datenbank als solche kann sowas eher nicht von selber machen.
     
  3. Michi_R

    Michi_R Fleissiger Benutzer

    Ja, die Daten des Excel-sheets sollen in eine DB Tabelle geschrieben/übertragen/eingelesen werden.

    Im Prinzip genau das was ich machen kann wenn ich z.b. "händisch" im MS SQL Server Management Studio Rechtsklick auf die tabelle mache und sag "Daten importieren", dann kann ich ja auch sagen, dass meine Quelle ein Excel file ist und dass ich da in die Tabelle schreiben möchte. Nur dass die Excel Quelldatei in meinem Fall nicht am Client liegt sondern schon am Server ist und ich nicht händisch den Import-Assistenten ausführen möchte.

    Hast du irgendeine Ahnung wie das mit php aussehen kann/muss? Mir fehlt hier gerade ein wenig der Ansatzpunkt, die Bauanleitung sozusagen wie ich beginnen bzw. wo ich suchen soll.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Nein, sorry. Ist hier wohl auch das falsche Forum. Es gibt IIRC Klassen / Bibliotheken für PHP, um auf Excel-Shits zugreifen zu können.
     
  5. Michi_R

    Michi_R Fleissiger Benutzer

    Du meinst also, ich muss mir mit PHP die Daten soweit aus dem Excel Sheet rausholen und aufbereiten, dass ich sie mit simplen insert into Querys in die DB schreiben kann? (Wäre zumindest schon mal ein Ansatz).
     
  6. akretschmer

    akretschmer Datenbank-Guru

    So ungefähr. Im PHP-Forum hat jemand, mit anderem Nick, eine 100% gleiche Frage gestellt. Zufälle gibt es, ...
     
  7. Michi_R

    Michi_R Fleissiger Benutzer

    Sachen gibts, die gibts garnicht :D
     
  8. ukulele

    ukulele Datenbank-Guru

    Reden wir jetzt über MySQL oder über MSSQL?

    In MSSQL gibt es Möglichkeiten Daten aus Exceldateien auszulesen (ROWSET, BULK IMPORT, etc.), allerdings werden dazu ODBC Treiber verwendet. Ich kann nicht sagen in wie fern sowas unter MySQL und eventuell unter Linux geht.
     
  9. Michi_R

    Michi_R Fleissiger Benutzer

    Testumgebung gerade ist MYSQL, soll aber letztendlich mit MSSQL implementiert werden. Dachte dass sich das in dem Fall nicht groß unterscheidet, aber wenn es doch so ist probiere ich es gleich in MSSQL.
     
  10. ukulele

    ukulele Datenbank-Guru

    Ich persönlich nutze gerne OPENROWSET. Leider birgt es ein paar Nachteile:
    1) Es muss aktiviert bzw. erlaubt werden und davon wird abgeraten wenn man es nicht braucht weil es die Angriffsfläche erhöht, kann man halten wie man will.
    2) Die Syntax ist abhängig vom Betriebssystem, der SQL Version, wieviel Bit das OS hat, wieviel Bit der SQL Server hat etc. etc.
    3) Es müssen Office ODBC Komponenten installiert werden
    4) Manchmal will es einfach nicht :)
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden