AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Plattformunabhängige Datenbankunterstützung
Thema durchsuchen
Ansicht
Themen-Optionen

Plattformunabhängige Datenbankunterstützung

Ein Thema von Kullmann · begonnen am 17. Dez 2002 · letzter Beitrag vom 27. Dez 2002
Antwort Antwort
Kullmann

Registriert seit: 17. Dez 2002
Ort: Ge
11 Beiträge
 
#1

Plattformunabhängige Datenbankunterstützung

  Alt 17. Dez 2002, 09:15
Hallo

Eine Frage an die Datenbankspezies:
Welche Vorgehensweise wäre die sinnvollste für eine
Datenbankunabhängige Programmierung unter Delphi?
Mir schwebt in etwa sowas vor:
Im Code baue ich mir einen entsprechenden SQLString zusammen und übergebe diesen an eine Funktion in einer DLL. Die DLL lässt sich somit austauschen, also eine für mysql, eine für Oracle,usw.
Ich kann in diesem Zusammhang dann halt nur nicht mehr auf die Datenbanksensitiven Komponenten zurückgreifen, welche ich bei großen Projekten eh in Frage stelle.

Was haltet Ihr davon?
Hat schon mal jemand sowas gebaut?

mfg
Uwe K.
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#2
  Alt 17. Dez 2002, 12:39
Hallo,

weiß ja nicht ob du Geldausgeben willst, wenn ja, schau dir mal http://www.sqldirect-soft.com/ an. Die unterstützen ne ganze Stange an SQL Servern.


Thomas
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
DKamps

Registriert seit: 7. Nov 2002
Ort: Unna
30 Beiträge
 
Delphi 7 Enterprise
 
#3

Delphi hat alles

  Alt 26. Dez 2002, 22:07
Die Delphi Datenzugriffsobjekte (BDE, ADO, dbExpress) erlauben genau das Gewünschte!
Leider unterstützen nicht alle Server die gleiche Syntax, deshalb muss beim Zusammenbasteln der SQL-Statements der Server-Typ beachtet werden. SQL-Links von Borland soll auch dieses Problem durch Kapselung der SQL-Aufrufe lösen.
Wenn Du dbExpress (TSimpleDataset mit eingebautem Provider, d.h. nicht mehr unidirektional) benutzt, bisst Du sogar OS-unabhängig, da diese Schnittstelle auch in Kylix existiert (genauer: da kommt sie her).
  Mit Zitat antworten Zitat
Kullmann

Registriert seit: 17. Dez 2002
Ort: Ge
11 Beiträge
 
#4

DB-unabhängig

  Alt 27. Dez 2002, 08:09
Genau darum geht es ja!
Das ich per ADO über ODBC auf DB´s zugreifen kann ist schon klar.
Ich möchte aber nicht auf ODBC treiber angewiesen sein. Ausserdem
dachte ich an eine automatische Konvertierung der SQL Strings an die
Gegebenheiten der jeweiligen DBMS.
Ich beschränke mich ja schon auf SQL-92 und bin damit schon fast
frei von Abhängikkeiten, auch wenn sich das negativ auf die Performance niederschlägt und mit wesentlich mehr Programmieraufwand verbunden ist.
Die lahmen ODBC Implementationen bremsen die Software noch mehr ab.
Im Programm selbst nutze ich keine Datensensitiven Elemente. Dadurch habe ich die volle Kontrolle, wann welche Daten zur Datenbank übermittelt werden. Davon ab sind die Daten in den Grids auch vollkommen
anders abgelegt.
Also der Link oben war schon sehr gut, aber es gibt da auch wieder himmelweite Unterschiede in der Geschwindigkeit, im Umgang mit der Schnittstelle und in der Qualität(Bugs).
Wer bietet denn solche DLL´s noch an, und welche sind denn letztendlich die am weitesten verbreiteten Produkte?

mfg
uwe
  Mit Zitat antworten Zitat
DKamps

Registriert seit: 7. Nov 2002
Ort: Unna
30 Beiträge
 
Delphi 7 Enterprise
 
#5

dbExpress

  Alt 27. Dez 2002, 09:05
Versuche doch mal dbExpress, das kommt Deinen Wünschen wohl sehr nahe. Irgendeinen Treiber brauchst Du halt. Außerdem könntest Du mal die Artikelreihe von Cary Jensen auf dem Borland Developer Network zu ClientDataSet querlesen.
Zur weiteren Info: alle DB-Engines verwenden irgendwelche Dialekte von SQL. Gehe mal davon aus, dass Du nicht wirklich glücklich wirst, wenn Du Dich auf SQL-92 beschränkst. Weiterhin ist das Zusammenbasteln der SQL-Statements nur eine Deiner Aufgaben. Irgendwie musst Du den Befehl an die DB-Engine schicken und die Antwort (zumindestens beim SELECT) dann zurück erhalten. Natürlich kannst Du auf die Daten-Komponenten von Delphi verzichten und alles zu Fuß programmieren, aber wozu ? Wenn irgendetwas fehlt, läßt sich dies dank der Vererbung meist einfach dranstricken.
dbExpress bietet vor allem deswegen Vorteile, weil 1. nicht direkt auf dem DB-Server geschrieben wird und 2. weil außer 2-3 Dateien nix gebraucht wird außer einem ordnungsgemäß installierten Client-Access auf die DB-Engine. Für einige DB erledigt das Herr Gates gleich bei der Installation des OS, ansonsten (z.B. MySQL muss halt eine Client-Installation durchgeführt werden).
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.
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