AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Komponente um auf verschiedene Datenbanken zuzugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente um auf verschiedene Datenbanken zuzugreifen

Ein Thema von haglo · begonnen am 28. Mai 2004 · letzter Beitrag vom 29. Mai 2004
Antwort Antwort
haglo

Registriert seit: 11. Mär 2004
7 Beiträge
 
#1

Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 28. Mai 2004, 14:05
Wir enwickeln eine Datenbankapplikation, in der der Anwender wählen kann, welche Datenbank er verwendet (Access, MSSQL, MySQL, Interbase, Firebird).
Der Zugriff auf die Datenbank erfolgt mit Standard-SQL, wobei nur einfache SQL-Befehle verwendet werden zB Select, Insert, ..., (keine Trigger, keine StoredProcedures, usw).
Gibt es eine Komponente, mit der ich nur die Connection zur Datenbank ändern muss und dann über dieselbe Query (oder ähnliches) auf die entsprechende Datenbanken zugreifen kann,um meine enfachen SQL-Befehle abzusetzen.
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#2

Re: Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 28. Mai 2004, 14:10
Hallo,

tja, gibt es.

Nannte und nennt sich BDE. Aber die hat wohl ausgedient

Die neuen Datenzugriffs-Verfahren sind dann ADO oder dbExpress.

Gruß, Jochen
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
haglo

Registriert seit: 11. Mär 2004
7 Beiträge
 
#3

Re: Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 28. Mai 2004, 15:26
kann ich mit dbExpress auf alle genannten Datenbanken zugreifen (Access, MSSQL, MySQL, Interbase, Firebird)
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#4

Re: Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 28. Mai 2004, 15:34
Ja, das ist möglich.
Kannst Du Dir aber auch einfach ansehen wenn Du eine SQLConnection-Komponente auf irgendeine Form setzt und mit der rechten Maustaste in die Verbindungdseigenschaften guckst.
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
JohannesK

Registriert seit: 17. Jul 2003
Ort: Abtwil
118 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 28. Mai 2004, 16:05
Eine einfache Möglichkeit ist es, mit ADO-Komponenten zu arbeiten und jeweils eine ODBC-Schnittstelle für die einzelnen Datenbanken zu verwenden.
Innerhalb des Programm kann der Zugriff dann einheitlich erfolgen, nur die ODBC ändert.
mit freundlichem Gruss

So einfach wie möglich. Aber nicht einfacher.
  Mit Zitat antworten Zitat
haglo

Registriert seit: 11. Mär 2004
7 Beiträge
 
#6

Re: Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 29. Mai 2004, 08:19
Danke für den Tip.
Wie kann ich jedoch mit Ado auf einen ODBC-Schnittstelle zugreifen.
Das Problem ist, dass ich auf dem Zielsystem die Datenbank über SQL erst anlege (Create...).
Mit reinem Ado krieg ich es gut für Access und MSSQL hin (über OLEDB).
Bin um jeden Tip dankbar.
  Mit Zitat antworten Zitat
JohannesK

Registriert seit: 17. Jul 2003
Ort: Abtwil
118 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 29. Mai 2004, 11:37
Vielleicht ein Beispiel für mySQL:

- die ODBC anlegen (muss der Benutzer ja eh machen)
- ein Verzeichnis mit dem Datenbanknamen erstellen (geht ja auch über normale Windows - Befehle während der Installation bzw. aus dem Programm heraus)
- das Verzeichnis wird von mySQL dann als Datenbank interpretiert und kann bearbeitet werden
- die entsprechenden Befehle über ein adocommad.execute an die Datenbank absetzen.

Code:
adocommand1.CommandText := memo1.Text;
// z.B. memo1.text := 'CREATE TABLE DEMO (ID INTEGER)';
adocommand1.execute;
Statt memotext geht natürlich auch die Verarbeitung mit allen Befehelen aus einer Datei.

Mit mySQL fuktioniert das zumindest.
mit freundlichem Gruss

So einfach wie möglich. Aber nicht einfacher.
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#8

Re: Komponente um auf verschiedene Datenbanken zuzugreifen

  Alt 29. Mai 2004, 12:08
Hallo Haglo,

vielleicht solltest Du erst noch einmal genau prüfen, womit Du denn zu arbeiten gedenkst. Du sprachst eingangs von (Access, MSSQL, MySQL, Interbase, Firebird).

Schaut man sich die Datenbank-Entwicklung der vergangenen Jahre an, so kommt man zum Schluß, das MS mal wieder versucht, verlorenes Terrain wieder zu gewinnen. Man hat sich vor Jahren mit der Übernahme des MS-SQL-Servers 6.5 nicht gerade mit Ruhm bekleckert. Das ging dann so weit, das schließlich die Aussage von MS kam, den SQL-Server 6.5, wegen der vielen Fehler, sterben zu lassen!

Die Nachfolgerversionen 7.0 usw. hatten und haben es schwer, sich zu etablieren. Zumindest bei den Entwicklern, die um die Fehler wussten.

Deswegen sind viele Firmen auf andere Lösungen umgestiegen, z.B. Oracle, oder Interbase.

Unterscheiden muss man auch grundsätzlich zwischen den beiden unterschiedlichen Verfahren - Container-basierende oder Datei-basierende) SQL-Server und die richtige Art für die eigene Anwendung festlegen.

Ich behaupte jetzt mal das das Datei-basierende Verfahren das am besten anwendbare ist. Wer arbeitet den heute mit riesigen SQL-Container-Daten? Das sind doch dann schon Anwendungen die in größeren Firmen zum Einsatz kommen. Aber nicht mehr für eine kleine Arbeitsgruppe taugen

Die andere Überlegung ist die Frage nach dem ODBC-Treiber.
Muß man den verwenden? Oder gibt es doch einen Direktzugriff?
Bei bestimmten Anforderungen ist der ODBC-Treiber sicher nur eine eingeschränkte Schnittstelle. Nicht alles was im direkten Zugriff geht, kann er bewältigen.

Nur ein Beispiel: Ich muß in einem Krankenhaus Mitarbeiter-Ausweise mit Lichtbild drucken. Die Bilder liegen in einer Interbase-Datenbank. Mit den Crystal-Reports und dem ODBC-Treiber ist es bis heute zu nicht möglich, die Fotos korrekt zu drucken. Über den direkten Zugriff aber schon.


So, ich glaub ich hab dir jetzt genug Lesestoff geliefert, Deine oben angeführte Wunschliste der verwendbaren SQL-Server etwas einzuschränken.

Das wäre eigentlich ein Thema für eine richtige Disskussion <lach>

mfg, Jochen
Hans-Joachim Brosius
  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 22:17 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