Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi dBase datei auslesen ohne BDE. Aber wie?? (https://www.delphipraxis.net/86365-dbase-datei-auslesen-ohne-bde-aber-wie.html)

neo3003 13. Feb 2007 08:23

Datenbank: dBase • Zugriff über: TQuery (BDE)

dBase datei auslesen ohne BDE. Aber wie??
 
So hallo erstma.....

Ich hab das Problem, dass ich erstens noch wenig plan von delphi hab, es aber trotzdem schon mal soweit gebracht hab, dass mein programm das tut was ich will, und dass ich zweitens nun das ganze ohne BDE machen möchte.

Mein Programm liest momentan aus ner 200mb datenbank mit ~13 spalten Datensätze mit 2spalten aus, die in einer 3. spalte einen besonderen wert haben:
SQL-Code:
SELECT Datum, Inhalt FROM befund.dbf WHERE Kuerzel = 'abs'
so, jetzt lief das programm bei den anwendern auch ne weile ganz gut hat dann aber angefangen den dienst zu verweigern. ich kann mir nicht erklären warum.. als dies früher passierte hab ich einfach BDE neuinstalliert und gut wars. funktioniert jetzt auch nicht mehr...

Desshalb will ich jetzt weg von BDE.. Ich will, dass alles was benötigt wird mit in meine exe kommt. Hab das ganze schon mit tdbf versucht, aber das war im vergleich wahnsinnig langsam. liegt aber auch glaub daran, dass BDE mir nur die datensätze übers netzwerk gezogen hat, die die "WHERE"-Bedingung auch erfüllten; tdbf hat glaub alle rübergezogen.

Desshalb denk ich mal, dass es bequemer und schneller läuft, wenns wieder über ein query läuft. das ganze darf nur im read-only modus laufen!

Ich hoff mir kann da jemand helfen... hab mal über die boardsuche nix brauchbares gefunden..

neo

mkinzler 13. Feb 2007 08:36

Re: dBase datei auslesen ohne BDE. Aber wie??
 
Neben TDBf könnte man es noch per ADO/ODBC versuchen.

neo3003 13. Feb 2007 09:17

Re: dBase datei auslesen ohne BDE. Aber wie??
 
danke erstma für die schnelle hilfe am dientag morgen... :)

hab noch nicht wirklich erfahrung mit ado...
hab mir grad ma nen conectionstring aufgebaut:

Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE-Dateien;Mode=Read;Initial Catalog=E:\albiswin\db\

aber er gibt mir den fehler "[Microsoft][ODBC dBASE Driver] Unerwarteter Fehler vom externen Datenbanktreiber (15877)"

weiß auch nicht... muss ich das irgendwie anderst machen? wenn ja wie?

neo

hsg 13. Feb 2007 09:33

Re: dBase datei auslesen ohne BDE. Aber wie??
 
Mir stellt sich erst einmal nach dem Typ der DBase-Datenbank, genauer gesagt der Art der Indizes: Foxpro- oder Clipper-Compatibel? Dann wäre der Advantage Database Server (in der lokalen Variante kostenlos) und deren TDataSet-Descendant was für dich.

mkinzler 13. Feb 2007 09:41

Re: dBase datei auslesen ohne BDE. Aber wie??
 
Oder z.B. Den ODBC-Treiber von FoxPro. Aber da die BDE ja nichts mit Clipper/FoxPro-Indices anfangen kann, scheint es sich hier um keinen zu handeln.

neo3003 13. Feb 2007 10:01

Re: dBase datei auslesen ohne BDE. Aber wie??
 
also, ich weiß nicht...

soweit ich das jetzt grad nachgelsen hab müsste ich beim Advantage Database Server die index datei neuschreiben.. oder?
ich darf an den dateien nichts ändern. desshalb nur im read-modus.

und wie soll das mit den odbc-treiber von foxpro gehen? sorry, bin noch anfänger...

neo3003 13. Feb 2007 11:26

Re: dBase datei auslesen ohne BDE. Aber wie??
 
also um mich nochma klarer auszudrücken:
im prinzip bräuchte ich eine Query-Komponente die mit dbf-dateien umgehen kann und direkt in die exe kompiliert wir (also keine zusätzlichen dll's)

sowas muss es doch geben....

joachimd 13. Feb 2007 12:44

Re: dBase datei auslesen ohne BDE. Aber wie??
 
Zitat:

Zitat von neo3003
soweit ich das jetzt grad nachgelsen hab müsste ich beim Advantage Database Server die index datei neuschreiben.. oder?
ich darf an den dateien nichts ändern. desshalb nur im read-modus.

eigentlich nicht...oder was hast Du für ein Format?

neo3003 13. Feb 2007 12:52

Re: dBase datei auslesen ohne BDE. Aber wie??
 
ich bin mir nicht sicher welches format...
ich hab ne .dbf und ne .mdx als index
in der dbf stehen 1,5 millionen datensätze drinn.
in dem query kommen dank sql-befehl nur noch 30000 datensätze vor.
wenn ich das ganze in nem table laden lass, dann sind da eben die ganzen 1,5 millionen datensätze drinn... trotz ner filteranweisung....

desshalb such ich jetzt ne query-komponente, die ohne bde oder sonstigen zusätzlichen dll's auskommt, und mir nur die 30000 datensätze lädt.

gibts da wirklich nix?

neo3003 13. Feb 2007 20:20

Re: dBase datei auslesen ohne BDE. Aber wie??
 
also, ich nochma...

ich habs jetzt soweit mal hinbekommen, dass ich über Advantage TDataSet zugriff auf meine dbf datei hab und ich mir mein ergebniss in nem query aufbereiten kann...
gewundert hat mich das schon, da ich ne mdx als index hab und das adsquery eigentlich ne cdx als index will... naja, mir recht.

allerdings zeigt mir ads auch die "gelöschten" datensätze an. kann man das irgendwo abschalten?

danke und gruß
neo


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr.
Seite 1 von 2  1 2      

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