Stichwörter:
BDP = Borland Data Provider
ODP = Oracle Data Provider for .net
Hallo,
ich habe hier eine Delphi 8 Architekt installiert.
Folgende Fragen sind aufgekommen:
Datenbankanbindung (BDP versus ODP)
Ich möchte eine Verbindung zu einem Oracle
SQL Server aufbauen,
aber kein
BDE,
ADO oder so verwenden.
Von Oracle gibt es eine Schnittstelle Namens
"Oracle Data Provider for .net".
Das bekomme ich auch in Delphi 8 installiert. (.net Komponenten)
Ich habe nur ein kleines Problem in der Benutzung.
Die
"Borland Data Provider" Komponenten werden wie folgt verwendet:
- 1. BdpConnection wird ein ConnectionString zugewiesen
2. BdpCommand wird eine Connection zugewiesen (z.B. BdpConnection1)
3. BdpCommand wird ein CommandText zugewiesen (z.B. select * from table1)
4. BdpDataAdapter wird ein SelectCommand zugewiesen (z.B. BdpCommand1)
5. BdpDataAdapter kann nun ein DataSet zugewiesen werden (z.B. DataSet1)
6. BdpDataAdapter kann nun mit Active := true aktiviert werden.
7. Nun kann z.B. ein DataGrid mit DataSet1 oder der automatisch generierten DataTable1 verbunden werden
-> Es werden Daten angezeigt.
Bei den
"Oracle Data Provider for .net" Komponenten sollte das eigentlich genauso gehen
- 1. OracleConnection wird ein ConnectionString zugewiesen
2. OracleCommand wird eine Connection zugewiesen (z.B. OracleConnection1)
3. OracleCommand wird ein CommandText zugewiesen (z.B. select * from table1)
4. OracleDataAdapter wird ein SelectCommand zugewiesen (z.B. OracleCommand1)
5. OralceDataAdapter kann nun leider kein DataSet zugewiesen werden (Diese Eigenschaft existiert nicht)
6. OracleDataAdapter kann nun nicht mit Active := true aktiviert werden. (Diese Eigenschaft existiert nicht)
7. Nun kann z.B. ein DataGrid mit DataSet1 verbunden werden (Die automatisch generierten DataTable1 gibt es auch nicht)
Man kann zur Laufzeit folgenden Code ausführen, dann werden Daten angezeigt:
Self.OracleDataAdapter1.Fill(Self.Dataset1)
Aber leider nicht in der
IDE
In dem von Delphi generierten Quellcode (procedure TWinForm.InitializeComponent) kann ich diese Zeile auch einfügen.
Beim Wechsel von Code auf Design ist nun auch tatsächlich eine Datenverknüpfung hergestellt. Nach einiger Zeit entfernt Delphi meine Zeile aus seinem Code.
Meine Frage: Wie mache ich das denn nun am geschicktesten?
Ich will auf keinen Fall so was wie die
BDE oder
ADO dazwischen haben.
Die .net Komponenten von Oracle sollten ja auch unterstützt werden.
Frage 2: Kann ich das nur in WinForms verwenden?
(In
VCL Modus bekomme ich die Oracle Komponenten nicht installiert)
Für eine Antwort bedanke ich mich schon mal im Voraus.
MaBuSE
ps: Hier ein Bild
[edit=fkerber]Bild im Anhang. Mfg, fkerber[/edit]