datenbanken bekommen?
- Dieses Thema hat 7 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 16 Jahre, 3 Monaten von
Anonym.
-
AuthorPosts
-
20. Juni 2007 um 8:15 Uhr #2783
AnonymInaktivmit welchem befehl kann ich die Datenbanken in DB2 bekommen?
mit "list active databases" bekomme ich nur die aktiven datenbanken, aber ich möchte alle bekommen.
Gibt es eine Tabelle, wo alle Datenbanken gespeichert sind? Oder eine tabelle wo alle table_catalogs drin sind?
Vielen Dank im Voraus
20. Juni 2007 um 10:09 Uhr #3170
AnonymInaktivversuch mal "LIST DATABASE DIRECTORY", damit solltest Du alle Datenbanken bekommen.
20. Juni 2007 um 13:01 Uhr #3428
AnonymInaktivok, da krieg ich die infos zu den datenbanken aber ich will ein resultset bekommen. Also daten aus eine tabelle bekommen wo alles drinsteht mit einem select-befehl.
20. Juni 2007 um 18:18 Uhr #3590
AnonymInaktivsorry, so einen SELECT wird’s nicht geben. Im dezentralen Umfeld ist jede Datenbank für sich eine abgeschlossene Einheit, so dass ein SELECT immer nur die Objekte innerhalb EINER Datenbank ausgeben kann, aber nicht alle Datenbanken, die auf einem Server katalogisiert sind.
20. Juni 2007 um 20:47 Uhr #3710
AnonymInaktivHi,
diese Anfrage ist wohl im Zusammenhang mit der anderen Anfrage zum Connectivity-Problem (https://www.ruban.de/cgi-bin/yabb2/YaBB.pl?num=1182323751/1#1) zu sehen.
Scheinbar greifst Du gerade über den JDBC Type 4 Client auf den Server zu, ohne dass das s.g. "DB2 (Connect) Personal Edition" oder "DB2 Runtime Client" installiert wäre. Denn sonst könntest Du hier mit dem "db2 catalog node" und "db2 catalog database" und "db2 catalog odbc data source" alle entfernten Datenbanken katalogisieren und wie lokale DB’s verarbeiten.
Ansonsten mußt die halt den Port des Servers (siehe /etc/services, meist ab Port # 50000) und den Datenbank-Namen kennen. Eine oder mehrere Datenbanken bilden eine Instanz (Database Manager). Diese Instanz legt die Authentication Type fest. Der Client selbst kann die Kommunikation nicht selbst als Trusted Client Auth erklären, dann gäb’s ja null Sicherheit.
Hier nochmal der Hinweis zu den beiden IBM Aufsätzen:
DB2 UDB connectivity cheat sheets – Part 5
(connectivity for ADO and ADO.NET applications accessing DB2 using C++, Visual Basic, C#, and Visual Basic .NET languages): http://www.ibm.com/developerworks/db2/library/techarticle/dm-0402chong2/Connectivity cheat sheet for Application Developers – Part 4
(connectivity using C and Java languages) http://www.ibm.com/developerworks/db2/library/techarticle/dm-0401chong/Gruß
Gernot
21. Juni 2007 um 7:01 Uhr #3789
AnonymInaktivam besten ich drücke es ganz einfach aus ^^
Ich hab eine application in .NET programmiert.
Was ich dafür noch benötige ist eine möglichkeit sich zu einer DB2 datenbank zu verbinden.
Leider muss ich bei der ODBC-Connection anscheinend die Datenbank angeben. Ich will mich aber nur zum DBMS verbinden und dann soll der User eine Datenbank auswählen können, die in dem DB2 DBMS vorhanden ist. Also brauche ich irgendwie eine Liste aller vorhandenen Datenbanken.
24. Juni 2007 um 17:49 Uhr #3841
AnonymInaktivHi ???,
wie ist Dein Name eigentlich, oder Dein Pseudonym, irgendeine Bezeichnung die die persönliche Ansprache erlaubt?! (= Netiquette!)
Die IBM DB2 Treiber, das sind DB2 .Net, der ODBC Treiber und der OLE Treiber, sind scheinbar nur redimentäre Werkzeuge. Je nach Wahl erlauben sie mehr oder weniger Funktionen.
Eine Liste von verfügbaren Datenbanken kann nur dann geliefert werden, wenn sie jemand bereitgestellt hat. Dies ist am Server natürlich der Fall, hier gibt es das Database Directory. Dies wird aber nicht als Liste oder Objekt an Clients/Requestor publiziert.
Wenn Du einen DB2 Client (=Software) oder DB2 Connect (=Software) auf Deiner Workstation installiert hast, eröffnen sich mehr Möglichkeiten, dann kannst Du dort entfernte Datenbanken registrieren/katalogisieren, auch als ODBC Systemdatenquelle. Dann sind natürlich auch mehr Zugriffsmöglichkeiten auf solche ein Verzeichnis gegegeben.
Wenn Du über DB2 .Net Data Provider auf Db2 of OS/390 oder DB2 for z/OS zugreifen möchtest, benötigst Du das DB2 Connect Produkt (siehe http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp?topic=/com.ibm.db2.udb.dndp.doc/htm/frlrfIBMDataDB2.htm).
Die IBM DB2 Litaratur sagt …
DB2 UDB for Windows includes three .NET data providers:- DB2 .NET Data Provider: A high performance, managed ADO.NET data provider. This is the recommended .NET data provider for use with DB2 family databases. ADO.NET database access using the DB2 .NET Data Provider has fewer restrictions, and provides significantly better performance than the OLE DB and ODBC .NET bridge providers.
- OLE DB .NET Data Provider: A bridge provider that feeds ADO.NET requests to the IBM OLE DB Provider (by way of the COM interop module). This .NET data provider is not recommended for access to DB2 family databases. The DB2 .NET Data Provider is faster and more feature-rich.
- ODBC .NET Data Provider: A bridge provider that feeds ADO.NET requests to the IBM ODBC Driver. This .NET data provider is not recommended for access to DB2 family databases. The DB2 .NET Data Provider is faster and more feature-rich.
Die Literatur gibt’s hier:
Developing ADO.NET and OLE DB Applications:
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.doc/doc/r0008264.htmGruß
Gernot
25. Juni 2007 um 11:27 Uhr #3874
AnonymInaktivGernot Ruban wrote:
…Wenn Du einen DB2 Client (=Software) oder DB2 Connect (=Software) auf Deiner Workstation installiert hast, eröffnen sich mehr Möglichkeiten, dann kannst Du dort entfernte Datenbanken registrieren/katalogisieren, auch als ODBC Systemdatenquelle. Dann sind natürlich auch mehr Zugriffsmöglichkeiten auf solche ein Verzeichnis gegegeben.
Wenn Du über DB2 .Net Data Provider auf Db2 of OS/390 oder DB2 for z/OS zugreifen möchtest, benötigst Du das DB2 Connect Produkt (siehe http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp?topic=/com.ibm.db2.udb.dndp.doc/htm/frlrfIBMDataDB2.htm).
…
Gruß
GernotIch kann aber nicht davon ausgehen, dass auf allen Rechnern auf dem meine Software laufen soll, die Produkte installiert sind. Es wäre eine Zumutung bei 1000 Rechnern erstmal die DB2-Produkte zu installieren damit meine Software funktioniert.
Gibt es denn wenigstens eine Tabelle, wo die aktuelle Datenbank drin steht? Mit allen Tabellen und zugehörigen Spalten?
Gruß
Sebastian
-
AuthorPosts
You must be logged in to reply to this topic.