Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Paradox ohne BDE (https://www.delphipraxis.net/201429-paradox-ohne-bde.html)

p80286 22. Jul 2019 11:55

AW: Paradox ohne BDE
 
Trotz allem schlage ich Dir die MS-SQL-Sparversion vor, die kann auch Multiuser und muß nicht zwangsläufig auf einem (extra)Server installiert sein. Bei allem Verständnis für Deine Situation letztlich kommt es für den Benutzer nicht darauf an was genutzt wird sondern wie es sich anfühlt. Und diese Kompromisse haben ein langes und zähes und kostspieliges Leben.

Gruß
K-H

P.S.
Wenn die eingesetzten Programme eh Tabellenorientiert sind, dann geht das auch mit "richtigen DBMS"en

mkinzler 22. Jul 2019 11:57

AW: Paradox ohne BDE
 
Zitat:

Trotz allem schlage ich Dir die MS-SQL-Sparversion vor
Oder ein anderes richtiges DBMS.
(FireBird, PosGresSQL, ...)

Jasocul 22. Jul 2019 11:58

AW: Paradox ohne BDE
 
Zitat:

Zitat von p80286 (Beitrag 1437258)
... letztlich kommt es für den Benutzer nicht darauf an was genutzt wird sondern wie es sich anfühlt. Und diese Kompromisse haben ein langes und zähes und kostspieliges Leben.

Völlig richtig. Ich wollte nur den Aufwand möglichst gering halten.

@mkinzler:
Korrekt

Bernhard Geyer 22. Jul 2019 12:16

AW: Paradox ohne BDE
 
Zitat:

Zitat von mkinzler (Beitrag 1437259)
Zitat:

Trotz allem schlage ich Dir die MS-SQL-Sparversion vor
Oder ein anderes richtiges DBMS.
(FireBird, PosGresSQL, ...)

Auch die Sparversion vom MS SQL Server ist ein richtiges DBMS.
Macht nur bei 10 GB Datenbankgröße "zu".
Davon ist man im aktuellen Anwendungsfall meilenweit davon entfernt.

mkinzler 22. Jul 2019 12:24

AW: Paradox ohne BDE
 
Zitat:

Auch die Sparversion vom MS SQL Server ist ein richtiges DBMS.
Bezweifelt ja keiner
Zitat:

Oder ein anderes richtiges DBMS.
Sonst hätte ich ja das Wort anderes weggelassen.

Delphi.Narium 22. Jul 2019 12:27

AW: Paradox ohne BDE
 
Für Access braucht man keine Kompetenz ;-)

Die Oberfläche oder sonst irgendwas vom "optischen" Access wird nicht benötigt.

Die Tabellen kann man (auch aus Delphi heraus) per SQL erstellen.

Wenn Du die Tabellen (wie oben beschrieben per TBatchMove) kopierst, brauchst Du nicht mal das.

In dem Fall benötigst Du einen ODBC-Treiber für die Access-DB. Die Access-DB kann man über die ODBC-Verwaltung von Windows erstellen lassen, es werden letztlich nur die Treiber für Access benötigt. Die Software Access (also die Oberfläche) ist nicht erforderlich.

Die BDE kann dann darauf einen Alias machen.

TBatchMove benötigt dann den Alias auf die Paradoxtabelle und den Alias auf die Access-DB. Das Erstellen der Tabellen in der Access-DB erfolgt automatisch (mode = batCopy).

Beim Kopieren der Daten per TBatchMove ist es letztlich aber egal, für welches Zieldatenbanksystem Du dich entscheidest.

Benötigt wird halt die BDE (für Paradox und TBatchMove) und ein ODBC-Treiber für die Zieldatenbank, der in die BDE per Alias eingebunden wird. (Wenn ich mich recht erinnere, erkennt die BDE aber die eingerichteten ODBC-Treiber selbständig, habe gerade bei mir mal nachgeschaut: In der BDE-Verwaltung sind alle eingerichteten ODBC-Treiber als BDE-Alias sichtbar.)

