2010-05-04 14 views
18

Jest to krępujące, ale nie mogę znaleźć sposobu na podanie nazw tabel w naszej bazie danych DB2. Oto, co starałem:wyświetlają wszystkie tabele w DB2 za pomocą polecenia LISTA

[email protected]:~# su - db2inst1 
[email protected]:~# . ~db2inst1/sqllib/db2profile 
[email protected]:~# LIST ACTIVE DATABASES

Otrzymujemy ten błąd: numer wersji SQL1092N "ROOT" does not have the authority to perform the requested command or operation.

DB2 następuje.

[email protected]:~# db2level 
DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09071" 
with level identifier "08020107". 
Informational tokens are "DB2 v9.7.0.1", "s091114", "IP23034", and Fix Pack 
"1". 
Product is installed at "/opt/db2V9.7".
+1

Czy nie powinno brzmieć "db2inst1 @ VO11555" od linii drugiej? –

Odpowiedz

27

Aby uzyskać listę stoły dla bieżącej bazy danych w DB2 ->

połączyć z bazą danych:

db2 connect to DATABASENAME user USER using PASSWORD 

Run to zapytanie:

db2 LIST TABLES 

Jest to odpowiednik show tabel w MySQL.

Przed uruchomieniem polecenia list list może być konieczne wykonanie "ustawionej schematu schematu" do poprawnego schematu. Domyślnie po zalogowaniu twój schemat jest taki sam, jak nazwa użytkownika - która często nie zawiera żadnych tabel. Możesz użyć "wartości aktualnego schematu", aby sprawdzić, który schemat jest obecnie ustawiony.

+0

Dzięki za polecenie. Jestem nowy w używaniu środowiska IBM DB2 Express-C, które zbudowałem na mojej maszynie VL pod klucz. –

+4

Powinieneś także spróbować uruchomić 'LAB TABLES DLA WSZYSTKICH ', jeśli niektóre tabele są w różnych schematach. –

15
select * from syscat.tables where type = 'T' 

może chcesz ograniczyć zapytanie do tabschema

0

masz zainstalowany db2inst2 użytkownika, myślę, pamiętam, że db2inst1 jest bardzo administracyjna

2

Uruchom ten wiersz polecenia na preferowanym sesji powłoki:

db2 "select tabname from syscat.tables where owner = 'DB2INST1'" 

Może chcesz zmodyfikować nazwę właściciela, i trzeba sprawdzić listę obecnych właścicieli?

db2 "select distinct owner from syscat.tables" 
18

Połącz się z bazą danych:

db2 connect to <database-name> 

Lista wszystkich tabel:

db2 list tables for all 

Aby wyświetlić listę wszystkich tabel w wybranym schemacie zastosowanie:

db2 list tables for schema <schema-name> 

do opisania stół, typ:

db2 describe table <table-schema.table-name> 

kredytowej http://onewebsql.com/blog/list-all-tables

+0

bardzo przydatne, dzięki – Dorgham

2

Używam db2 7.1 i wiewiórki. To jest jedyne zapytanie, które zadziałało dla mnie.

select * from SYSIBM.tables where table_schema = 'my_schema' and table_type = 'BASE TABLE'; 
Powiązane problemy