Na pierwszy rzut oka wydaje się, że DB2 nie znajduje tej nazwy tabeli w schemacie webuser
, a schemat bieżącego podłączonego użytkownika nie pasuje do schematu tabeli. Spróbuj:
select * from webuser.table
Jeśli to się nie powiedzie, to prawdopodobnie nie istnieje w schemacie webuser
, więc spróbuj się dowiedzieć, co to schemat nie istnieje pod.
Często można znaleźć informacje dla sql error codes w IBM DB2 infocenter lub w wierszu komend DB2 UDB tak:
db2 ? SQL0100
Można patrzeć żadnego błędu w ten sposób:
db2 ? SQLnnnnn
gdzie nnnnn
jest kod błędu.
Można również często znaleźć informacje na temat kodu błędu sql z db2, wyszukując google, nie włączając w to -
, ponieważ google usuwa termin z łącznikiem przed wynikami wyszukiwania. Tak więc wyszukaj sql code 204
, a nie sql code -204
.
Zazwyczaj można znaleźć listę wszystkich tabel pod numerem sysibm.tables
lub syscat.tables
w zależności od typu systemu (z/OS lub UDB), a także w zależności od tego, czy administrator db2 ograniczył dostęp do tych katalogów tabele.
Jeśli używasz na przykład UDB, spróbuj:
select tabschema, tabname from syscat.tables
Ja zakładając oczywiście, że nie spodziewa się tabelę być nazwany table
. Myślę, że jest to ograniczone słowo w db2 lub w standardzie SQL-92.
Jeśli działa procedura składowana, która uruchamia to zapytanie, może nie być wyświetlany prawdziwy błąd zapytania. Procedury przechowywane często zwracają inny kod błędu niż zapytanie w procedurze przechowywanej, chyba że są zaprogramowane do przechwytywania i zwracania kodu sqlcode i sqlstate z samego zapytania.
Dodatkowo widzę, że otrzymujesz kod sqlcode -727 z kodem wiadomości 2.Dokumentacja, która mówi:
An error occurred during implicit system action type action-type . Information returned for the error includes SQLCODE sqlcode , SQLSTATE sqlstate and message tokens token-list .
której akcja typu wynosi 2: niejawna przygotować z pamięci podręcznej dynamicznego SQL
Ta informacja o błędzie jest mniej oczywiste i bardziej dostrojone do administratora bazy danych. Może się to okazać przydatne, ale najpierw wypróbuję inne sugestie. Może to oznaczać, że niektóre pakiety nie są powiązane z bazą danych (np. Niektóre z nich są dostępne dla sterownika sieciowego) lub że niektóre uprawnienia w bazie danych są nieprawidłowe lub pakiet poprawek nie został poprawnie zastosowany i brakuje procedur dotyczących bazy danych. Jednak może również być spowodowane przez -204 i po prostu być kolejnym błędem.