Grob könnte sowas schon ausreichen, sofern es sich um Tabellen "mit handelsüblichen Spalten" handelt, also Integer, Float, Strings, ob und wie das mit Blobs funktioniert weiß ich nicht, könnte aber auch so einfach gehen.

Delphi-Quellcode:
// tbSource und tbDestination = TTable
// bm = TBatchMove
  tbSource.Close;
  tbDestination.Close;
  tbDestination.FieldDefs.Clear;
  tbDestination.IndexDefs.Clear;
  tbSource.DatabaseName     := 'Paradox-Alias im Objektinspektor auswählen';
  tbDestination.DatabaseName := 'ODBC-Alias auf Access im Objektinspektor auswählen';
  tbSource.TableName        := 'paradox.db';
  tbDestination.TableName   := 'paradox'; // nur der Tabellenname ohne Dateiendung.
  bm.Mappings.Clear;
  bm.Mode := batCopy;
  bm.Execute;
Arbeitet Ihr im Programm irgendwo mit SQL? Wenn nein, könnte nach dem Kopieren der Daten eine Änderung der Tabellen von TTable nach TAdoTable bzw. von TQuery nach TAdoQuery per global Change in den DFM-Dateien bzw. den PAS-Dateien (wie von Jobo beschrieben) ausreichen.

SQLs müssen ggfls. in der Syntax angepasst werden.

hoika 22. Jul 2019 12:30

AW: Paradox ohne BDE
 
Hallo,
man könnte auch erst mal bei der BDE bleiben,
aber auf Firebird umstellen.

So hatten wir das damals gemacht, das war noch zu glorreichen Zeiten von Interbase 6.

Mit DataPump könnte die Daten rüberziehen.
Ich hatte mir damals aber ein eigenes Copy-Programm geschrieben,
weil eben auch üöä-in den Paradox-Feldnamen standen.

Hier ist ein alter Artikel, der dass beschreibt und mir sehr geholfen hatte.

https://www.ibphoenix.com/resources/...gration/doc_74

timog 22. Jul 2019 12:39

AW: Paradox ohne BDE
 
FireDAC per ODBC auf Paradox? In einem antiken (kleinen) Projekt habe ich mal mit reFind den Wechsel von BDE auf FireDAC gemacht. Ging tatsächlich in dem kleinen Projekt ohne Schmerzen (reFind ist nicht "intelligent", aber besser als von Hand).

http://docwiki.embarcadero.com/RADSt...ngen_(FireDAC)

oder auch

https://community.idera.com/develope...d-dbase-tables

Der Paradox ODBC Treiber muss halt vorhanden sein, damit das klappen kann.

jobo 22. Jul 2019 12:44

AW: Paradox ohne BDE
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1437269)
Für Access braucht man keine Kompetenz ;-)

:thumb:

Genau, mann muss nur die Tabellen und Basisdaten in eine +.mdb Datei bekommen. Access selbst ist wegen Kosten/ Lizenz maximal administrativ einzusetzen bzw. wird eigentlich nicht benötigt.

BDE zu behalten ist ja wohl genau die Schwierigkeit in einem halbwegs aktuellen (Citrix-) System. Dazu kann ich nichts sagen.

Wobei ich hier nicht so ganz verstehe, wie man Software entwickelt, wo es um Kompatibilität zu modernen Umgebungen geht, aber kein Windows 10 zum Test hat.

Jasocul 22. Jul 2019 12:49

AW: Paradox ohne BDE
 
@Delphi.Narium:
Danke für die ausführliche Beschreibung. Ähnliches habe ich früher auch schon gemacht, ist aber bestimmt 20 Jahre her. So muss ich das nicht irgendwo wieder nachsehen.

@hoika:
Es ging ja darum, die BDE loszuwerden.:wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.
Seite 2 von 5     12 34     Letzte »    

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