| Termin | Definicja |
|---|---|
| Nieznana tabela | Nieznana tabela to błąd wynikający z odwołania do nieistniejącego obiektu lub pominięcia nazwy schematu. Co oznacza komunikat „Nieznana tabela”Komunikat „Nieznana tabela” oznacza, że silnik bazy danych nie potrafi odnaleźć tabeli wskazanej w zapytaniu lub w obiekcie zależnym od tego zapytania. Tabela jest obiektem przechowującym dane w wierszach i kolumnach. Zapytanie może odwoływać się do niej bezpośrednio, na przykład w klauzuli Przyczyną nie musi być fizyczne usunięcie tabeli. Błąd występuje także wtedy, gdy użyto innej nazwy, zmieniono wielkość liter w systemie rozróżniającym takie zapisy, połączono się z niewłaściwą bazą danych albo pominięto nazwę schematu. W wielu systemach baza może zawierać obiekty o takich samych nazwach w różnych schematach, dlatego samo określenie tabeli może być niewystarczające. Odwołanie do właściwego obiektu wymaga wówczas pełniejszej kwalifikacji nazwy. Nazwa tabeli, schemat i kontekst połączeniaJednym z częstych źródeł problemu jest różnica między nazwą tabeli zapisaną w kodzie a nazwą faktycznie istniejącą w bazie. Znaczenie mogą mieć spacje, znaki specjalne, podkreślenia, skróty oraz wielkość liter. Przykładowo tabela Schemat porządkuje obiekty wewnątrz bazy i może pełnić funkcję przestrzeni nazw. Jeżeli tabela znajduje się w schemacie innym niż domyślny, zapytanie odwołujące się wyłącznie do nazwy tabeli może zostać skierowane do niewłaściwego miejsca. W praktyce analizuje się wtedy pełną nazwę obiektu, bieżącą bazę, aktywny użytkownik połączenia oraz reguły wyszukiwania schematów. Uprawnienia również mają znaczenie: niektóre silniki ukrywają przed użytkownikiem obiekty, do których nie ma on prawa dostępu, co może wyglądać podobnie do braku tabeli. Ślady błędu w aplikacji i procesie wdrożeniaJeżeli tabela istnieje, warto prześledzić moment wystąpienia błędu. Pojawienie się komunikatu po aktualizacji programu może wskazywać na niewykonaną migrację bazy, niezgodną wersję schematu albo wdrożenie kodu przed utworzeniem wymaganych obiektów. Błąd występujący tylko po uruchomieniu konkretnej funkcji może natomiast dotyczyć widoku lub procedury, która nadal odwołuje się do starej nazwy. W logach aplikacji należy porównać treść zapytania, nazwę połączenia, identyfikator bazy oraz czas wykonania operacji. Sam komunikat aplikacji bywa skrócony, dlatego przydatny jest także kod błędu zwrócony przez konkretny silnik bazy danych. Trzeba odróżnić błąd nazwy od błędu składni, braku uprawnień, przerwanego połączenia i pustego wyniku zapytania. Pusty wynik oznacza poprawne wykonanie zapytania bez pasujących rekordów, natomiast „Nieznana tabela” oznacza problem z rozpoznaniem obiektu przed odczytem danych. Bezpieczna naprawa polega na potwierdzeniu struktury bazy, sprawdzeniu skryptów migracyjnych i dopasowaniu konfiguracji aplikacji. Nie powinno się tworzyć tabeli o przypadkowej nazwie wyłącznie po to, aby ukryć komunikat, ponieważ może to wprowadzić niespójne kolumny, błędne relacje i utratę integralności danych. Naprawa odwołania do nieistniejącego obiektuDiagnostykę rozpoczyna się od ustalenia, czy tabela została usunięta, przemianowana, utworzona w innym schemacie lub pominięta w procesie instalacji. Następnie porównuje się definicję tabeli oczekiwaną przez aplikację z rzeczywistą strukturą bazy: nazwami kolumn, kluczami, typami danych i zależnościami. Jeżeli problem wynika z migracji, należy wykonać właściwą, przeznaczoną dla tej wersji aplikacji procedurę aktualizacji i potwierdzić jej wynik w logach. W przypadku komputera użytkownika błąd może pojawić się po zmianie konfiguracji programu, przywróceniu kopii danych, aktualizacji aplikacji albo podłączeniu do innego środowiska. Wtedy sprawdza się ustawienia połączenia, dostępność lokalnej usługi bazy, zgodność wersji oraz kopię zapasową. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki może także pomóc ustalić, czy komunikat wynika z konfiguracji programu działającego na danym komputerze. |