![]() |
schnellster Weg eine SQL-Datei zu bearbeiten
Hallo,
ich habe eine riesige SQL Datei (ca. 300 MB) mit insert into Statements. Diese muss ich in eine HTML Datei umwandeln. Gibt es die Möglichkeit, eine fiktive Tabelle im Speicher zu erzeugen, darin lese ich die Datei ein und kann dann ganz normal mit tabelle.fieldbyname etc darauf zugreifen? Geht sowas, wenn ja, scheitert es an der Grösse der Datei/insert intos? Ich wollte mir halt die Mühe ersparen, die Datei zu parsen. Was wird vermutlich schneller gehen, parsen oder in eine Tabelle einfügen? Irgendwelche sonstigen Tipps? Danke und Gruss lkz633 |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Meinst Du vielleicht ein SQL Script ?? Oder die Metadaten-Definitionen, oder die Datenbank an sich ?? Oder wie oder was ?? Ist mir zu hoch. 8) Welche Datenbank ist das überhaupt ?
|
Re: schnellster Weg eine SQL-Datei zu bearbeiten
300MB :shock:
Was für eine DB benutzt du denn? Normalerweise geibt es für die "richtigen" Datenbanken Import/Export Möglichkeiten, die ohne die SQL Engine auskommen. Zum Bleistift Oracle's Direct Path loading. |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Hallo,
es handelt sich um einen SQL Dump, aus dem ich HTML Seiten erzeugen möchte. Gruss lkz633 |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
ohne Angabe der Datenbank läßt sich wohl nichts machen. Ist das nicht möglich und die Daten sind aus dem Nichts gekommen, so bleibt Dir wohl nichts anderes übrig, als zeilenweise alles nötige auszulesen / auszufiltern. 300 MB ist nicht die Welt. In der DB sinds dann so um die 50 MB, eher weniger. Hab ich auch schon durchgezogen. Wichtiger, als die MB sind aber IMHO die Anzahl der Zeilen.
Aber, was hat das mit html zu tun. Was soll da rauskommen ? Sind die Zeilen einheitlich, oder Kraut und Rüben ? CSV oder fest ? :gruebel: |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Es handelt sich um einen SQL dump von
![]() Es gibt ein Perl Script, was daraus HTMl Seiten, also eine Art Enyolzpedia erstellen kann, das soll halt nun auch mit Delphi passieren. Deswegen die Frage, ob eine In Memory Tabelle schneller ist oder die Datei parsen schneller ist lkz633 |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Könntest du 2-3 Zeilen als Anhang hochladen?
Dann könnte ich mir (bzw. alle anderen) besser ausmalen wovon du da sprichst. :wink: |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Er meint wohl einen Dump der kompletten Datenbank als CREATE DATABASE, CREATE TABLE und INSERT-Statements.
|
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Als dump (*.dmp-datei) kenne ich z.Bsp. die Import/Export-dateien von Oracle, die ohne SQL engine auskommen, wobei eine 300MB Datei in unter 10 sek. drin ist.
Er meint mit Dump aber wahrscheinlich eine ewig lange Liste von SQL-Statements. Wegen dem "wahscheinlich" fragte ich nach den ersten paar Zeilen. |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Ja, es ist genauso wie vermutet.
Ein create statement fuer die Tabelle, danach nur noch insert into statements. habe jetzt erfahren, das das mitt einem Clientdataset gehen soll. Hat jemand mit SQL schonmal damit eine Tabelle erstellt? Ich habe es nicht hinbekommen. lkz633 |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Zitat:
Zitat:
|
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Mit clientdataset kann ich eine In Memory Tabelle erzeugen.
Ich mache es jetzt aber mit einer anderen Komponente. Das problem ist nur, wie bekomme ich die Textdatei mit den SQl Befehlen geladen? In jeder Zeile steht ein isert into, aber ein Versuch mit stringlist.loadfromfile ging schief, und der PC haengte sich auf. Ich wollte dann einfach mit stringlist.strings[i] die Befehle durchgehen. Gruss lkz633 |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Also echt, Du willst 300 MB in den Speicher laden und dann ? Das Vorhaben wird immer schwerer zu verstehen. Dein Ansatz sieht für mich so aus, als willst du alle bewährten Strategien über den Haufen schmeißen und Datenbanken, Dateien usw. überflüssig machen und die Absatzzahlen von Hauptspeicher ankurbeln. :wall: Dein Dump dient normalerweise dazu, beim Wechsel der Datenbank dieses Script umzubauen und ablaufen zu lassen, um die Daten neu (aber anders) zu speichern. Ist die Datei zu groß, so wird sie zeilenweise gelesen.
Desweiteren wäre das allés schon lange fertig, wenn du nur mal mit der Arbeit angefangen hättest und nicht unwichtigen Phantomen nachjagen würdest. :mrgreen: |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Ich glaube ich hab's verstanden - er will den SQL-Dump in eine In-Memory-Tabelle schreiben, ohne dabei eine echte Tabelle anzulegen.
Leider funktioniert das aber ohne DB-Server nicht, denn das ClientDataSet selbst versteht kein SQL. Es bleibt noch die Möglichkeit, den Dump zeilenweise durchzulesen und entsprechende Queries an eine echte Datenbank abzusenden, aber da kann man genauso gut irgendwelche Admin-Tools nutzen. SQL-Statements zu parsen ist mehr als aufwendig, würde ich nicht tun. Besser wäre, wenn der Erzeuger des SQL-Dumps auch Dateien im CVS-Format o.ä. erstellen könnte, die sind relativ einfach in ein CDS zu pumpen. |
Re: schnellster Weg eine SQL-Datei zu bearbeiten
Zitat:
Zitat:
Hab wohl alles noetige aus der Borland-Newsgroup nun zusammen, trotzdem danke fuers Bemuehen lkz633 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz