Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Auslesen von mehreren BDE / Paradox DBs (https://www.delphipraxis.net/208501-auslesen-von-mehreren-bde-paradox-dbs.html)

wschrabi 6. Aug 2021 15:51

Datenbank: paradox • Version: ? • Zugriff über: ODBC

Auslesen von mehreren BDE / Paradox DBs
 
Liebe Leute,
wie kann ich eine alte BDE/Paradox DB in ein Grid einfüllen. Ich habe hierhttps://stackoverflow.com/questions/...on-delphi-10-2 gelesen, dass man das mit ODBC machen muss.

Ich habe auch UNIDAC, das auch ODBC unterstütz.

Kann mir jemand ein Sourcecodestückchen zeigen, wie ich eine alte *.db in ein Grid einlese?
Ich nutze RAD Studio BErlin.

DANKE

Delphi.Narium 6. Aug 2021 16:26

AW: Auslesen von mehreren BDE / Paradox DBs
 
Keine Ahnung, wie das im Sourcecode aussehen muss.

1. ODBC-Treiber für die Paradoxdatei einrichten.

2. Diesen in Deiner Datenbankkomponente auswählen, wie jeden anderen ODBC-Treiber auch.

(Bei ADO heißt das Connectionstring. Brauchst für UNIDAC also die entsprechend "Gegenstelle".)

3. Auf Datenbank zugreifen, wie auf jede X-beliebige andere Datenbank auch.

Eine Query (o. ä.) mit der Verbindungskomponente verbinden.
'ne DataSource mit der Query verbinden.
DBGrid mit der DataSource verbinden.

wschrabi 6. Aug 2021 16:30

AW: Auslesen von mehreren BDE / Paradox DBs
 
Danke für den FASTREPLY.
1) Also wie ich sehe ist nur bei 32bit ODBC Driver von Microsoft der der DATEI DNS ein Paradox driver drin.
2) Wie muss ich dann diesen Driver im Connectionstring angeben? (zb bei ADO)
DANKE :)
mfg
ws

Delphi.Narium 6. Aug 2021 16:32

AW: Auslesen von mehreren BDE / Paradox DBs
 
ADOConnection auf's Formular pappen.

Beim Connectionstring rechts den Button mit den ... drücken.

Im Dialog den Treiber auswählen.

wschrabi 6. Aug 2021 16:35

AW: Auslesen von mehreren BDE / Paradox DBs
 
Liste der Anhänge anzeigen (Anzahl: 1)
Diesen ERROR bekommen ich. Man muss doch das irgw. als String in CONNECTIONSTRING definieren können. Ich hab UNIDAC kein ADO.
Das hier hat kein Paradox. https://halvar.at/python/odbc_dsn_connection_strings/

Delphi.Narium 6. Aug 2021 16:45

AW: Auslesen von mehreren BDE / Paradox DBs
 
Mach Dir ein Testprogramm mit ADO und probiere es da aus. Musst das ja nichtmal speichern, sondern nur in der IDE probieren.

Kenne die Fehlermeldung nur im Zusammenhang mit nicht korrekt konfigurierten Komponenten.
(Sprich: In der Regel war die Zuordnung zwischen Verbindungskomponenten und Treiber nicht korrekt, nicht erfolgreich, aber es wurde anschließend trotzdem versucht auf diese unvollständige / fehlerhafte Verbindung zuzugreifen.)

Schön wäre es, wenn Du noch erwähnen könntest, wann der Fehler auftritt.

In der IDE?
Beim Herstellen der Verbindung via Connectionkomponenten zur Laufzeit?
Beim Öffnen der Datenmenge?
Ist's eine Zugriffskomponenten ala TQuery oder eher TTable-ähnlich?
...

wschrabi 6. Aug 2021 18:02

AW: Auslesen von mehreren BDE / Paradox DBs
 
Ja danke, werde ich machen. mit ADO.
Der Fehler tritt beim Start wenn er
Delphi-Quellcode:
UniConnection1.connected:=true
macht, also beim Connect.
Ich weiss ja nicht wie ich den ConnectionString da definieren muss.

