Witajcie po dłuższej przerwie.
Jakiś czas temu prowadziłem szkolenie w firmie i z jakiegoś powodu nie chciały nam się wyświetlać się wszystkie tabele z ich bazy danych.
Na początku myślałem, że to kwestia uprawnień ale okazało się, że użytkownicy mają prawa do odczytu wszystkich tabel a problem wynika z czegoś innego...
Okazało się, że winowajcą jest sam Crystal Reports, który ma ustawiony limit(!) na ilość obiektów pobieranych elementów ze struktury bazy danych, czyli tabel, widoków i procedur składowanych razem wziętych. Domyślnie jest to 8000.
Większość baz danych nie przekracza tego limitu, więc możecie spać spokojnie, ale przy większym systemie może nadejść koszmar, który zerwie Was na równe nogi.
Pamiętajcie wówczas o moim blogu - ten limit można zmienić (w praktyce podwyższyć).
Niestety nie ma do tego opcji w Crystal Reports, trzeba pogrzebać w rejestrach windows:
Przyznaję, że sam na to nie wpadłem, lecz znalazłem dokument w bazie wiedzy:
1215994 - Unable to see all database Tables, Views or Stored Procedures in Crystal Reports
Przy okazji kompletna lista rejestrów Crystal Reports jest opisana w dokumencie:
2165260 - List of Registry Keys used in Crystal Reports *** Master KBA
Na koniec ważna wskazówka - gdy będziecie zmieniać wartość limitu, upewnijcie się, że Crystal Reports jest zamknięty. W przeciwnym razie podczas wychodzenia z aplikacji, Crystal nadpisze Wam ten limit z powrotem na 8000.
Jakiś czas temu prowadziłem szkolenie w firmie i z jakiegoś powodu nie chciały nam się wyświetlać się wszystkie tabele z ich bazy danych.
Na początku myślałem, że to kwestia uprawnień ale okazało się, że użytkownicy mają prawa do odczytu wszystkich tabel a problem wynika z czegoś innego...
Okazało się, że winowajcą jest sam Crystal Reports, który ma ustawiony limit(!) na ilość obiektów pobieranych elementów ze struktury bazy danych, czyli tabel, widoków i procedur składowanych razem wziętych. Domyślnie jest to 8000.
Większość baz danych nie przekracza tego limitu, więc możecie spać spokojnie, ale przy większym systemie może nadejść koszmar, który zerwie Was na równe nogi.
Pamiętajcie wówczas o moim blogu - ten limit można zmienić (w praktyce podwyższyć).
Niestety nie ma do tego opcji w Crystal Reports, trzeba pogrzebać w rejestrach windows:
- Zamykamy Crystal Reports
- Uruchamiamy aplikację Edytor rejestru, z linii poleceń: regedit
- Odnajdziemy klucz w rejestrze: HKEY_CURRENT_USER\Software\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\FetchOptions
- W kluczu NTablesMax ustawiamy własny limit, np. 20000
- Uruchamiamy ponownie Crystal Reports i cieszymy się widokiem wszystkich tabel :)
Od tej pory możecie spać spokojnie :)
Przyznaję, że sam na to nie wpadłem, lecz znalazłem dokument w bazie wiedzy:
1215994 - Unable to see all database Tables, Views or Stored Procedures in Crystal Reports
Przy okazji kompletna lista rejestrów Crystal Reports jest opisana w dokumencie:
2165260 - List of Registry Keys used in Crystal Reports *** Master KBA
Na koniec ważna wskazówka - gdy będziecie zmieniać wartość limitu, upewnijcie się, że Crystal Reports jest zamknięty. W przeciwnym razie podczas wychodzenia z aplikacji, Crystal nadpisze Wam ten limit z powrotem na 8000.
Mam nadzieję, że ten artykuł pomoże choć jednej zrozpaczonej osobie, która szuka swojej ulubionej tabeli :)
Komentarze
Mam w planach opracowanie artykułu na temat konteneryzacji Crystal Reports w środowisku docker.