Select über mehrere Datenbanksysteme

Status
Nicht offen für weitere Antworten.
S

Saphord

Gast
Hallo!

Ich habe ein kleines Problem:

Ich muss ein Select über mehrere Tabellen die in Unterschiedlichen Datenbanksystemen liegen absetzen. Es ist zwingend notwendig, dass nur eine Query abgesetzt wird.

Beispiel:

Datenbank A (Oracle):
Tabelle Kundendaten
KdNr KdName KdKat
1 Test1 10
2 Test2 10
3 Test3 11
4 Test4 12


Datenbank B (DB2):
Tabelle DatenZuKunden
KdKat Bezeichnung
10 Kategorie1
11 Kategorie2
12 Kategorie3

Ist zwar ein blödes beispiel, aber ich muss aus den beiden tabellen mit einem Select die Daten rauskriegen.

Problem: Wie kann ich das meiner connection beibringen? Da kann ich m.W.n. ja nur eine DB hinterlegen.
Das Anlegen eines DB-Links innerhalb von Oracle oder DB/2 auf die andere Datenbank sind leider auch nicht erwünscht.

Gibt es hierfür irgendeine Lösungsmöglichkeit?

Danke für Eure Hilfe bereits jetzt.
 

ms

Top Contributor
Wer kommt denn auf solch lustige Ideen?
Das fällt ja schon fast unter Mobbing.

ms
 
M

maki

Gast
Doch, geht schon. Z. B. mit dem DataJoiner von IBM
Man lernt ja nie aus.

Aber, ich stelle mir da schon ein paar Fragen, zB. über Aufwand&Nutzen?

Im Endeffekt werden dann doch wieder mehrere Abfragen gestartet und die Ergebnisse gemischt, das kann man doch auch selbst machen ohne hundertausende Euros an IBM zu zahlen um dann von IBM abhängig zu sein.
 

AlArenal

Top Contributor
maki hat gesagt.:
Im Endeffekt werden dann doch wieder mehrere Abfragen gestartet und die Ergebnisse gemischt, das kann man doch auch selbst machen ohne hundertausende Euros an IBM zu zahlen um dann von IBM abhängig zu sein.

Der Frager will ne Oracle und ne DB2 abfragen. Die Chancen stehen nicht schlecht, dass das Geld schon längst geflossen, die Abhängigkeiten bereits geschaffen sind ;)
 

ms

Top Contributor
maki hat gesagt.:
Im Endeffekt werden dann doch wieder mehrere Abfragen gestartet und die Ergebnisse gemischt, das kann man doch auch selbst machen ohne hundertausende Euros an IBM zu zahlen um dann von IBM abhängig zu sein.
Seh ich auch so.
Man kann natürlich eine eigene Datasource schreiben die letztendlich nichts anderes macht.
Aber das war ja explizit nicht erwünscht.

ms
 
S

Saphord

Gast
Der Kunde ist halt König, und der will das halt so. Wie das leider immer wieder ist, kann man da nicht dran diskutieren.

Die aktuelle "Lösung" sieht auch gut aus: Die haben auf ihre zig Datenbanksysteme ODBC-Treiber eingerichtet, dann unter MS-Access die Tabellen verknüpft und dann kann man da wie durch ein Wunder Abfragen über mehrere Systeme hinweg absenden. Warum also was ändern was doch geht ...

Nur wollen die jetzt die Abfragen über ein Wb-Portal starten und dort ihre Querys eingeben (bzw. vordefinierte wählen) und ausführen, also ein kleines "SQL-Tool" (Grundsätzlich ähnlich zum Toad für Oracle).

Evtl. hilft es mir ja, wenn ich eine eigene Datasource schreibe, da muss ich mal rumtüfteln :)

LG
Saphord
 
G

Guest

Gast
Oder mach es genauso Dreckig wie bisher: Leg eine Dummy-Access DB mit allen Verknüpften Tabellen an, auf diese wiederum einen ODBC-Eintrag und dann sollte es funzen ...
 

The_S

Top Contributor
Nur weil das bisher äußerst hässlich gelöst ist, heißt das noch lange nicht, dass ein Select über mehrere DBMS grundsätzlich schlecht ist. Gibt dafür auch einige praktische Verwendungszwecke (siehe z. B. ARadauer).
 

