Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi BDE -> SQL -> FireBird (https://www.delphipraxis.net/146030-bde-sql-firebird.html)

Die Muhkuh 12. Jan 2010 14:31

Datenbank: BDE Quatsch • Version: 5.1 • Zugriff über: TTable, TQuery

BDE -> SQL -> FireBird
 
Hi,

ich hab eine bestehende BDE - Anwendung, die ich auf FireBird umbauen will.

Die Datenbank besteht aus ca. 30 Tabellen. Ich suche ein Tool oder eine Vorgehensweise, mit der ich die BDE-Tabellen in FireBird konvertieren kann. Alternativ reicht es mir, wenn ein Tool die Strukturinfo + Daten ausliest und ein SQL-Script generiert.

Hab schon ein paar Programme (EMS Datapump, FireBird Data Pump, SQL Script Builder, ...), aber alle haben versagt. Hat jemand eine Idee, wie ich vorgehen könnte?

Ich hab zwar ein Tool, welches anscheinend die Daten einwandfrei in ein SQL-Script generiert, aber es macht keine Meta-Info, da es viele Tabellen sind und teils > 15 Spalten drin sind, mag ich das ungerne von Hand machen.

Grüße :hi:

alex517 12. Jan 2010 14:54

Re: BDE -> SQL -> FireBird
 
Hi,

ich habe dazu IBPump von CleverComponents verwendet.

Damit kannst du als ersten Schritt ein SQL-Script für die neue Datenbank
generieren lassen, Button-[Build SQL Script] rechts unter dem Button
[Test Connection] der Source-Database.
Das Script muß natürlich nachbearbeitet werden aber es nimmt schon mal viel Arbeit ab.
Wenn deine Firebird-Datenbank fertig ist kannst du die Daten pumpen.

alex

Die Muhkuh 12. Jan 2010 15:17

Re: BDE -> SQL -> FireBird
 
Hi,

danke.

Allerdings...
auf XP startet das erst gar nicht.

"Das Programm hat einen Fehler gemeldet und muss beendet werden" (Dieser nette Windowsdialog)

Naja, dafür tuts unter Windows 7, jedoch hat es noch arge Probleme beim Konvertieren, da muss ich mal mit den Einstellungen spielen.

alex517 12. Jan 2010 15:44

Re: BDE -> SQL -> FireBird
 
Erstmal ein Nachtrag zu #2:
der [Build SQL Script]-Button erscheint erst, wenn eine Source angegeben wurde.


Zitat:

Zitat von Die Muhkuh
auf XP startet das erst gar nicht.
"Das Programm hat einen Fehler gemeldet und muss beendet werden" (Dieser nette Windowsdialog)

kann aber nichts mit XP zu tun haben, da es bei mir unter XP läuft.

alex

Die Muhkuh 12. Jan 2010 15:47

Re: BDE -> SQL -> FireBird
 
Hi,

kann evtl. an der VM liegen.

Ich habs nun geschafft, Datenbank anlegen, Script erzeugen + einfügen und die Daten rüberkopieren.

Wäre der erste Schritt schon mal geschafft.

Danke! :-)

alex517 12. Jan 2010 15:59

Re: BDE -> SQL -> FireBird
 
Zitat:

Zitat von Die Muhkuh
Ich habs nun geschafft, Datenbank anlegen, Script erzeugen + einfügen und die Daten rüberkopieren.
Wäre der erste Schritt schon mal geschafft.

ging ja schnell.

Was ich noch sagen wollte: Du hast hoffentlich die doppelten Anführungsstriche
aus dem Script entfernt mit dem die Feld und Tabellennamen gequotet waren!

Und auch die Boolean-Felder als smallint mit 0/1 und nicht als char mit 'Y',/'N' umgesetzt!?

Und außerdem für alle Felder Domains definiert und nicht die einfachen Typen gelassen wie
sie waren?!



alex

Die Muhkuh 12. Jan 2010 16:04

Re: BDE -> SQL -> FireBird
 
Hi,

Boolfelder gibt's sowieso keine.

Die einzigen Feldtypen, die verwendet werden sind:

Alpha-Nummerisch
Nummerisch
Float
Blob (in einer einzigen Tabelle)

RWarnecke 12. Jan 2010 16:16

Re: BDE -> SQL -> FireBird
 
Hi MuhKuh,

wenn es etwas kosten darf, dann schaue Dir doch mal den Paradox-Viewer von Scalabium an. Den habe ich für meinen Umbau von BDE auf Firebird benutzt. Ich benutze allerdings nur die Demo-Version, die mir aber völlig ausreicht. Ich habe mir die SQL-Skripte erstellen lassen und dann mit Copy&Paste in einer Datei zusammenkopiert. Danach noch die Feldtypen mit Suchen&Ersetzen angepasst und schon hatte ich meine Tabellen zusammen. Das einzigste was ich manuell machen musste waren die Trigger, Generatoren und Proceduren für die AutoInc-Felder.

Edit: Rechtschreibfehler und Links korrigiert.

