konvertieren von DBF nach SQL mit key

alles was zunächst nicht kategorisierbar ist

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

konvertieren von DBF nach SQL mit key

Beitrag von Manfred »

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?
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!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: konvertieren von DBF nach SQL mit key

Beitrag von Martin Altmann »

Moin,
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
Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: konvertieren von DBF nach SQL mit key

Beitrag von Manfred »

:shock:

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!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: konvertieren von DBF nach SQL mit key

Beitrag von Martin Altmann »

Im Prinzip.
Ist halt eine Sequenz, die Werte von 1 bis 9999999999999999999999999999 annehmen kann und bei 21642502 beginnt.

Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: konvertieren von DBF nach SQL mit key

Beitrag von Manfred »

Hm

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!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: konvertieren von DBF nach SQL mit key

Beitrag von Jan »

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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: konvertieren von DBF nach SQL mit key

Beitrag von Manfred »

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!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: konvertieren von DBF nach SQL mit key

Beitrag von brandelh »

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.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: konvertieren von DBF nach SQL mit key

Beitrag von Manfred »

Öh Recno()?

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!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: konvertieren von DBF nach SQL mit key

Beitrag von AUGE_OHR »

Manfred hat geschrieben:wie schon gesagt, ich "spiele" ein wenig mit SQL.
du sagtest doch MySQL

Frage : mit PhP oder Xbase++ ?

für Xbase++ gibt es ja die libmysql.dll ( benötigt Ot4xb) von Hector Pezoa.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: konvertieren von DBF nach SQL mit key

Beitrag von brandelh »

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.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: konvertieren von DBF nach SQL mit key

Beitrag von Manfred »

@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.
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!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: konvertieren von DBF nach SQL mit key

Beitrag von brandelh »

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
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: konvertieren von DBF nach SQL mit key

Beitrag von Manfred »

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.
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!!
Antworten