Auf DB2 für i, Suche für Säulen -, Rückgabe-Tabelle Namen in form einer Liste
Ich bin immer noch ein bisschen ein noob, also Verzeihung falls diese Frage ist ein bisschen offensichtlich. Ich habe Suche für eine Antwort, aber entweder konnte nicht verstehen, wie die Antworten, die ich gefunden angewendet, oder konnte Sie einfach nicht finden, eine Antwort.
Ich haben eine riesige Datenbank befindet sich auf einem DB2 für i server, die ich bin, Zugriff mit SQL über SQLExplorer (basierend auf dem Squirrel SQL). Die Tische sind sehr schlecht dokumentiert ist und der erste Auftrag des Geschäfts ist es, herauszufinden, wie zu finden, meinen Weg um.
Ich schreiben möchte eine einfache Abfrage, die Folgendes tut:
1) mir Erlaubt das durchsuchen der gesamten Datenbank nach Tabellen enthalten eine Spalte "Bemerkungen" (enthält Feldbeschreibungen).
2) ich dann wollen, es zu suchen, dass die Spalte nach einem Schlüsselwort.
3) ich möchte eine Tabelle zurückgegeben, enthält die Namen der Tabellen enthalten ist, Schlüsselwort (nur den Namen sehe, kann ich die Tabelle alphabetisch später und hineinschauen, wenn ich muss.)
Ich brauche diese Suche die super leicht, und ich hoffe, das Konzept, das ich beschreiben werde, das zu erreichen. Alles, was frisst eine Menge Ressourcen wird wahrscheinlich Zorn der sys-admin für den server.
Nur um zu zeigen ich habe versucht (und ich bin ein absoluter noob), hier ist, was ich habe, so weit.
SELECT *
FROM <dbname>
WHERE Remarks LIKE '<keyword>'
Fühlen Sie sich frei, zu verspotten, ich sagte Ihnen, ich bin ein idiot :-).
Hilfe? Vielleicht zumindest einen Stoß in die richtige Richtung?
PS - ich kann nicht scheinen zu finden, eine Suchfunktion im SQLExplorer, wenn jemand weiß, ob ich vielleicht mit einem einfachen such-oder filter, um zu erreichen das gleiche Ziel...das wäre toll.
Danke für die Korrektur @Warren. Ich werde es im Kopf behalten geht vorwärts :-).
InformationsquelleAutor Jay Carr | 2012-12-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Abfrage des system-Katalog zu identifizieren, die die Tabellen:
Und dann Abfrage jede Tabelle einzeln:
Sehen die LIKE-Prädikat für die details der Muster-Ausdruck.
QSYS ist die system-Bibliothek (Datenbank), QADBIFLD ist die Datei (Tabelle), und DBILFL ist das Feld (Spalte) mit den Namen der Spalten.
Okay, und ich würde davon ausgehen, jede DB2-system hätte eines von diesen. Ich gebe es einen Schuss, aber ich Frage mich immer noch, warum die Tabellen nicht angezeigt, in meinem explorer... Vielleicht ist es gar nicht glaubt, dass Sie wichtig sind?
Jeden relativ aktuellen DB2/400-system haben sollte, die Tabelle. Es wahrscheinlich erscheint nicht im explorer, weil es nur zeigen Sie den Inhalt der Standard-Datenbank (oder die einer angegeben, die auf die Verbindung). Sie qualifizieren den Tabellennamen mit einer spezifischen Bibliothek, die mit der'. ' - Trennzeichen.
Ah, gefunden, wenn ich lief die Abfrage: ich bin nicht autorisiert, um zu sehen, diese Tabellen. Häufiges problem, um hier (und langwierig wenn ich bedenke, was ich alles zu tun habe...) Ist es vielleicht ein anderer Ansatz (lächerlich wie das klingt, auch für mich.) In der Zwischenzeit werde ich akzeptieren Sie die Antwort, die Sie gab, denn es sollte klar Arbeit, ich habe nicht nur Privilegien.
InformationsquelleAutor jamesallman
Normalerweise verwende ich etwas wie dieses
@JamesA, ich bin auf V6R1, von Standard, normale user sind nicht berechtigt, Objekt QADBIFLD in QSYS
Ich nur doppelt überprüft V5R4 und V7R1 und die Berechtigungen sind die gleichen, *ÖFFENTLICHE LESE-Behörde. Aber ein normaler user immer noch keinen Zugriff habe auf beiden version. Ich war mir nicht bewusst, QSYS2.SYSCOLUMNS Blick über den Tisch, aber das funktioniert nicht. Ich werde aktualisieren, meine Antwort auf diesen Blick.
Carr. Sollte dieser code funktioniert für normale Benutzer. Es sollten auch die arbeiten an V5 seit ich mit dieser Methode seit vielen Jahren.
InformationsquelleAutor lamLam
Generell, viele, wenn nicht die meisten IBM-i-Geschäften (vor allem RPG) stick zu 10 (oder weniger) Zeichen-schema-Namen & Tabelle Namen, und haben eine 10 (oder weniger) Zeichen, Namen für die 'system' - Spalte-Namen, auch wenn mehr Spaltennamen sind ebenfalls vorhanden. Spalte text beschreibt allgemein die einzelnen Felder.
InformationsquelleAutor WarrenT