AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Anfängerfrage :: ADO Connection
Thema durchsuchen
Ansicht
Themen-Optionen

Anfängerfrage :: ADO Connection

Ein Thema von Martin W · begonnen am 8. Feb 2007 · letzter Beitrag vom 8. Feb 2007
Antwort Antwort
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#1

Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 12:25
Datenbank: MySQL; MSSQL; Oracle • Version: - • Zugriff über: ADO
Hi


Ich habe eine Anwendung, welche mit 3 verschiedenen Datenbanken umgehen können soll. Deshalb habe ich mich entschiedenen, die ADO Komponenten zu verwenden. ( Hat dies Nachteile? Gehen die noch unter VISTA? ) Klappt auch alles ganz gut so weit, nur habe ich 2 Fragen dazu ::

a) Heißt der Provider immer MSDASQL ? Ich meine, dass ist ja der für die ODBC Verbindungen...
b) Ist die Denkweise korrekt wenn ich sage: "Jedes ODBC Profil, welches ich in der Systemsteuerung zu ner Datenbank erfolgreich verbinden lassen kann, kann ich auch mit den ADO Komponenten unter Delphi ohne Probleme ansteuern".


Der User soll in der Anwendung den ConnectionString, mit Hilfe eines Asssistent, selber erstellen können um größtmögliche flexibilität zu behalten.

a) Wie kann ich eine Liste der verfügbaren Provider und die Datenquellennamen anzeigen lassen?
b) Kann ich auch den Assistenten in der Endversion verwenden, den Delphi verwendet? Also der einem hilft den COnnectionString zu erstellen... wennn ja, wie?


lg
Martin W.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 13:45
Willst Du dir wirklich ADO für MySQL und Oracle antun? Erst mal einen passenden Provider finden und diesen auf jeden Client installieren?

Ich empfehle dir das sog. Bridge-Pattern/Brückenmuster anzuwenden um die Datenbank-Unterschiede in einer entsprechenden DB-Layer-Klasse zu kapseln. Für MySQL und Oracle empfehle ich dir mal die Komponenten von Core Lab anzuschauen (Im Bereich MySQL gibts nichts schnelleres was TDataset-Basierent ist, Oracle habe ich andere Kompos). Eine Verwendung von ADO als Abstraktionslayer bringt dir keine Lösung um das unterschiedliche Verhalten der Datenbank zu kapseln. Selbst bei varchars verhalten sich die Datenbanken unterschiedlich).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#3

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 13:50
In erster Linie will ich flexibel sein... darum habe ich ADO genommen. Oracel / MSSQL lassen wir mal weg...

Ziel ::
Zitat:
Ich möchte eine zukunfsfähige Win32 Anwendung erstellen, die mit verschiedenen Datenbanken arbeiten kann. Entwickelt wird mit MySQL.

Bin ich mit ADO da ganz falsch? Oracel und Co... vergessen wir die Beispiele einfach mal, also keine spezialkomponenten nennen... Was der Enduser am Ende hat - da will ich relativ flexibel sein.

lg
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 14:06
Zitat von Martin W:
In erster Linie will ich flexibel sein... darum habe ich ADO genommen. Oracel / MSSQL lassen wir mal weg...
Am Flexibel bist du wenn du für jede DB einen Zugriffskomponente entwickelst. Oder glaubst du das ein per ODBC angebundene DB2 im Oracle-Modus deine für MySQL optimierten SQL-Abfragen in allen fällen versteht?

Zitat:
Ich möchte eine zukunfsfähige Win32 Anwendung erstellen, die mit verschiedenen Datenbanken arbeiten kann. Entwickelt wird mit MySQL.
Spricht doch nichts dagegen. Jetzt kommst nur darauf an ob du eine Minimale MySQL vorrausetzt, eine Spezielle MySQL-Storage-Engine verwendest, .... Auch schon bei MySQL ist es nicht ganz ohne das ganze Spektrum der laufenden MySQL-Installationen zu unterstützen.

Zitat von Martin W:
Bin ich mit ADO da ganz falsch?
Meines Erachtens: Ja!

Zitat von Martin W:
Oracel und Co... vergessen wir die Beispiele einfach mal, also keine spezialkomponenten nennen...
Dann wird es schon schlecht.

Wo werden wohl mehr Problem/Fehler auftreten:

Anwendung -> ADOExpress/dbGo -> ADO -> OLE DB-Provider (-> evtl. nativer DB-Treiber) -> Datenbank

oder

Anwendung -> (z.B. MyDAC von Core Lab) -> Datenbank

und das beste ist auch noch: Kein Treiber (ADO oder ODBC) installieren, keine Einrichtung von ODBC und noch nicht mal eine DLL. Nur die Exe wird ein paar 100 kByte größer.

Zitat von Martin W:
Was der Enduser am Ende hat - da will ich relativ flexibel sein.
Ohne das DBMS zu kennen wirst du nicht glücklich werden. SQL ist zwar standardisiert, aber jeder kocht sein eigenes Süppchen bei Dingen die erst später festgelegt wurden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#5

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 14:35
OK. Also schreibe ich eine Klasse, die die 5 größten Datenbanken verwenden kann. Je nach verwendeter Datenbank wird eine andere Komponente verwendet.

Welches sind die 5 meist verbreitenen Datenbanken ?
  • Microsoft Access
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • Firebird

... das dürften doch die 5 großen sein, oder? Wenn ich diese 5 unterstütze, müsste ich doch ganz gut dabei sein... Welche Komponenten (welche auch kommerziell genuztz werden dürfen ohne das ich irgendeinen Programmquellcode mitgeben muss) sollte ich dann nehmen?
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#6

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 14:46
CoreLabs KOmponenten gefallen mir.. ich glaub diese werde ich erst mal für
  • MySQL
  • MSSQL
  • Firebird

verwenden... wenn ich die 3 Unterstützt ist das doch schon mal ganz sinnvoll. Erweitern kann man es später ja immer noch.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 14:55
Zitat von Martin W:
CoreLabs KOmponenten gefallen mir.. ich glaub diese werde ich erst mal für
Für MySQL kann ich schon mal sagen: Gute Entscheidung!
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#8

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 15:44
Hey die Teile sind ja echt mal geil... VErbindung habe ich hinbekommen. Wenn ich jetzt einen SQL Befehl hinschicken will.. mache ich des wie? Bin noch anfänger...

... momentan hab ich nur die Connectkomponente drauf.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Anfängerfrage :: ADO Connection

  Alt 8. Feb 2007, 16:00
Schau dir mal die mitgelieferten Beispiele an.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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:13 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