Die Muhkuh 12. Jan 2010 16:17

Re: BDE -> SQL -> FireBird
 
Hi,

danke für die alternative, aber bisher wurde alles so umgesetzt, wie es sollte.

AutoInc Felder gibt's gar keine, da brauch ich mir keine Sorgen machen :mrgreen:

RWarnecke 12. Jan 2010 16:20

Re: BDE -> SQL -> FireBird
 
Hast Du das Tool aus Beitrag #2 genommen ? Wenn ja, welche Einstellungen hast Du da genommen, denn ich habe das Tool auch versucht.

Die Muhkuh 12. Jan 2010 16:26

Re: BDE -> SQL -> FireBird
 
Hi,

ich schreib Dir nur, was ich verändert haben:

- Check bei Quote Field Names
- Destination DB gesetzt

Dann auf Build SQL Script:

- Pfade angepasst
- Convert field / table names: leave it as it is

Mehr hab ich nicht geändert. :)

Nach dem Klick auf Start kam ne Sekunde später die Box, dass es erfolgreich ausgeführt hat.

Was funktioniert bei Dir nicht?

RWarnecke 12. Jan 2010 16:42

Re: BDE -> SQL -> FireBird
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe jetzt die Einstellungen übernommen, so wie Du es geschrieben hast. Leider kommt aber die angehängte Fehlermeldung.

Die Muhkuh 12. Jan 2010 16:43

Re: BDE -> SQL -> FireBird
 
Arbeitest Du unter Vista / 7?

RWarnecke 12. Jan 2010 17:17

Re: BDE -> SQL -> FireBird
 
Ja

Die Muhkuh 12. Jan 2010 17:18

Re: BDE -> SQL -> FireBird
 
Ok, das Problem hatte ich dort auch. Es war allerdings weg, nach dem ich:

a) BDEAdmin als Admin ausgeführt habe und dort einen neuen Alias angelegt, mit Pfad zu den Tabellen
b) IBPump als Admin gestartet hab

Danach ging es bei mir.

RWarnecke 12. Jan 2010 17:26

Re: BDE -> SQL -> FireBird
 
Zitat:

Zitat von Die Muhkuh
Ok, das Problem hatte ich dort auch. Es war allerdings weg, nach dem ich:

a) BDEAdmin als Admin ausgeführt habe und dort einen neuen Alias angelegt, mit Pfad zu den Tabellen
b) IBPump als Admin gestartet hab

Danach ging es bei mir.

Ich habe BDEAdmin und IBPump als Admin gestartet, da ich zur Zeit die UAC komplett ausgeschalttet habe, also das Level ganz nach unten gedreht habe.

user0815 13. Jan 2010 08:40

Re: BDE -> SQL -> FireBird
 
Hatte mir irgendwann mal dazu einen Link gebookmarkt:

http://de.talend.com/index.php

habe den allerdings auch noch nie getestet.

Die Muhkuh 13. Jan 2010 16:32

Re: BDE -> SQL -> FireBird
 
Zitat:

Zitat von RWarnecke
Zitat:

Zitat von Die Muhkuh
Ok, das Problem hatte ich dort auch. Es war allerdings weg, nach dem ich:

a) BDEAdmin als Admin ausgeführt habe und dort einen neuen Alias angelegt, mit Pfad zu den Tabellen
b) IBPump als Admin gestartet hab

Danach ging es bei mir.

Ich habe BDEAdmin und IBPump als Admin gestartet, da ich zur Zeit die UAC komplett ausgeschalttet habe, also das Level ganz nach unten gedreht habe.

Heißt das, das es nun klappt oder bekommst Du diesen Fehler immer noch?

RWarnecke 13. Jan 2010 16:37

Re: BDE -> SQL -> FireBird
 
Das heißt, ich bekomme den Fehler weiterhin.

Die Muhkuh 13. Jan 2010 16:50

Re: BDE -> SQL -> FireBird
 
Wenn es abbricht, wird trotzdem die angegebene SQL-Datei erzeugt, schau mal rein. Bei mir stand da eine noch etwas detailliertere Fehlermeldung (deswegen kam ich auch drauf, das Zeug per Admin zu starten, weil die Fehlermeldung etwas von wegen "Access denied" ausspuckte)

RWarnecke 13. Jan 2010 16:58

Re: BDE -> SQL -> FireBird
 
Zitat:

/* !!! Error: Invalid use of keyword.
Token: AutoInc)
Line Number: 1 */

/* ! Warnings - 2 */
/* !!! Errors - 1 */
Das sind die letzten Zeilen von der erstellten Datei. Kann das sein, dass er deswegen motzt, weil hier als Spaltenname AutoInc verwendet wird ?

Die Muhkuh 13. Jan 2010 17:01

Re: BDE -> SQL -> FireBird
 
das wäre eine Möglichkeit. Du kannst ja mal eine neue BDE-Tabelle erstellen und die Spalte AutoInc nennen und eine, ohne AutoInc und schauen, ob es daran liegt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz