Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 1
  • 102

DB2 zapisuje w swoim katalogu pakiety ze skompilowanymi instrukcjami SQL wraz z planami ich wykonania. Zawartość tych pakietów ma postać binarną.

Jak w temacie

 

  • Zapytał
  • @ | 07.03.2015
  • TRENER MODERATOR ALTKOM AKADEMII

Odpowiedź (1)

  • 0

Pakiety są generowane w trakcie kompilacji (BIND) plików ze statycznymi instrukcjami SQL, które są wyodrębnione z programu źródłowego aplikacji przez prekompilator (PREP).
Jeśli dysponujemy kodem źródłowym programu można je odczytać z tego kodu. Jeśli nie dysponujemy kodem źródłowym lub nie jesteśmy pewni jego aktualności, to można je odczytać z tabel systemowych DB2.
Kompilator DB2 przygotowując i zapisując pakiet tworzy odpowiednie zapisy w katalogu DB2, które możemy odczytać przez widoki:
- SYSCAT.PACKAGES
- SYSCAT.PACKAGEDEP
- SYSCAT.PACKAGEAUTH
- SYSCAT.STATEMENTS
Ten ostatni widok (SYSCAT.STATEMENTS) pozwala na odczytanie jawnej (tekstowej) postaci instrukcji SQL zawartych w wybranym pakiecie.


db2 "SELECT pkgschema, pkgname, text FROM syscat.statements WHERE pkgschema='<nazwa_schematu>' AND pkgname='<nazwa_pakietu>'"

Treść instrukcji SQL jest podana w kolumnie TEXT.
Uwaga, kolumna TEXT jest typu CLOB(2M).

 

  • Odpowiedział
  • @ | 07.03.2015
  • TRENER MODERATOR ALTKOM AKADEMII