ICh werde morgen weitertesten - DANKE herzlich für Deinen Rat.
mfg
w

Delphi.Narium 6. Aug 2021 18:35

AW: Auslesen von mehreren BDE / Paradox DBs
 
Hat die TUniConnection denn keinen Dialog, über den man den Connectionstring aufbauen kann?

Hiernach https://www.devart.com/unidac/docs/d...nectstring.htm wird die gleiche Syntax genutzt, wie bei ADO ... auch.

Ein Beispiel:
Code:
Provider=MSDASQL.1;Persist Security Info=False;Data Source=NameDesVonDirEingerichtetenODBCTreibers;Mode=Read;Extended Properties="DSN=NameDesVonDirEingerichtetenODBCTreibers;DefaultDir=C:\temp\;DriverId=538;FIL=Paradox 5.X;MaxBufferSize=2048;PageTimeout=5;"
Bei Mode=Read; musst Du mal schauen, ob reine Leserechte ausreichen, wenn Du auch schreiben musst, ist das zu ändern.

Die Beschreibung dessen, was da so alles möglich und zulässig ist ... findest Du hier: https://docs.microsoft.com/en-us/pre....%20%20More%20

Mehr Infos dazu: Suchmaschine Deiner Wahl mit connectionstring syntax füttern.

Anderes Beispiel aus dem großen weiten Netz:
Code:
Driver={{Microsoft Paradox Driver (*.db )}};DriverID=538;Fil=Paradox 7.X;DefaultDir=C:\\DB;Dbq=C:\\DB;CollatingSequence=ASCII;
Im Zweifelsfalle mal mit 'ner ADO-Komponente den String zusammenbauen und dann UniConnection1 spendieren und dann mal schauen, was da so passiert.

Oder die BDE nutzen und dazu dem aktuellen Thread Delphi 10.4 und BDE folgen. (Was vermutlich direkt den Vorteil hat, dass Du den "Originalparadoxtreiber" bekommst und nicht den Microsoft-Clone, der nicht zwingend über die gleiche Leistungsfähigkeit verfügt.)

wschrabi 6. Aug 2021 20:40

AW: Auslesen von mehreren BDE / Paradox DBs
 
Zitat:

Oder die BDE nutzen und dazu dem aktuellen Thread Delphi 10.4 und BDE folgen. (Was vermutlich direkt den Vorteil hat, dass Du den "Originalparadoxtreiber" bekommst und nicht den Microsoft-Clone, der nicht zwingend über die gleiche Leistungsfähigkeit verfügt.)
Super ! Genau danach suchte ich. Muss halt von Berlin auf Syndey 10.4 umsteigen. DANKE

wschrabi 6. Aug 2021 21:04

AW: Auslesen von mehreren BDE / Paradox DBs
 
Liste der Anhänge anzeigen (Anzahl: 1)
also ich hab laut: https://www.delphipraxis.net/208485-...und-bde-2.html dei BDE in die IDE dazugegeben.
doch bekomme ich zur RUntime: Fehler $210D
Muss ich irgenwass noch ins Runtime Dir kopieren?
Das hab ich auf french gefunden:
http://pat.bourdin.free.fr/telecharg...teur%20BDE.pdf

Doch wenn ich die BDE-Verwaltung in Systemsteuerung anklicke kommt auch ein Error: Exception in modul bdeadmin.exe
Ich hab Sydney 10.4.1 und ein 64 bit Windows 10 System
DANKE

PS: ich musste nach hinzufügen der BDE Komponente neu booten. Dann kommt der Error nicht mehr
KLAPPT immer noch nicht! BUGGY!
Wenn ich in der IDE eine DB öffnen will kommt Fehler $210D
Dann kann ich auch nicht mehr die BDEADMIN in Systemsteuerung aufrufen.
Shit!

ALso- ich hab jetzt in der IDE die DB ins RUN DIR gegeben und wollte einfach connect anklicken, dann kommt das hier: (BILD)

Bin für eine Lösung sehr dankbar.
mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.
Seite 1 von 2  1 2   

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