konvertieren von DBF nach SQL mit key
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21216
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
konvertieren von DBF nach SQL mit key
Hi,
wie schon gesagt, ich "spiele" ein wenig mit SQL. Jetzt habe ich natürlich etliche DBF Dateien, die ich in eine SQL Datenbank übernehmen möchte. Bisher habe ich die ID eines jeden Satzes selbst verwaltet und somit auch selbst vergeben. Darüber werden die einzelnen DBF miteinander verbunden. Wie bekommt man denn die derzeitigen ID in eine SQL Tabelle? Es sieht ja so aus, dass die SQL DB die Keys selber verwaltet und hochzählt. Ich möchte aber den Grundbestand zunächst übernehmen, muß aber dabei die ID aus den DBF erhalten, damit die Verknüpfungen weiterhin stimmig sind. Wie löst man sowas? Stellt man zu Anfang das Autoincrement der SQL Tabelle ab und übernimmt dann zuerst die Daten um dann das Autoincrement wieder einzuschalten? Aber woher weiß die SQL Tabelle dann, ab wo gezählt werden muß? Oder wie macht man sowas?
wie schon gesagt, ich "spiele" ein wenig mit SQL. Jetzt habe ich natürlich etliche DBF Dateien, die ich in eine SQL Datenbank übernehmen möchte. Bisher habe ich die ID eines jeden Satzes selbst verwaltet und somit auch selbst vergeben. Darüber werden die einzelnen DBF miteinander verbunden. Wie bekommt man denn die derzeitigen ID in eine SQL Tabelle? Es sieht ja so aus, dass die SQL DB die Keys selber verwaltet und hochzählt. Ich möchte aber den Grundbestand zunächst übernehmen, muß aber dabei die ID aus den DBF erhalten, damit die Verknüpfungen weiterhin stimmig sind. Wie löst man sowas? Stellt man zu Anfang das Autoincrement der SQL Tabelle ab und übernimmt dann zuerst die Daten um dann das Autoincrement wieder einzuschalten? Aber woher weiß die SQL Tabelle dann, ab wo gezählt werden muß? Oder wie macht man sowas?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16544
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: konvertieren von DBF nach SQL mit key
Moin,
wäre eine Möglichkeit - sequence.
Bsp.:
Viele Grüße,
Martin
wäre eine Möglichkeit - sequence.
Bsp.:
Code: Alles auswählen
CREATE SEQUENCE _schema_._sequence-name_ MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 21642502 NOCACHE NOORDER NOCYCLE
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21216
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: konvertieren von DBF nach SQL mit key
das verstehe ich jetzt überhaupt nicht. Was macht dass denn?
Ach so, das müßte dann am Schluß laufen, wenn alles übernommen wurde?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16544
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: konvertieren von DBF nach SQL mit key
Im Prinzip.
Ist halt eine Sequenz, die Werte von 1 bis 9999999999999999999999999999 annehmen kann und bei 21642502 beginnt.
Viele Grüße,
Martin
Ist halt eine Sequenz, die Werte von 1 bis 9999999999999999999999999999 annehmen kann und bei 21642502 beginnt.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21216
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: konvertieren von DBF nach SQL mit key
Hm
und dann? Was passiert denn dann?
und dann? Was passiert denn dann?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: konvertieren von DBF nach SQL mit key
Du bekommst eine Satz-ID, die bei dem von Dir gewünschten Wert anfängt. Damit Du bestimmst, welche Werte dadrin stehen. Das wolltest Du doch?
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21216
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: konvertieren von DBF nach SQL mit key
also wenn ich fertig bin mit der Übernahme, geht es mit der gewünschten Nummer weiter. Dann aber wieder automatisch, wenn ich es einschalte?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: konvertieren von DBF nach SQL mit key
Hallo Manfred,
wenn du tatsächlich in beiden Dateien die gleiche RecNo() haben willst, hast du ein Problem.
Bei DBF wird die RecNo() bei jedem PACK geändert, du könntest eine INTEGER nutzen und mit der recno() füllen.
Das funktioniert, bis zum nächsten PACK
Ein AUTOINCEMENT Feld in der SQL DB ist als primary key nötig, aber untauglich um die Verknüpfung mit der DBF herzustellen.
Denn nach einem Löschvorgang und neu Einlesen, machen diese dennoch mit den bisherigen höchsten Wert weiter.
Ähnlich dem autoinkrement von FOXDBE ...
Ich nehme immer ein vergleichbares Feld mit gleichem Inhalt in beiden Datenbanken.
wenn du tatsächlich in beiden Dateien die gleiche RecNo() haben willst, hast du ein Problem.
Bei DBF wird die RecNo() bei jedem PACK geändert, du könntest eine INTEGER nutzen und mit der recno() füllen.
Das funktioniert, bis zum nächsten PACK
Ein AUTOINCEMENT Feld in der SQL DB ist als primary key nötig, aber untauglich um die Verknüpfung mit der DBF herzustellen.
Denn nach einem Löschvorgang und neu Einlesen, machen diese dennoch mit den bisherigen höchsten Wert weiter.
Ähnlich dem autoinkrement von FOXDBE ...
Ich nehme immer ein vergleichbares Feld mit gleichem Inhalt in beiden Datenbanken.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21216
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: konvertieren von DBF nach SQL mit key
Öh Recno()?
Habe ich nichts von gesagt. ID ist gemeint. Selbstvergeben. Eigener Primary Key.
Habe ich nichts von gesagt. ID ist gemeint. Selbstvergeben. Eigener Primary Key.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: konvertieren von DBF nach SQL mit key
du sagtest doch MySQLManfred hat geschrieben:wie schon gesagt, ich "spiele" ein wenig mit SQL.
Frage : mit PhP oder Xbase++ ?
für Xbase++ gibt es ja die libmysql.dll ( benötigt Ot4xb) von Hector Pezoa.
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: konvertieren von DBF nach SQL mit key
Hallo Manfred,
ICH habe bei meinen MySQL DBs immer ein Feld RecNo, LONG(8) autoincrement - dieses nutze ich für den eindeutigen Zugriff auf einen Datensatz.
ZUSÄTZLICH nutze ich - wie du wohl auch - ein ID Feld, das in beiden vom gleichen Typ ist (meist Zeichenfeld, kann aber auch numerisch sein.).
Zusammengehörige Tabellen in MySQL werden dann über das Feld RecNo verknüpft. So kann ich die ID nachträglich austauschen ohne die Verbindung zu kappen.
ICH habe bei meinen MySQL DBs immer ein Feld RecNo, LONG(8) autoincrement - dieses nutze ich für den eindeutigen Zugriff auf einen Datensatz.
ZUSÄTZLICH nutze ich - wie du wohl auch - ein ID Feld, das in beiden vom gleichen Typ ist (meist Zeichenfeld, kann aber auch numerisch sein.).
Zusammengehörige Tabellen in MySQL werden dann über das Feld RecNo verknüpft. So kann ich die ID nachträglich austauschen ohne die Verbindung zu kappen.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21216
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: konvertieren von DBF nach SQL mit key
@Jimmy
Im Moment nur SQL als solches im Zusammenhang mit mysql, oder PostgreSQL. Es geht erstmal nur darum die DB zu erstellen nebst den Tabellen um sich an neue Datentypen zu gewöhnen und wie man die wann einsetzt. Reines Lernen, planen und testen. Mehr
nicht. Dann werde ich wohl sehr wahrscheinlich zu Anfang mit PHP daran gehen. Und dann schaue ich mal weiter...
@Hubert,
ich habe einfach nur das Feld ID. Aber da hätte ich schon gleich eine Frage an Dich. Warum Long(8)? Ich habe mediumint(8). Ich möchte doch eine Breite von mindestens 8 haben und es soll numerisch sein.
Im Moment nur SQL als solches im Zusammenhang mit mysql, oder PostgreSQL. Es geht erstmal nur darum die DB zu erstellen nebst den Tabellen um sich an neue Datentypen zu gewöhnen und wie man die wann einsetzt. Reines Lernen, planen und testen. Mehr
nicht. Dann werde ich wohl sehr wahrscheinlich zu Anfang mit PHP daran gehen. Und dann schaue ich mal weiter...
@Hubert,
ich habe einfach nur das Feld ID. Aber da hätte ich schon gleich eine Frage an Dich. Warum Long(8)? Ich habe mediumint(8). Ich möchte doch eine Breite von mindestens 8 haben und es soll numerisch sein.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: konvertieren von DBF nach SQL mit key
Hi,
LONG(8) habe ich geschrieben, weil ich eine INTEGER UNSIGNED Variable mit genügend Resourcen meinte.
8 Stellen bekommt man in deutlich weniger unter, deine 8 Byte Varable kann (Zitat aus einer doku):
long = -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 64-Bit-Ganzzahl mit Vorzeichen (8 Byte = 8x8bit)
somit habe ich da deutlich übertrieben, eine 32 bit LONG sollte vom Bereich auch reichen
long 32 bit unsigned 0 bis 4.294.967.295
LONG(8) habe ich geschrieben, weil ich eine INTEGER UNSIGNED Variable mit genügend Resourcen meinte.
8 Stellen bekommt man in deutlich weniger unter, deine 8 Byte Varable kann (Zitat aus einer doku):
long = -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 64-Bit-Ganzzahl mit Vorzeichen (8 Byte = 8x8bit)
somit habe ich da deutlich übertrieben, eine 32 bit LONG sollte vom Bereich auch reichen
long 32 bit unsigned 0 bis 4.294.967.295
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21216
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: konvertieren von DBF nach SQL mit key
Hi Hubert,
das ist das, woran ich mich erstmal gewöhnen muß. Was nimmt man warum wofür. Ich habe einfach einmal ein paar Anleitungen gelesen und dann probiert.
das ist das, woran ich mich erstmal gewöhnen muß. Was nimmt man warum wofür. Ich habe einfach einmal ein paar Anleitungen gelesen und dann probiert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!