Autor Beitrag
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 15.05.03 18:50 
Hallo,

einige erinnern sich vielleicht: ich bin ja seit geraumer Zeit auf der Suche nach einer Lösung für folgendes Problem:

Alte DOS-Programme greifen auf DBASEIII+ - Datenbanken zu.

Meine Win-Progs von Delphi tun das auch.

Um die Geschwindigkeit zu erhöhen, wollt ich einen Datenbank-Server einrichten, der halt weiterhin auf meine DBASEIIIplus-Files zugreift.

Mit dem Gedanken MySQL wollte ich mich ja schon anfreunden, aber ich konnte dort ja, wie bei vielen anderen guten DB-Servern, meine alten Datenbank-Formate nicht weiternutzen.

Tja, und mittlerweile bin ich warscheinlich total abgestumpft, bei allem was Datenbank-Server angeht. Eben bin ich nochmal durch´s Welt-Netzt geflogen, auf der Suche nach genau solchen DB-Servern, die meine DBASEIIIplus aktzepieren.
Jedenfalls seh ich langsam keine Sonne mehr vor kryptischen Abkürzungen, Datenbankformaten und Server-Programmen...

Also, das erste:
Wie war das mit dem ODBC?
Bildlich stell ich mir das so vor, aber ich glaub ich lieg vollkommen falsch, wie gesagt: mir glüht die Birne zur Zeit :-S :

Delphi-Anwendung ------------ MySQL (o.ä.) -------> ODBC-Treiber ---- DBASEIII+

Seh ich das jetzt richtig? Ermöglicht mir ODBC also die Verbindung von MySQL mit allen möglichen verschieden DB-Formaten?
*Krampf-im-Hirn* ...
(vielleicht sollt ich mal Pause machen, wenn ich den Wald vor lauter Bäumen schon nicht mehr sehe.... :?)

Und das zweite:
Es muss doch für DBaseIIIplus noch irgendwo ein verflixten DB-Server geben der auf SQL hört, und wenn er unter Dos läuft. Ich kann mir nicht vorstellen, das es damals sowas nicht gab.... oder bin ich da auch zu fertig zu, und überseh die Lösung vor meinen augen?

Also vielen Dank erstma für die Aufmerksamkeit und eure Mühen

mfg
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Do 15.05.03 19:42 
Hi

Zitat:
Delphi-Anwendung ------------ MySQL (o.ä.) -------> ODBC-Treiber ---- DBASEIII+


wird so nicht sein.
a) Anwendung -->(my/MS/Oracle)-SQL-->Datenbank(-server)
b) Anwendung-->BDE-->DBase
c) Anwendung-->ODBC-->Dbase
d) Anwendung-->ODBC--> Access o.ä.
e) Awendung-->ADO--> MS-Access, MSSql, u.ä.

ODBC ist lediglich eine Schnittstelle zwischen Aufrufer(Dein Programm) und einem Treiber der eine Datei (DBase, Access) anspricht bzw. einen Datenbankserver.
grez.
msch

Lösungsansatz
DBase Tabellen in eine (MS/MY-)SQL Datenbank importieren und dann mit den SQL Treibern arbeiten.

IMHO gibts keine Server, die DBase aczeptieren. Dbase ist nicht unbedingt multiuserfähig und wird schon seit Jahren nicht mehr "produziert".
Horst
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120



BeitragVerfasst: Do 15.05.03 19:46 
Titel: dbase veteran :-)
Hallo kiwicht,

du kannst durchaus mit ODBC, dbase und SQL-Befehlen arbeiten

geht in die Systemsteuerung/ODBC data source (32bit)
und füge einen neuen DSN hinzu. Wähle dabei Microsoft dbase Drive (*.dbf) aus. Gib der DSN einen Name, wähle deine dbase-Version aus
und trage den Pfad auf deine dbase-datei ein.
Jetzt kannst du mit adoconnection darauf zurückgreifen.
Ich mache es allerdings lieber mit der BDE. Hat nur den Nachteil,
dass auf dem Rechner wo es laufen soll, auch eine BDE installiert sein
muss. Aber wenn du mit delphi und dbase arbeitetst, nehme ich an,
ist es sowieso der Fall. Dann kannst du ohne weiteres eine Query
absetzen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
        query1.sql.databasename:='DBDATEN';
        query1.sql.clear;
        query1.sql.add('select * from "KUNDEN.DBF"');
        query1.sql.add('where KDNR="'+cKdNr+'"');
        query1.open;
        nRec:=query1.recordcount;
        if nRec>0 then
          begin
          showmessage('Name: '+query1.fieldbyname('NAME').asstring);
          end;

DBDATEN ist der Definitionsname in der BDE, den Du anlegen musst.

Ist es dass was du dir vorstellst?

Gruß

Horst

:wave:
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 15.05.03 21:12 
Danke erstmal

MSCH hat folgendes geschrieben:
Lösungsansatz
DBase Tabellen in eine (MS/MY-)SQL Datenbank importieren und dann mit den SQL Treibern arbeiten.


Also dazu: :( .. geht ja nicht, weil die Dos-Programme müssen ja so weiterlaufen, wie sie sind, und zwar mit den DBase-Dateien!

Zitat:
Ist es dass was du dir vorstellst?


Den Zugriff auf DBase-Dateien krieg ich ja locker hin. Diese Delphi-Progs laufen alle ohne zu murren. Aber nur Local! Ich will aber einen DB-Server "aufsetzen", der den Clients die SELECT-Abfragen abnimmt, eben wegen dem Zeitaufwand!
hwb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 91

Win98 SE, Win2000
D5 Prof
BeitragVerfasst: Do 15.05.03 22:08 
Also, Serverbasiernden DBF-zugriff ( auch DBASE III Tabellen ) kann man schon käuflich erwerben.
Das Problem sind die NDX-Dateien. Da ist mir auch nichts Servermäßiges bekannt.
Die andere Frage ist, wenn du nur einmal am Tag die DBF auslesen willst ( oder hab ich das jetzt falsch in Erinnerung ) kannst du doch für diesen Zeitraum eien anderen Index erzeugen.
Andererseits kostet das ja alles.

Du mußt wissen ob sich dieser Aufwand lohnt.

hwb
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 15.05.03 22:33 
Versteh ich nicht, was haben die Indizes damit zu tun?

Was für Programme fallen dir jetzt spontan ein, die serverseitig DBASEIII-Dateien verwalten können?
hwb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 91

Win98 SE, Win2000
D5 Prof
BeitragVerfasst: Fr 16.05.03 07:55 
Apollo von www.vistasoftware.com
ADS www.avantagedatabase.com oder www.extendedsystems.de

Die können Clipper-DBF, also DBaseIII. Aber nicht mit NDX-Index.

Edit: Mit ADS hab ich schon gearbeitet.

hwb
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 16.05.03 12:31 
vielen Dank, ich schau mir die mal an.... soviel ich auf die Schnelle mitgekriegt habe, gibts von den Programmen ja auch kleine Demos...

sehr hilfreich erstmal auf jeden Fall!

mfg