AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Verknüpfen von Datenbanken über ADODatasets
Thema durchsuchen
Ansicht
Themen-Optionen

Verknüpfen von Datenbanken über ADODatasets

Ein Thema von news2swen · begonnen am 30. Jun 2010 · letzter Beitrag vom 1. Jul 2010
Antwort Antwort
news2swen

Registriert seit: 7. Nov 2008
36 Beiträge
 
Delphi XE4 Enterprise
 
#1

Verknüpfen von Datenbanken über ADODatasets

  Alt 30. Jun 2010, 16:03
Datenbank: Oracle/Text • Version: 9 • Zugriff über: ADO
Hallo zusammen

ich möchte gern eine Verbindung zwischen mehreren ADODatasets herstellen.

Ich habe eine Oracle-Datenbank mit diversen Tabellen. Daraus hole ich mir mittels SQL meine Daten. Diese lade ich in ein ADODataset. Ausserdem habe ich eine Textdatei, in welcher ich ebenfalls Datensätze gespeichert habe. Diese lese ich in ein temporäres Recordset, welches an einem weiteren ADODataset hängt. Soweit alles kein Problem.

In der Textdatei sind sowohl Daten, welche denen der Datenbank zu 100% entsprechen, es gibt Datensätze welche abgeändert sind und es gibt neue Datensätze.
Nun hätte ich gern ein drittes Dataset, welche mir die verknüpften Datasets anzeigt. Ich dachte da an sowas wie "Select * from Dataset1, Dataset2 where dataset1.key=dataset2.key(+)".

Gibt es eine derartige Möglichkeit?
Den Weg, eine Tabelle in der OracleDB zu erstellen, welche die Textdateidaten enthält möchte ich umgehen, da zum einen mehrere Benutzer gleichzeitig in dem Programm arbeiten sollen (da würde einer die Daten des anderen angezeigt bekommen) und was noch schwerer wiegt, ist dass der Datenbanknutzer keine Tabellen anlegen darf.

Gruß
Swen
Swen
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Verknüpfen von Datenbanken über ADODatasets

  Alt 30. Jun 2010, 17:07
Evtl. wären disconnected Recordsets was für dich.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Verknüpfen von Datenbanken über ADODatasets

  Alt 30. Jun 2010, 17:23
Oder verwende ein MERGE Statement
Markus Kinzler
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Verknüpfen von Datenbanken über ADODatasets

  Alt 1. Jul 2010, 08:34
Hallo,
Hallo zusammen

ich möchte gern eine Verbindung zwischen mehreren ADODatasets herstellen.

Ich habe eine Oracle-Datenbank mit diversen Tabellen. Daraus hole ich mir mittels SQL meine Daten. Diese lade ich in ein ADODataset. Ausserdem habe ich eine Textdatei, in welcher ich ebenfalls Datensätze gespeichert habe. Diese lese ich in ein temporäres Recordset, welches an einem weiteren ADODataset hängt. Soweit alles kein Problem.

In der Textdatei sind sowohl Daten, welche denen der Datenbank zu 100% entsprechen, es gibt Datensätze welche abgeändert sind und es gibt neue Datensätze.
Nun hätte ich gern ein drittes Dataset, welche mir die verknüpften Datasets anzeigt. Ich dachte da an sowas wie "Select * from Dataset1, Dataset2 where dataset1.key=dataset2.key(+)".

Gibt es eine derartige Möglichkeit?
Den Weg, eine Tabelle in der OracleDB zu erstellen, welche die Textdateidaten enthält möchte ich umgehen, da zum einen mehrere Benutzer gleichzeitig in dem Programm arbeiten sollen (da würde einer die Daten des anderen angezeigt bekommen) und was noch schwerer wiegt, ist dass der Datenbanknutzer keine Tabellen anlegen darf.

Gruß
Swen
Du kannst in Oracle ruhig eine Tabelle nehmen und zwar eine temporäre. Die hat den Vorteil, dass jeder Nutzer quasi seine eigene Instanz der Tabelle hat und damit die Daten der verschiedenen Nutzer nicht "durcheinander" geraten. Die temporäre Tabelle wird nach dem Beenden der Verbindung automatisch geleert, so dass in der Datenbank keine "Datenreste" übrigbleiben, die Du noch manuell entsorgen muss. Die temporäre Tabelle kannst Du beliebig in Deine SQL-Statements mit einbeziehen, kannst sie mit 'nem entsprechenden Index versehen...

Ein bisserl Info dazu: http://www.oracle-base.com/articles/...raryTables.php, http://www.java2s.com/Code/Oracle/Ta...orarytable.htm
  Mit Zitat antworten Zitat
news2swen

Registriert seit: 7. Nov 2008
36 Beiträge
 
Delphi XE4 Enterprise
 
#5

AW: Verknüpfen von Datenbanken über ADODatasets

  Alt 1. Jul 2010, 11:03
Hallo

vielen Dank für die schnelle Hilfe. Die Variante von naphets mit den temporären Tabellen in Oracle ist echt Klasse. Die kannte bis jetzt nicht mal unser DBA .

Das MERGE nutzt in diesem Falle leider gar nichts, da ich ja meine Daten nicht miteinander bekannt machen kann. Der User muss die Ergebnismenge sehen um zu entscheiden, welche Daten welcher Aktion unterliegen sollen.

Das mit den disconnected Recordsets hab ich nicht verstanden. Wie würden die denn mein Problem lösen können? Kannst Du da nähere Ausführungen machen?

Danke
Swen
  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 11:41 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