ms

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Nur weil das bisher äußerst hässlich gelöst ist, heißt das noch lange nicht, dass ein Select über mehrere DBMS grundsätzlich schlecht ist. Gibt dafür auch einige praktische Verwendungszwecke (siehe z. B. ARadauer).
Sagt ja niemand, dass das schlecht ist.
Nur mit den gegebenen Mitteln und vor allem den Einschränkungen ist es schlichtweg nicht möglich.

Abgesehen davon ist mir gerade meine Zeit, die ich mit Access als Multiuserdatenbankapplikation auf einem Netzwerkshare verbringen durfte, wieder hochgekommen.

ms
 

robertpic71

Bekanntes Mitglied
Die Funktionalität der "verknüpften Tabellen" gibt es auch außerhalb on Access, in z.B. der Datenbank H2. Hier ein Auszug aus der H2-Doku:

CREATE LINKED TABLE

CREATE LINKED TABLE [IF NOT EXISTS]
name(driverString, urlString,
userString, passwordString, originalTableString)
[EMIT UPDATES]

Creates a table link to an external table.
The driver name may be empty if the driver is already loaded.
Usually, for update statements, the old rows are deleted first
and then the new rows inserted. It is possible to emit update
statements (however this is not possible on rollback), however
in this case multi-row unique key updates may not always work.
The current user owner must have admin rights.
Example:
CREATE LINKED TABLE LINK('org.h2.Driver', 'jdbc:h2:test', 'sa', '', 'TEST')

In beiden Fällen (H2, Access) muss man aber damit rechnen, dass die Tabellen irgendwo gecacht werden - was wohl auch nicht anders geht. Bei großen Datenbeständen könnte das zum Problem werden. Die einzige Alternative wären wohl überarbeitete Abfragen, wo der kleinere Datenbestand auf die jeweils andere Datenbank in einer temporären Datei gespeichert wird.

