29. August 200520 j Hi... ich habe folgendes Problem und hoffe ihr könnt mir da weiterhelfen. Also ich hab ein Excel Sheet mit ca. 30 Spalten mit allerhand Handyinformationen. Jetzt hab ich ne MySQL Datenbank wo schon allerhand Informationen stehen. So jetzt brauch ich aus dem Excel Sheet eigentlich nur eine Spalte und zwar den Tarif in dem sich ein Handy zur Zeit befindet. Dazu bräuchte ich ne Möglichkeit um zu sagen INSERT INTO Datenbank "Tarif (Excel)" WHERE "Handynummer (Datenbank) = Handynummer (Excel)". Habt ihr da spontan was auf Lager? Vielen Dank schonmal. CU Don
29. August 200520 j Dazu bräuchte ich ne Möglichkeit um zu sagen INSERT INTO Datenbank "Tarif (Excel)" WHERE "Handynummer (Datenbank) = Handynummer (Excel)". SQLYog bietet z.B. sowas an. Data synchronization von ODBC zu MySql. Dabei kannst du entweder alles kopieren oder ein SQL dazu angeben. Hab es auf die Art wie du es willst noch nicht probiert, denke aber das sollte gehen, auch mit der freien Version. Ups, data synchronization scheint bei der freien zu fehlen... müsstest du probieren inwieweit du da dennoch was hinbekommst... Vielleicht reicht ja auch die Trial-Version.
29. August 200520 j So jetzt brauch ich aus dem Excel Sheet eigentlich nur eine Spalte und zwar den Tarif in dem sich ein Handy zur Zeit befindet. Dazu bräuchte ich ne Möglichkeit um zu sagen INSERT INTO Datenbank "Tarif (Excel)" WHERE "Handynummer (Datenbank) = Handynummer (Excel)". Habt ihr da spontan was auf Lager? Ähm, also wenn ich das richtig verstehe willst du eine Art Abgleich zwischen den Tabellen machen, bzw. die MySQL-Tabelle um zusätzlich eine Spalte erweitern? Ich würde so vorgehen (hast du PHP-Kenntnisse? Nehm ich mal an ): 1. Excel-Tabelle in eine extra MySQL-Tabelle importieren (per csv o.ä.) 2. Via php Datensätze aus importierter Excel-Tabelle auslesen und die MySQL-Tabelle gleichzeitig ergänzen. Könnte so aussehen: $sql = "SELECT Tarif, Handynummer FROM ImportierteExcelTabelle"; $ergebnis = mysql_exec($sql); while ($row=mysql_fetch_array($ergebnis)) { //hier könnte man theoretisch alle Update-Anweisungen per echo Ausgeben //lassen und dann auf der mysql-Konsole/phpmyadmin ausführen lassen [Update TabelleMySQL SET Tarif = $row["Tarif"] WHERE TabelleMySQL.Handynummer = $row["Handynummer"]] } [/PHP] Ist natürlich nur ein Ansatz, den man noch verfeinern muss (durch Abfangen von mögl. Fehler usw.). 3. Importierte Excel-Tabelle löschen nicht vergessen! 4. Fertig!
29. August 200520 j Hmm Schlati, also dein Ansatz ist nit schlecht... Den werd ich auf jeden Fall mal weiterverfolgen und ausprobieren... Thx
29. August 200520 j Hmm Schlati, also dein Ansatz ist nit schlecht... Den werd ich auf jeden Fall mal weiterverfolgen und ausprobieren... ThxWürd mich freuen, wenn du kurz berichtest, ob's geklappt hat...oder ob's noch unerwartete Probleme gibt/gab.
30. August 200520 j Ok habs eigentlich recht elegant gelöst denke ich . Hab jetzt ein kleines Perlscript gebastelt was alle 5 Minuten überprüft ob ein aktuelles Excel File da ist und importier das ganze Ding in ne Datenbank, da dort noch andere interessante Infos drinstehen. Jetzt kann ich ja mit nem Leftjoin oder ähnlichem die Daten die ich brauch von der einen Datenbank in die andere beamen. Also danke schlati für den Tip CU
30. August 200520 j Also danke schlati für den Tip NP, man tut was man kann! *aufUhrschau* -> Mahlzeit!
30. August 200520 j Alternativ, den Mysql-ODBC-Treiber installieren und bei Änderungen in der Excel-Datei das sql-Update mittels VBA-durchführen (automatisch und im Hintergrund).
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.