lati Geschrieben 5. Januar 2009 Teilen Geschrieben 5. Januar 2009 Hallo, ich möchte 2 Datenbanken die sich ähnlich sind , miteinander vergleichen und die unterschiede in einer Protokolldatei ausgeben lassen... Leider hab ich momentan noch keine richtige Idee , wie ich dies angehen könnte. Ich möchte kein fertiges Tool dafür haben Ich hoffe es kann mir jemmand Anregungen geben mfg Lati Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
U-- °LoneWolf° Geschrieben 5. Januar 2009 Teilen Geschrieben 5. Januar 2009 naja du kannst dir mit einem sql befehl (je nach dbms unterschidlich) alle tabellen ausgeben lassen. - Suche nach gleich bennanten tabellen - Suche in gleichen tabellen nach gleichen spalten - suche in gleichen spalten nach den identischen zeilen Aber mal im ernst um welches dbms handelt es sich und womit willst du das durchführen? C++ ? Java? C# ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 5. Januar 2009 Autor Teilen Geschrieben 5. Januar 2009 mit xampp und php.. ich bin noch in der lernphase, also hab noch nicht viel vorher damit zutun gehabt. wie kann ich dies umsetzen..mit imports oder anderen befehlen.. ich hab 2 datenbanken, die haben bestimmt minimum 20 tabellen...für den anfang wollt ich mir erstmal 2 datenbanken mit jeweils 1 tabelle vornehmen um die grundstruktur zu verstehen. wie kann ich dies umsetzen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 5. Januar 2009 Teilen Geschrieben 5. Januar 2009 mit xampp und php.. das eine ist ein softwarepaket, das andere eine scriptsprache. DBMS sind das keine. aber ich nehme an das soll heissen, du verwendest MySQL? s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 5. Januar 2009 Autor Teilen Geschrieben 5. Januar 2009 ja klar vergessen zu erwähnen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 5. Januar 2009 Teilen Geschrieben 5. Januar 2009 Ich kann mich da den Vorrednern nur anschließen, Du musst eben datenbankweise, alle Tabellen, Feldtypen, -längen und -inhalte durchlaufen und gegen die andere Datenbank abgleichen und dann Abweichungen entsprechend protokollieren. Ist recht ineffizient bei großen Datenbanken. Du baust entsprechend zu beiden Datenbanken via PHP eine Verbindung auf, setzt die entsprechende SQL Statements ab und verarbeitest die Ergebnisse, die Dir geliefert werden. Schau Dir dazu einmal die mysql Funktionen von PHP an und eben den mySQL Syntax (ggf. empfehle ich Dir noch die ADODB Schnittstelle von PHP) Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 6. Januar 2009 Autor Teilen Geschrieben 6. Januar 2009 das projekt ist wichtig und für sie schule...habe mich mit euren vorschlägen befasst, komme aber nicht weiter.. könnt ihr mir evtl einige beispiel-quellcode-zeilen posten wie man die inhalte von 2 datenbanken vergleicht? :confused: MfG lati Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 6. Januar 2009 Autor Teilen Geschrieben 6. Januar 2009 (bearbeitet) mysql_connect("localhost","root"); mysql_select_db("scan"); $abfrage = "SELECT * FROM cpu;"; $ergebnis = mysql_query($abfrage); mysql_connect("localhost","root"); mysql_select_db("scan1"); $abfrage2 = "SELECT * FROM cpu;"; $ergebnis2 = mysql_query($abfrage2); if(ergebnis!=ergebnis2) { echo'Unterschied in Tabelle CPU'; echo '<br>'; } else { echo'kein Unterschied in Tabelle CPU'; echo '<br>'; } damit hab ich es mal probiert.. aber egal ob die tabellen in den beiden db's gleich sind oder nicht, ich bekomm immer "Unterschied in Tabelle CPU" ausgegeben.. Danke MfG lati Bearbeitet 6. Januar 2009 von lati Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 6. Januar 2009 Teilen Geschrieben 6. Januar 2009 Hallo, ist ja auch kein Wunder. PHP: mysql_query - Manual Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 6. Januar 2009 Autor Teilen Geschrieben 6. Januar 2009 danke für deine antwort... aber ich kann damit nicht wirklich was anfangen.. wie gesagt ich bin anfänger.. was genau soll falsch sein? ich tippe auf $ergebnis = mysql_query($abfrage); mfg lati Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 6. Januar 2009 Teilen Geschrieben 6. Januar 2009 liefert mysql_query() eine Ressourcen-Kennung oder FALSE, falls die Anfrage nicht korrekt ausgeführt wurde. Für alle anderen SQL Anweisungen ist der Rückgabewert von mysql_query() im Erfolgsfall TRUE, Soll heißen Du schraubst an der ganz falschen Stelle. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 6. Januar 2009 Autor Teilen Geschrieben 6. Januar 2009 was genau muss ich denn ändern?? komm da grad nicht ganz hinterher.. danke schonmal für deine hilfe :-) mfg lati Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 7. Januar 2009 Teilen Geschrieben 7. Januar 2009 Was willst Du mit deinem Statement überhaupt erreichen? Das einzige was mir bei SELECT * .... einfällt ist die Anzahl der Datensätze zu vergleichen. Dort hilft dir mysql_numrows oder Du verwendest direkt ein SELECT count(*).... Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
rubbishbin Geschrieben 7. Januar 2009 Teilen Geschrieben 7. Januar 2009 Hallo, ich glaub wir würden dir alle gerne weiterhelfen, aber es scheinen noch grundlegende Kenntnisse in der Programmierung und der SQL zu liegen. Falls du es noch nicht kennst, würde ich dir gern dieses Tutorial ans Herz legen: Quakenet PHP Tutorial Ab Kapitel 27 wird nochmal in aller Kürze die Sprache SQL erklärt. Und wenn du dir Kapitel 32 anschaust, wirst du sehr schnell sehen was damit gemeint ist: ist ja auch kein Wunder. PHP: mysql_query - Manual Du verwendest direkt ein SELECT count(*)....Das halte ich für eine sehr gute Idee. So würde dann nämlich auch der Vergleich in deinem PHP-Code funktionieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 7. Januar 2009 Autor Teilen Geschrieben 7. Januar 2009 kann mir jemmand , wenn er lust hat den code schreiben?? Datenbank1 | Datenbank2 Tabelle1 | Tabelle2 Inhalt1 | Inhalt2 | Einen Vergleich ob die Inhalte, die in db1 stehen, auch in db2 stehen. Wenn ja rüber kopieren, wenn nicht ,dann überschreiben. Wäre super nett, dann hätte ich einen kleinen Anfang. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 7. Januar 2009 Teilen Geschrieben 7. Januar 2009 wenn du nicht nur vergleichen, sondern auch *abgleichen* willst, ist das nicht so trivial. es geht aus deinen postings auch nicht hervor, ob du felderweise oder zeilenweise abgleichen musst, d.h. datensätze, die in allen zeilen jeder einzelnen tabelle differieren, aus db1 SELECTieren und in db2 INSERTieren oder ob du auch auf vorhandene / nicht vorhandene felder prüfen musst (d.h. die struktur der tabellen ändern) möchtest. es wir dir hier nur jeder ansätze liefern, einer davon: öffne db1 öffne db1 für alle tabellen in db1 { für alle zeilen in tabelle { nimm zeile in tabelle vergleiche mit zeile in db2 wenn ungleich oder nicht voranden { INSERTiere in db2.tabelle } nächste zeile } nächste tabelle } schliesse db1 schliesse db2 das setzt auch voraus, dass du zeilen eindeutig identifiezieren kannst, nämlich mittels PK - sonst wirds noch schwieriger und du musst auf feldebene vergleichen. dass das ganze in PHP sauber gemacht werden muss ist klar, denn das script muss stabil laufen und datensatzkonsistenz schaffen / beibehalten. ich persönlich würde das garnicht mit PHP machen. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 7. Januar 2009 Autor Teilen Geschrieben 7. Januar 2009 OK,Danke schonmal, Das Problem ist halt nur, das wir jeder ein Projekt bekommen haben, dass einem zugewiesen wurde. Da ich keine Zeit habe mich vollständig mit der Thematik zu befassen, bräuchte ich "Anfangshilfe" und wollte mich an ein Forum wenden. Habe bisher nur Installationsscripte geschrieben. Meine Frage bezog sich ja nicht auf das komplette Projekt,sondern nur auf einen winzigen Teil davon...mit dem ich beginnen muss. Deswegen wäre es super, wenn ihr mir einen kleinen Vergleich(Felderweise) posten könntet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 7. Januar 2009 Teilen Geschrieben 7. Januar 2009 Meine Frage bezog sich ja nicht auf das komplette Projekt,sondern nur auf einen winzigen Teil davon...mit dem ich beginnen muss. Deswegen wäre es super, wenn ihr mir einen kleinen Vergleich(Felderweise) posten könntet. Bekomme ich dann einen Teil Deines Lohns? Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 7. Januar 2009 Autor Teilen Geschrieben 7. Januar 2009 (bearbeitet) das projekt ist für die schule, ich mach das ohne entlohnung.. Bearbeitet 7. Januar 2009 von lati Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 7. Januar 2009 Teilen Geschrieben 7. Januar 2009 dann kläre doch erstmal mit deinem lehrer / auftraggeber ab, ob du dir in der geforderten zeit das nötige wissen aneignen kannst, ohne zumindest einen grossen teil bei jemand anderem erfragen zu müssen. wenn du da jetzt eine woche zuwartest und dir niemand ein exakt passendes beispiel vorkaut (oder eines vorkaut, das unzureichend präzise oder brauchbar ist), hast du die zeit unnütz verschmissen. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lati Geschrieben 7. Januar 2009 Autor Teilen Geschrieben 7. Januar 2009 ihr versteht glaub ich nicht was ich meine, ist ja nicht schlimm, versuche es auf andereren wege Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.