/Robert
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C SQL-Statement SELECT über 3 Tabellen Datenbankprogrammierung 5
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
OnDemand Select * from bringt keine Rückgabe Datenbankprogrammierung 49
OnDemand Select vs Update ins blaue, was ist teurer? Datenbankprogrammierung 11
M JPA: select all mit unterschiedlichem Tablename Datenbankprogrammierung 2
A MySQL Select und Insert in Java Datenbankprogrammierung 15
J JPA: Wie sieht der select aus? Datenbankprogrammierung 2
D geänderte SELECT Abfragen Datenbankprogrammierung 15
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
T sqlite select Datenbankprogrammierung 12
D Oracle NullPointerException bei select mit Null Values Datenbankprogrammierung 5
F MySQL Was bedeuten die Einzelnen Zeichen in Select Querrys? Datenbankprogrammierung 1
J SQL SELECT mit einem Array Datenbankprogrammierung 1
J SELECT Abfrage/Suche Datenbankprogrammierung 4
E Kann man in einer if-Bedingung auch SELECT-Statements überprüfen? Datenbankprogrammierung 23
M SQL-Exception trotz funktionierendem SELECT Datenbankprogrammierung 4
U PostgreSQL SELECT Statement Datenbankprogrammierung 5
L Select Anweisung wird falsch interpretiert Datenbankprogrammierung 3
C HSQLDB Platzhalter in SELECT Datenbankprogrammierung 6
I SELECT bei Datenbankverbindung Datenbankprogrammierung 6
C MySQL JPA - namedQuery (SELECT) -getResultList() - liefert falsches Ergebnis Datenbankprogrammierung 1
S select: alle ergebnisse ermitteln Datenbankprogrammierung 5
G SQLite SQLite Select für View vereinfachen/optimieren Datenbankprogrammierung 4
H HSQLDB insert .... values("test1",select test2 from foo) Datenbankprogrammierung 2
D JDBC insert mit select abfrage Datenbankprogrammierung 5
W SELECT oder Programm-Logik Datenbankprogrammierung 10
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
T MySQL Dynamisch Suchen Select Datenbankprogrammierung 4
D ArrayList in Select Datenbankprogrammierung 12
N Select mit join Datenbankprogrammierung 3
F Oracle select sum() join select sum() Datenbankprogrammierung 9
B SELECT ja - INSERT nein (MySQL) Datenbankprogrammierung 3
R Oracle Performance bei SELECT mit vielen Reihen Datenbankprogrammierung 5
T MySQL Db select * und Insert schlagen fehl Datenbankprogrammierung 2
I Select-Statement optimieren Datenbankprogrammierung 14
M Variable in SQL SELECT * FROM ... WHERE mithilfe von PreparedStatement benutzen? Datenbankprogrammierung 28
R Derby/JavaDB Möglichkeit von einem Random Select! Datenbankprogrammierung 6
B Mehrfachschachtelung SELECT Datenbankprogrammierung 2
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
GianaSisters MySQL Datenbank Select error Datenbankprogrammierung 5
R Select Statement als temporärer Table Datenbankprogrammierung 7
R Derby/JavaDB Select Statement Where bedingung will nicht ganz! Datenbankprogrammierung 4
R Derby/JavaDB Select TOP Statement geht nicht Datenbankprogrammierung 3
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
J [Hibernate] Select Statement Datenbankprogrammierung 4
A SQLite SELECT von ungleichen Spaltenpaaren Datenbankprogrammierung 10
Eldorado MySQL SELECT mit GROUP BY und INNER JOIN Datenbankprogrammierung 2
M Hibernate JPQL SELECT optional? Datenbankprogrammierung 2
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
G Aufruf von SELECT INTO Datenbankprogrammierung 8
B H2 PreparedStatement SELECT * FROM ? Datenbankprogrammierung 4
X Select Query auf Substring Datenbankprogrammierung 2
S Select eines bestimmten Datensatzes Datenbankprogrammierung 4
M Select * from mydaten where ... Datenbankprogrammierung 4
T Unerwartete Datenbankausgabe bei "select now()" (es wird ein .0 angehängt) Datenbankprogrammierung 5
M Probleme bei Select in Schleife Datenbankprogrammierung 7
G SELECT liefert leere Zeilen Datenbankprogrammierung 32
M SELECT longtext -> als String behandeln Datenbankprogrammierung 6
H Select in einem Select Datenbankprogrammierung 7
G Select- Abfrage Datenbankprogrammierung 19
S Insert mit Select Datenbankprogrammierung 6
G MSSQL Server SELECT Abfrage funktioniert nicht Datenbankprogrammierung 4
R SELECT aus hsqldb mit Parameter Datenbankprogrammierung 2
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
A Problem mit einem Select-Befehl Datenbankprogrammierung 5
E Neues select auf ein vorhandenes Resultset Datenbankprogrammierung 11
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
P SELECT Datenbankprogrammierung 20
T select Abfrage in Java Integer speichern ? Datenbankprogrammierung 2
B fehler bei select befehl Datenbankprogrammierung 5
S Select von bis in DB2 Datenbankprogrammierung 8
S Select mit PreparedStatement Datenbankprogrammierung 2
E Ein If und ein SELECT in Oracle? Datenbankprogrammierung 2
T Select Statement auf Relation Datenbankprogrammierung 3
S PostgreSQL SELECT/UPDATE etc. Datenbankprogrammierung 4
4 Probleme mit Select abfrage Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
N SELECT: Datensatz sperren Datenbankprogrammierung 6
isowiz SELECT SUM() Ergebnis in Java abfragen Datenbankprogrammierung 6
T LIMIT In SELECT Anweisung Datenbankprogrammierung 4
R Select und Insert in Schleife - Problem mit ResultSet Datenbankprogrammierung 2
G SELECT Name= " " verhindern Datenbankprogrammierung 5
G Syntax für Select - Abfrage mit Variablen Datenbankprogrammierung 39
J SELECT-Statement Datenbankprogrammierung 4
R Select auf der Konsole ausgeben Datenbankprogrammierung 2
D brauche mal kurz hilfe bei einem select-stmt Datenbankprogrammierung 6
G Select-Abfragen sind sehr langsam Datenbankprogrammierung 7
D HSQLSB SELECT Datenbankprogrammierung 9
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
tom.j85 Objekt in OneToOne Beziehung über http request anzeigen lassen Datenbankprogrammierung 3
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
J Nur CRUD über Datenbank Klasse, oder auch mehr ? Datenbankprogrammierung 2
M MySQL Passwort Clientseitig ändern und über Button ausführen Datenbankprogrammierung 0
F MySQL Einfügen von Datensätzen über Java Datenbankprogrammierung 8
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29

Ähnliche Java Themen

Neue Themen


Oben