[gelöst] dBase IV und SQL

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
wega
Beiträge: 57
Registriert: Di 6. Dez 2011, 15:36

[gelöst] dBase IV und SQL

Beitrag von wega »

Hallo zusammen,

hat es irgendwer geschaft, eine dBase IV Datei per SQL über ODBC anzusprechen?

Wenn ja, dann bitte ein Anweisung, wie dies zu berkstelligen ist.

mit Gruß
Werner
Zuletzt geändert von wega am Mi 1. Feb 2012, 19:29, insgesamt 1-mal geändert.

bsdmike
Beiträge: 6
Registriert: Fr 26. Okt 2007, 12:27
OS, Lazarus, FPC: Win (L 0.9.30 FPC 2.4.2)
CPU-Target: 32Bit

Re: dBase IV und SQL

Beitrag von bsdmike »

Hallo Werner,

mal in kurzen Stichworten, bei mir unter Vista:
Benutzer-DSN hinzufügen, den Microsoft dBase Treiber auswählen, einen beliebigen Datenquellennamen angeben und statt der Markierung für das aktuelle Verzeichnis den konkreten Pfad und die gewünschte dBase Datei auswählen. Fertig.

In Lazarus eine Komponente ODBCConnection auf's Formular ziehen, den FileDSN Eintrag und den richtigen Driver "Driver do Microsoft dBase (*.dbf)" angeben. Dann sollte sich schon mal die Verbindung mit connected herstellen lassen.
Anschliessend noch eine SQLTransaction verwenden mit Verbindung zur ODBCConnection über die Database und active setzen.
Dann noch eine SQLQuery dazu mit Angabe der richtigen Database und im SQL ein select eintragen und sollte gehen.

Persönlich denke ich aber, dass dBase mittlerweile nicht mehr verwendet werden sollte. Insbesondere aufgrund der ganzen Index- und Löschprobleme, die es damit immer wieder mal gibt. Ich verwende das schon Jahre nicht mehr. Warum verwendest Du nicht SQLite? Das funktioniert für kleine lokale Datenbanken absolut problemlos und braucht auch keine ODBC Krücken für SQL Abfragen. Für einen Mehrbenutzerzugriff verwende ich im allgemeinen dann Firebird. Den gibt's zwar auch als embedded Variante, da ist SQLite aber noch ein bischen schlanker und mir persönlich somit lieber.

Gruss Mike

wega
Beiträge: 57
Registriert: Di 6. Dez 2011, 15:36

Re: dBase IV und SQL

Beitrag von wega »

Hallo Mike,

Danke für die ausführliche Antwort.

dBase habe ich gewählt, weil es in Lazarus eingebettet ist und somit keine Probleme beim Übertrag auf einen anderen Rechner macht.
Aber dennoch, Deine Anmerkungen sind mehr als eine Überlegung wert.

mit Gruß
Werner

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6809
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: dBase IV und SQL

Beitrag von af0815 »

DBASE ist eine Desktopdatenbank und keine Datenbank die mittels SQL angsprochen werden kann. Siehe auch LazInfos.

Unter Delphi konnte die BDE eine SQL Abstraktionschicht einziehen die Desktopdatenbanken SQL fähig gemacht hat. Die hat aber SQL für die verschiedenen Desktopdatenbanken ganz einfach (tw. genial) emuliert.

Unter Lazarus ist diese abstraktionsschicht nicht vorhanden. Zusätzlich ist das DBASE Format etwas veraltet und es gibt aktuellere Desktopdatenbanken (z.B. SQLite), die auch SQL unterstützen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: dBase IV und SQL

Beitrag von Christian »

Dr odbc dbase treiber emuliert sql in dem fall geht also schon.
Emfehlen möcht ichs trotsdem nicht
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten