[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    26

    Post DB2 RDB Datenbank anlegen??

    Hallo, ich habe da mal wieder eine Frage:
    Und zwar:
    Ich lege auf der As400 mit dem Befehl "ADDRDBDIRE RDB(TEST) RMTLOCNAME(*LOCAL)" eine Datenbank an. Mein Problem ist jetzt, das ich von Windows darauf zugreifen will, aber mir der Client immer sagt, das er keine "SYSIBM.SYSTABLES" finden kann. Muß ich die System Tabellen extra anlegen? (Mit welchem Befehl?). Oder mache ich etwas grundlegendes Falsch??
    Danke schon mal...

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    #

    [Dieser Beitrag wurde von rmittag am 15. Oktober 2001 editiert.]

  3. #3
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    gesucht ist der view

    <yourColl>.SYSTABLES

    der ist in jeder collection enthalten (CREATE COLLECTION <yourColl> ).

    Gruß Rolf

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    26

    Post

    CREATE COLLECTION .... bei mir gibts es keine CREATE Befehle auf der AS400. Nun hatte ich gehofft, das ich vielleicht doch über ClientAccess etwas werden kann. Aber ich kann mich nicht einmal zu der As400 verbinden, da ich die Hostserver auf der AS400 nicht gestartet kriege. Die Fehlermaldungen lauten immer:
    Leitwegseintragfolgenummer bereits vorhanden.
    Der Befehl STRPJ ist gegenwärtig nicht erlaubt.
    Vergleichswert und Leitwegeintrag stimmen nicht überein.

    WAS SOLL MIR DAS SAGEN?? UND WIE KANN ICH DAS BEHEBEN??

    Danke.

  5. #5
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    also noch mal ausführlich ...

    > Ich lege auf der As400 mit dem Befehl "ADDRDBDIRE RDB(TEST) RMTLOCNAME(*LOCAL)" eine Datenbank an.

    damit wird ein Eintrag in einer Adresstabelle erzeugt (in diesem Fall wird der AS/400 A mitgeteilt, dass auf eben dieser AS/400 A eine Instanz der DB2 mit dem Namen Test läuft, na ja...)

    > CREATE COLLECTION .... bei mir gibts es keine

    CREATE COLLECTION ist ein SQL Befehl und erzeugt eine "Datenbank"

    > Oder mache ich etwas grundlegendes Falsch??

    Bei einem nicht trivialen Projekt sollte eine gewisse Ausbildung hinsichtlich der verwendeten Komponenten nicht als "nice to have" abqualifiziert werden. Dieses Forum kann (m.E.) zwar einen _Erfahrungsaustausch_ (sic) leisten aber grundlegende Kenntnisse nicht ersetzen.

    Gruß Rolf


    [Dieser Beitrag wurde von rmittag am 15. Oktober 2001 editiert.]

    [Dieser Beitrag wurde von rmittag am 15. Oktober 2001 editiert.]

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    26

    Post

    Vielen Dank für die Aufklärung, aber daß CREATE COLLECTIOn ein SQL Befehl ist das weiß ich auch, was ich aber nicht weiß, ist wie man auf einer AS400 damit umgeht. Wenn man auf irgendeinem anderen System eine Datenbank installiert, hat man meistens auch eine Beispiel Datenbank zur Verfügung, ich hoffte nun, daß der ADDRDBDIRE Befehl mir so etwas ermöglicht, damit lag ich wohl falsch. Gibt es den auf dier ver****** Maschine keine Beispiel Datenbank?? Muß das hier denn alles so kompliziert sein??

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    727

    Post

    Hallo Arbi,
    mit welchem Client versuchst du denn auf die AS/400 zuzugreifen.
    Das sieht nach einem allg. DB/2-Client oder einem DRDA-ODBC-Treiber zum Bsp. von StarSQL (beim SNA-Server von Microsoft dabei) aus.
    Damit kannst du z.B. auch auf andere Datenbanken der DB/2-Famile (DB/2 V7.x - Win, Unix, OS/2; DB2 für MVS bzw. OS/390) zugreifen.
    Setze z.B. mal beim StarSQL-ODBC-Treiber den Parameter "SQL Catalog Qualifier" auf QSYS2.

    Der Systemview SYSTABLES ist auf der AS/400 zentral in der Collection QSYS2 und eventuell in jeder mit CREATE COLLECTION angelegten Collection abgelegt.

    Zum Eintrag mit ADDRDBDIRE :
    Damit du überhaupt auf die Datenbank remote zugreifen kannst (z.B. von einer anderen AS/400 oder per ODBC-Client vom PC) musst du der Datenbank einen Namen geben. Das geschieht mit diesem Befehl. Der Name ist beliebig (bis zu 18 Zeichen), sollte aber im allg. mit dem SNA-Systemnamen bzw. dem TCP/IP-Systemnamen übereinstimmen.

    Eine einfache Bsp. Tabelle QCUSTCDT findest du in der Collection QIWS.
    Also versuchs mal mit SELECT * FROM QIWS.QCUSTCDT.

    Sven

    [Dieser Beitrag wurde von Sven Schneider am 15. Oktober 2001 editiert.]

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    26

    Post

    Ich versuche jetzt mit einem DB2 Connect Client auf die AS400 zu verbinden. Die Verbindung klappt auch, aber wie oben beschrieben habe ich nur mit "ADDRDBDIRE" einen Eintrag hinzugefügt, und gehofft daß mir so eine eigene Datenbank erzeugt wird. Leider Falsch gedacht!! Wenn ich dich jetzt richtig verstehe, kann ich mich auf jeden Fall zu QSYS2 verbinden, oder ??
    Danke schon mal.......

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    727

    Post

    Ja und nein,
    Die AS/400 kann nur als eine Datenbank fungieren. Also wenn du unter ADDRDBDIRE den Namen TEST vergeben hast, heißt die gesamte Datenbank dieser AS/400 TEST.
    Die Datenbank ist übrigens da, egal ob ein Eintrag mit ADDRDBDIRE angelegt wurde, nur kannst du sie ohne diesen Eintrag nicht "von außen" ansprechen. (Also z.B. mit DB/2 Connect)
    Tabellen, Views, Indizes wiederum sind in Collections (bzw. Librarys) abgelegt.

    Noch deutlicher wird das, wenn du den dreigeteilten Namen verwendest, z.B.:
    SELECT * FROM TEST.QIWS.QCUSTCDT.
    TEST ist die Datenbank, QIWS die Collection, QCUSTCDT die Tabelle.
    Oder du machst ein CONNECT TEST (bei der Anmeldung ist dies i.A. implizit) zur Datenbank und führts dann SELECT * FROM QIWS.QCUSTCDT aus.

    QSYS2 ist auch nur eine Collection innerhalb dieser Datenbank, allerdings von IBM geliefert und enthält u.a. systemweite Katalogviews wie z.B. SYSTABLES, SYSPROCES, SYSVIEWS...


    Sven

    [Dieser Beitrag wurde von Sven Schneider am 15. Oktober 2001 editiert.]

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241

    Post

    Bei den SYS*-Objekten in der QSYS2 muss allerdings beachtet werden, dass dort ausschließlich SQL-Tabellen (CREATE TABLE, CREATE VIEW, CREATE INDEX, ...) registriert sind.
    Normale Datenbankdateien (sog. PF/LF-Dateien aus Standard AS/400-Anwendungen werden dort NICHT aufgeführt.

    Beim CREATE COLLECTION wird automatisch eine Bibliothek erstellt, die wiederum SYS-Objekte enthält. Diese Objekte enthalten wiederum AUSSCHLIEßLICH SQL-Objekte dieser Bibliothek.
    Zusätzlich werden automatisch Journale erstellt, so dass eine vollständige SQL-Collection entsteht die auch mit COMMIT/ROLLBACK funktioniert. Dies muss man auch beachten, da der Standard-CONNECT mit COMMIT(*CHG) ausgeführt wird.
    Werden nun Tabellen verändert und kein COMMIT durchgeführt, wird nach Ende der Transaktion automatisch ein ROLLBACK durchgeführt !

    An AS/400-Dateien kommt man mittels ODBC auch ohne Probleme.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Jun 2001
    Beiträge
    727

    Post

    Hallo Fuerchau,
    das stimmt nur teilweise.
    Die systemweiten Katalogsichten werden auch für Nativ PF's und LF's geführt.

    Nativ PF's und LF's stehen in der Katalogsicht auch in der QSYS2.SYSTABLES.
    Allerdings mit TABLE_TYPE "P" bzw. "L".

    Die Felder dieser PF's und LF's stehen ebenfalls in der QSY2.SYSCOLUMNS.

    Hinzugefügte Integritätsbedignungen (ADDPFCST) stehen dann auch in QSYS2.SYSCST, QSYS2.SYSREFCST, QSYS2.SYSKEYS bzw. QSYS2.SYSKEYCST.

    Sven

Similar Threads

  1. Db2 Datenbank Treiber Download
    By kr1s in forum NEWSboard Server Software
    Antworten: 11
    Letzter Beitrag: 14-01-11, 12:22
  2. Zugriff auf DB2 UDB
    By Azaron in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-12-06, 13:42
  3. 13.12.06 - DB2 V9 - pureXML, System i5 und CenturioDB
    By mlitters in forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 11-10-06, 16:52
  4. C++: Verbindung zur AS400 DB2 Datenbank
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 14-02-06, 09:27
  5. DB2 Datenbank von AS/400 nach Windows
    By Unregistriert in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 31-01-05, 19:28

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •