AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Was sind native DB-Komponenten?
Thema durchsuchen
Ansicht
Themen-Optionen

Was sind native DB-Komponenten?

Ein Thema von ak1 · begonnen am 15. Mai 2004 · letzter Beitrag vom 16. Mai 2004
Antwort Antwort
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#1

Was sind native DB-Komponenten?

  Alt 15. Mai 2004, 17:35
Hallo Leute,

was sind native DB-Komponenten? Was ist das Gegenstück dazu und wo liegen die Unterschieden, Gemeinsamkeiten, Vor- und Nachteile?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Was sind native DB-Komponenten?

  Alt 15. Mai 2004, 18:11
Native DB-Komponenten sind Komponenten welche auf die primäre Zugriffsschnittstelle einer Datenbank aufsetzen, ohne den Umweg über allgemeine Schnittstellen zu gehen.

Der Zugriffsweg Anwendung -> BDE -> ODBC -> MySQL-ODBC-Treiber -> MySQL-Datenbank ist z.B. eine nicht nativer Zugriffsweg

Dageben ist z.B. der Weg Anwendung -> Zeos-Lib (Als Beispiel) -> libmysql.dll -> MySQL-Datenbank ein native-Weg

Noch nativer wäre z.B. Anwendung -> Corelabs-MySQL-Treiber -> MySQL-Datenbank.

Der Vorteil des nativen Zugriffsweg ist:
- Minimale Zwischenschichten welche evt. gesonderte zu installieren wären
- Minimierte Fehlerquellen (jede Zwischenschicht kann Implementierungsfehler enthalten)
- Optimaler Funktionsausnutzung. Jede Zwischenschicht kann die Verwendung von DB-Details (wie z.B. nvarchar-Felder, Bitfelder, Sondertypen,...) verhindern.
- Optimale Performance. Jede Zwischenschicht kann zu Einbußen in der Geschwindigkeit führen.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Was sind native DB-Komponenten?

  Alt 15. Mai 2004, 18:12
native Komponenten können direkt auf die DB bzw. auf das zugrunde liegende API zugreifen. Die BDE ist also das Gegenteil davon.
Gruß
Hansa
  Mit Zitat antworten Zitat
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#4

Re: Was sind native DB-Komponenten?

  Alt 15. Mai 2004, 18:22
gut zu wissen. Danke für die Aufklärung.
  Mit Zitat antworten Zitat
Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#5

Re: Was sind native DB-Komponenten?

  Alt 16. Mai 2004, 09:25
Wobei ich gerade bei kommerziellen Anwendungen die Komponenten von Core Lab (für Oracle, MS SQL Server und MySQL) wärmstens empfehlen kann. Der Zugriff ist um Längen schneller, als bei BDE, ODBC und auch ADO. Die Kompos sind knapp, aber ausreichend dokumentiert und werden seit Jahren vom Hersteller weiterentwickelt.
Testversionen gibt es bei Torry. Die Vollversionen kann man für 70 - 350 Euro bei Share-it in Köln beziehen. Das Preis-Leistungs-Verhältnis ist sehr gut.

Für Freeware-Programme gibt es auch brauchbare Gratis-Komponenten bei Torry. Allerdings ist hier der Arbeitsaufwand höher.

Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Was sind native DB-Komponenten?

  Alt 16. Mai 2004, 09:42
Hi,

nach den bisherigen Antworten könnte man sich fragen, wieso es dann überhaupt nicht native Zugriffswege gibt:

Das wichtigste Ziel ist, die Anwendung nicht ein- für allemal an eine Datenbank zu ketten, sondern durch Einführung dieser Zwischenschicht einen einfachen Wechsel der Datenbank ermöglichen zu können.

Woki
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Was sind native DB-Komponenten?

  Alt 16. Mai 2004, 17:05
Zitat von woki:
Das wichtigste Ziel ist, die Anwendung nicht ein- für allemal an eine Datenbank zu ketten, sondern durch Einführung dieser Zwischenschicht einen einfachen Wechsel der Datenbank ermöglichen zu können.
Diesen Vorteil können aber Zwischenschichten wie BDE und ADO nicht 100%ig leisten. Dazu erfolgt auf dieser Zwisschenebene eine zu geringe Abstraktion des SQL-Dialekts.
So ist z.B. nicht möglich die SQL-Anweisung SELECT TOP 10 FROM MyTABLE ohne Anpassungen auf jede beliebige DB umzusetzen.

Nicht umsonst ist M$ mit ADO.NET einen anderen Weg gegangen und hat für jeden Zugriff auf eine andere Datenbank spezialisierte DB-Zugriffskomponenten eingeführt und nur der DB-Unabhängie Teil wird mittels allgemeinger Dataset-Komponenten gehandhabt.

Auch unter Delphi kann man mit Hilfe der TDataset-Basisklassen trotz Verwendung von nativer-Komponenten eine DB-unabhänige Anwendung schreiben. Dazu muss man "nur" das Bridge-Pattern verwenden, um die eigenheiten der DB's und der SQL-Dialekte zu kapseln.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Was sind native DB-Komponenten?

  Alt 16. Mai 2004, 17:16
Zitat von Woki:
...Das wichtigste Ziel ist, die Anwendung nicht ein- für allemal an eine Datenbank zu ketten...
In dem Fall kann man aber keine der Speziellen Features einer DB verwenden!
Ich zum Beispiel arbeite viel mit OOP innerhalb von Oracle, deshalb nutze ich auch den Object cache des Ora Clients um unnötige Netzwerk-Roundtrips zu vermeiden.
Diese Geschichten kann ich in D7 nur über DOA oder direkt mit OCI lösen, bzw. mit dem ODP.Net unter D8.
Ich habe mich also an eine DB gekettet, da es mit keiner Zwischenschicht möglich ist das auch auf anderen DBs zu nutzen.
  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 06:30 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