Nie można utworzyć tabeli grupowanej zakresowo w bazie danych składającej się z więcej niż jednej partycji.
Podczas tworzenia bazy danych definiowane są trzy obszary tabel, w tym obszar tabel SYSCATSPACE przeznaczony na tabele katalogu systemowego. Podczas tworzenia bazy danych ustalany jest również domyślny rozmiar strony dla wszystkich obszarów tabel. W wypadku wybrania rozmiaru strony większego niż 4096 lub 4 kB, rozmiar strony tabel katalogowych jest ograniczany do rozmiaru wiersza, który obowiązywałby, gdyby rozmiar strony w danym obszarze tabel wynosił 4 kB. Domyślny rozmiar strony dla bazy danych jest przechowywany jako parametr informacyjny konfiguracji bazy danych o nazwie pagesize.
W Dodatku B, "National language support (NLS)", w podręczniku Administration Guide: Planning, temat pod tytułem "Supported territory codes and code pages" zawiera tabele dla każdego terytorium. Dwie tabele wymagają aktualizacji:
Stronę kodową dla wiersza Linux GBK w tabeli "Chiny (ChRL), identyfikator terytorium: CN" należy zmienić z 1383 na 1386.
Wiersz ten powinien wyglądać tak:
1386 D-4 GBK 86 zh_CN.GBK Linux
Tabela dla "Japonia, identyfikator terytorium: JP" została zmieniona.
Należy usunąć następującą nazwę ustawień narodowych:
954 D-1 eucJP 81 japoński Solaris
Poniżej przedstawiono poprawioną tabelę:
Strona kodowa | Grupa | Zestaw kodowy | Kod terytorium | Ustawienia narodowe | System operacyjny |
---|---|---|---|---|---|
932 | D-1 | IBM-932 | 81 | Ja_JP | AIX |
943 | D-1 | IBM-943 | 81 | Ja_JP | AIX |
954 | D-1 | IBM-eucJP | 81 | ja_JP | AIX |
1208 | N-1 | UTF-8 | 81 | JA_JP | AIX |
930 | D-1 | IBM-930 | 81 | - | Host |
939 | D-1 | IBM-939 | 81 | - | Host |
5026 | D-1 | IBM-5026 | 81 | - | Host |
5035 | D-1 | IBM-5035 | 81 | - | Host |
1390 | D-1 | 81 | - | Host | |
1399 | D-1 | 81 | - | Host | |
954 | D-1 | eucJP | 81 | ja_JP.eucJP | HP-UX |
5039 | D-1 | SJIS | 81 | ja_JP.SJIS | HP-UX |
954 | D-1 | EUC-JP | 81 | ja_JP | Linux |
932 | D-1 | IBM-932 | 81 | - | OS/2 |
942 | D-1 | IBM-942 | 81 | - | OS/2 |
943 | D-1 | IBM-943 | 81 | - | OS/2 |
954 | D-1 | eucJP | 81 | ja | SCO |
954 | D-1 | eucJP | 81 | ja_JP | SCO |
954 | D-1 | eucJP | 81 | ja_JP.EUC | SCO |
954 | D-1 | eucJP | 81 | ja_JP.eucJP | SCO |
943 | D-1 | IBM-943 | 81 | ja_JP.PCK | Solaris |
954 | D-1 | eucJP | 81 | ja | Solaris |
1208 | N-1 | UTF-8 | 81 | ja_JP.UTF-8 | Solaris |
943 | D-1 | IBM-943 | 81 | - | Windows |
1394 | D-1 | 81 | - |
Program DB2 Universal Database (UDB) obsługuje specyfikację XA91 zdefiniowaną w dokumencie X/Open CAE Specification Distributed Transaction Processing: The XA Specification, z następującymi wyjątkami:
Specyfikacja XA umożliwia interfejsom korzystanie z usług asynchronicznych, dzięki czemu rezultaty żądania można sprawdzić w terminie późniejszym. Jednak menedżer bazy danych wymaga, aby żądania były wywoływane w trybie synchronicznym.
Interfejs XA dopuszcza dwa sposoby rejestrowania menedżera zasobów (RM): rejestrację statyczną i rejestrację dynamiczną. Program DB2 UDB obsługuje zarówno rejestrację dynamiczną, jak i statyczną. Do tego celu w programie DB2 UDB służą dwa przełączniki:
Program DB2 UDB nie obsługuje migracji transakcji pomiędzy wątkami sterowania.
Zgodnie z wymaganiami interfejsu XA menedżer bazy danych udostępnia zmienne zewnętrzne języka C db2xa_switch i db2xa_switch_static typu xa_switch_t, które umożliwiają zwrócenie struktury przełącznika XA do menedżera transakcji (TM). Oprócz adresów różnych funkcji interfejsu XA zwracane są następujące pola:
W sposób jawny deklaruje, że program DB2 UDB używa rejestracji dynamicznej i że menedżer transakcji (TM) nie powinien korzystać z migracji powiązań. Pośrednio deklaruje, że operacje asynchroniczne nie są obsługiwane.
Dla przełącznika db2xa_switch_static ustawiona jest opcja TMNOMIGRATE.
W sposób jawny deklaruje, że program DB2 UDB używa rejestracji dynamicznej i że menedżer transakcji (TM) nie powinien korzystać z migracji powiązań. Pośrednio deklaruje, że operacje asynchroniczne nie są obsługiwane.
Architektura XA wymaga, aby menedżer zasobów (RM) udostępniał przełącznik, który menedżerowi transakcji (TM) XA umożliwi dostęp do procedur xa_ menedżera zasobów. Przełącznik menedżera zasobów korzysta ze struktury o nazwie xa_switch_t. Przełącznik ten zawiera nazwę menedżera zasobów, niepuste wskaźniki do punktów wejścia interfejsu XA menedżera zasobów, opcję i numer wersji.
Przełącznik programu DB2 Universal Database (UDB) można uzyskać w jeden z poniższych sposobów:
#define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch)przed użyciem przełącznika db2xa_switch lub db2xa_switch_static.
Program DB2 UDB udostępnia funkcje API, które zwracają adres struktury przełącznika db2xa_switch lub db2xa_switch_static. Prototypem tej funkcji jest:
struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( )
W każdej z tych metod konieczne jest powiązanie aplikacji z biblioteką libdb2.
Wskaźnik do struktury przełącznika xa_switch, db2xa_switch lub db2xa_switch_static jest eksportowany jako dane DLL. Dlatego w systemie Windows NT aplikacja korzystająca z tej struktury musi odwoływać się do niej w jeden z poniższych sposobów:
#define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch)przed użyciem przełącznika db2xa_switch lub db2xa_switch_static.
extern __declspec(dllimport) struct xa_switch_t db2xa_switch extern __declspec(dllimport) struct xa_switch_t db2xa_switch_static
Program DB2 UDB udostępnia funkcję API, która zwraca adres struktury przełącznika db2xa_switch lub db2xa_switch_static. Prototypem tej funkcji jest:
struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( )
W każdej z tych metod konieczne jest powiązanie aplikacji z biblioteką db2api.lib.
Poniższy kod ilustruje różne sposoby uzyskiwania dostępu do przełącznika db2xa_switch lub db2xa_switch_static z programu w języku C na dowolnej platformie programu DB2 UDB. Należy pamiętać o powiązaniu aplikacji z odpowiednią biblioteką.
#include <stdio.h> #include <xa.h> struct xa_switch_t * SQL_API_FN db2xacic( ); #ifdef DECLSPEC_DEFN extern __declspec(dllimport) struct xa_switch_t db2xa_switch; #else #define db2xa_switch (*db2xa_switch) extern struct xa_switch_t db2xa_switch; #endif
main( ) { struct xa_switch_t *foo; printf ( "%s \n", db2xa_switch.name ); foo = db2xacic(); printf ( "%s \n", foo->name ); return ; }
Kolumna Ustawienia wewnętrzne w poniższej tabeli została zaktualizowana w celu odzwierciedlenia ustawień wątku sterowania (TOC).
TOC jest to jednostka, z którą są powiązane wszystkie połączenia XA programu DB2 UDB:
Wartość TPM | Produkt TP monitor | Ustawienia wewnętrzne |
---|---|---|
CICS | IBM TxSeries CICS |
AXLIB=libEncServer (dla systemu Windows) =/usr/lpp/encina/lib/libEncServer (dla systemów Linux i UNIX) HOLD_CURSOR=T CHAIN_END=T SUSPEND_CURSOR=F TOC=T |
ENCINA | Monitor IBM TxSeries Encina |
AXLIB=libEncServer (dla systemu Windows) =/usr/lpp/encina/lib/libEncServer (dla systemów Linux i UNIX) HOLD_CURSOR=F CHAIN_END=T SUSPEND_CURSOR=F TOC=T |
MQ | IBM MQSeries |
AXLIB=mqmax (dla systemu Windows) =/usr/mqm/lib/libmqmax_r.a (dla aplikacji wielowątkowych systemu AIX) =/usr/mqm/lib/libmqmax.a (dla aplikacji bezwątkowych systemu AIX) =/opt/mqm/lib/libmqmax.so (dla systemu Solaris) =/opt/mqm/lib/libmqmax_r.sl (dla aplikacji wielowątkowych systemu HP) =/opt/mqm/lib/libmqmax.sl (dla aplikacji bezwątkowych systemu HP) =/opt/mqm/lib/libmqmax_r.so (dla aplikacji wielowątkowych systemu Linux) =/opt/mqm/lib/libmqmax.so (dla aplikacji bezwątkowych systemu Linux) HOLD_CURSOR=F CHAIN_END=F SUSPEND_CURSOR=F TOC=P |
CB | IBM Component Broker |
AXLIB=somtrx1i (dla systemu Windows) =libsomtrx1 (dla systemów Linux i UNIX) HOLD_CURSOR=F CHAIN_END=T SUSPEND_CURSOR=F TOC=T |
SF | IBM San Francisco |
AXLIB=ibmsfDB2 HOLD_CURSOR=F CHAIN_END=T SUSPEND_CURSOR=F TOC=T |
TUXEDO | BEA Tuxedo |
AXLIB=libtux HOLD_CURSOR=F CHAIN_END=F SUSPEND_CURSOR=F TOC=T |
MTS | Microsoft Transaction Server | Nie ma potrzeby konfigurowania programu DB2 UDB dla MTS. MTS jest automatycznie wykrywany przez sterownik ODBC programu DB2 UDB. |
JTA | Java Transaction API | Nie ma potrzeby konfigurowania programu DB2 UDB dla takich serwerów Enterprise Java Servers (EJS), jak IBM WebSphere. Sterownik JDBC programu DB2 UDB automatycznie wykrywa to środowisko. W związku z tym ta wartość TPM jest ignorowana. |
Poniższa tabela zawiera listę wszystkich plików tabel konwersji stron kodowych powiązanych ze stronami kodowymi 923 i 924. Nazwa każdego pliku ma postać XXXXYYYY.cnv lub ibmZZZZZ.ucs, gdzie XXXXX to numer źródłowej strony kodowej, a YYYY to numer docelowej strony kodowej. Plik ibmZZZZZ.ucs obsługuje konwersję między stroną kodową o numerze ZZZZZ i stroną kodową Unicode.
Aby aktywować konkretną tabelę konwersji stron kodowych, należy zmienić jej nazwę lub skopiować dany plik tabeli konwersji, nadając kopii nową nazwę podaną w drugiej kolumnie.
Na przykład w celu obsługi symbolu euro podczas połączenia klienta ze stroną kodową 8859-1/15 (Latin 1/9) z bazą danych o stronie kodowej Windows 1252 należy zmienić nazwy następujących plików tabeli konwersji stron kodowych z katalogu sqllib/conv/ (lub utworzyć kopie tych plików):
Pliki tabel konwersji stron kodowych 923 i 924 w katalogu sqllib/conv/ | Nowa nazwa |
---|---|
04370923.cnv | 04370819.cnv |
08500923.cnv | 08500819.cnv |
08600923.cnv | 08600819.cnv |
08630923.cnv | 08630819.cnv |
09230437.cnv | 08190437.cnv |
09230850.cnv | 08190850.cnv |
09230860.cnv | 08190860.cnv |
09231043.cnv | 08191043.cnv |
09231051.cnv | 08191051.cnv |
09231114.cnv | 08191114.cnv |
09231252.cnv | 08191252.cnv |
09231275.cnv | 08191275.cnv |
09241252.cnv | 10471252.cnv |
10430923.cnv | 10430819.cnv |
10510923.cnv | 10510819.cnv |
11140923.cnv | 11140819.cnv |
12520923.cnv | 12520819.cnv |
12750923.cnv | 12750819.cnv |
ibm00923.ucs | ibm00819.ucs |
Poniższe tabele zawierają listę tabel konwersji rozszerzonych o obsługę symbolu waluty euro. Aby wyłączyć obsługę symbolu euro, należy pobrać plik tabeli konwersji, którego nazwę zamieszczono w kolumnie "Pliki tabel konwersji".
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
864, 17248 | 1046, 9238 | 08641046.cnv, 10460864.cnv, IBM00864.ucs |
864, 17248 | 1256, 5352 | 08641256.cnv, 12560864.cnv, IBM00864.ucs |
864, 17248 | 1200, 1208, 13488, 17584 | IBM00864.ucs |
1046, 9238 | 864, 17248 | 10460864.cnv, 08641046.cnv, IBM01046.ucs |
1046, 9238 | 1089 | 10461089.cnv, 10891046.cnv, IBM01046.ucs |
1046, 9238 | 1256, 5352 | 10461256.cnv, 12561046.cnv, IBM01046.ucs |
1046, 9238 | 1200, 1208, 13488, 17584 | IBM01046.ucs |
1089 | 1046, 9238 | 10891046.cnv, 10461089.cnv |
1256, 5352 | 864, 17248 | 12560864.cnv, 08641256.cnv, IBM01256.ucs |
1256, 5352 | 1046, 9238 | 12561046.cnv, 10461256.cnv, IBM01256.ucs |
1256, 5352 | 1200, 1208, 13488, 17584 | IBM01256.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
921, 901 | 1257 | 09211257.cnv, 12570921.cnv, IBM00921.ucs |
921, 901 | 1200, 1208, 13488, 17584 | IBM00921.ucs |
1257, 5353 | 921, 901 | 12570921.cnv, 09211257.cnv, IBM01257.ucs |
1257, 5353 | 922, 902 | 12570922.cnv, 09221257.cnv, IBM01257.ucs |
1257, 5353 | 1200, 1208, 13488, 17584 | IBM01257.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
1131, 849 | 1251, 5347 | 11311251.cnv, 12511131.cnv |
1131, 849 | 1283 | 11311283.cnv |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
855, 872 | 866, 808 | 08550866.cnv, 08660855.cnv |
855, 872 | 1251, 5347 | 08551251.cnv, 12510855.cnv |
866, 808 | 855, 872 | 08660855.cnv, 08550866.cnv |
866, 808 | 1251, 5347 | 08661251.cnv, 12510866.cnv |
1251, 5347 | 855, 872 | 12510855.cnv, 08551251.cnv, IBM01251.ucs |
1251, 5347 | 866, 808 | 12510866.cnv, 08661251.cnv, IBM01251.ucs |
1251, 5347 | 1124 | 12511124.cnv, 11241251.cnv, IBM01251.ucs |
1251, 5347 | 1125, 848 | 12511125.cnv, 11251251.cnv, IBM01251.ucs |
1251, 5347 | 1131, 849 | 12511131.cnv, 11311251.cnv, IBM01251.ucs |
1251, 5347 | 1200, 1208, 13488, 17584 | IBM01251.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
922, 902 | 1257 | 09221257.cnv, 12570922.cnv, IBM00922.ucs |
922, 902 | 1200, 1208, 13488, 17584 | IBM00922.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
813, 4909 | 869, 9061 | 08130869.cnv, 08690813.cnv, IBM00813.ucs |
813, 4909 | 1253, 5349 | 08131253.cnv, 12530813.cnv, IBM00813.ucs |
813, 4909 | 1200, 1208, 13488, 17584 | IBM00813.ucs |
869, 9061 | 813, 4909 | 08690813.cnv, 08130869.cnv |
869, 9061 | 1253, 5349 | 08691253.cnv, 12530869.cnv |
1253, 5349 | 813, 4909 | 12530813.cnv, 08131253.cnv, IBM01253.ucs |
1253, 5349 | 869, 9061 | 12530869.cnv, 08691253.cnv, IBM01253.ucs |
1253, 5349 | 1200, 1208, 13488, 17584 | IBM01253.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
856, 9048 | 862, 867 | 08560862.cnv, 08620856.cnv, IBM0856.ucs |
856, 9048 | 916 | 08560916.cnv, 09160856.cnv, IBM0856.ucs |
856, 9048 | 1255, 5351 | 08561255.cnv, 12550856.cnv, IBM0856.ucs |
856, 9048 | 1200, 1208, 13488, 17584 | IBM0856.ucs |
862, 867 | 856, 9048 | 08620856.cnv, 08560862.cnv, IBM00862.ucs |
862, 867 | 916 | 08620916.cnv, 09160862.cnv, IBM00862.ucs |
862, 867 | 1255, 5351 | 08621255.cnv, 12550862.cnv, IBM00862.ucs |
862, 867 | 1200, 1208, 13488, 17584 | IBM00862.ucs |
916 | 856, 9048 | 09160856.cnv, 08560916.cnv |
916 | 862, 867 | 09160862.cnv, 08620916.cnv |
1255, 5351 | 856, 9048 | 12550856.cnv, 08561255.cnv, IBM01255.ucs |
1255, 5351 | 862, 867 | 12550862.cnv, 08621255.cnv, IBM01255.ucs |
1255, 5351 | 1200, 1208, 13488, 17584 | IBM01255.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
437 | 850, 858 | 04370850.cnv, 08500437.cnv |
850, 858 | 437 | 08500437.cnv, 04370850.cnv |
850, 858 | 860 | 08500860.cnv, 08600850.cnv |
850, 858 | 1114, 5210 | 08501114.cnv, 11140850.cnv |
850, 858 | 1275 | 08501275.cnv, 12750850.cnv |
860 | 850, 858 | 08600850.cnv, 08500860.cnv |
1275 | 850, 858 | 12750850.cnv, 08501275.cnv |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
852, 9044 | 1250, 5346 | 08521250.cnv, 12500852.cnv |
1250, 5346 | 852, 9044 | 12500852.cnv, 08521250.cnv, IBM01250.ucs |
1250, 5346 | 1200, 1208, 13488, 17584 | IBM01250.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
837, 935, 1388 | 1200, 1208, 13488, 17584 | 1388ucs2.cnv |
1386 | 1200, 1208, 13488, 17584 | 1386ucs2.cnv, ucs21386.cnv |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
937, 835, 1371 | 950, 1370 | 09370950.cnv, 0937ucs2.cnv |
937, 835, 1371 | 1200, 1208, 13488, 17584 | 0937ucs2.cnv |
1114, 5210 | 850, 858 | 11140850.cnv, 08501114.cnv |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
874, 1161 | 1200, 1208, 13488, 17584 | IBM00874.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
857, 9049 | 1254, 5350 | 08571254.cnv, 12540857.cnv |
1254, 5350 | 857, 9049 | 12540857.cnv, 08571254.cnv, IBM01254.ucs |
1254, 5350 | 1200, 1208, 13488, 17584 | IBM01254.ucs |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
1124 | 1251, 5347 | 11241251.cnv, 12511124.cnv |
1125, 848 | 1251, 5347 | 11251251.cnv, 12511125.cnv |
Identyfikatory CCSID/CPGID serwera bazy danych | Identyfikatory CCSID/CPGID klienta bazy danych | Pliki tabel konwersji |
---|---|---|
1200, 1208, 13488, 17584 | 813, 4909 | IBM00813.ucs |
1200, 1208, 13488, 17584 | 862, 867 | IBM00862.ucs |
1200, 1208, 13488, 17584 | 864, 17248 | IBM00864.ucs |
1200, 1208, 13488, 17584 | 874, 1161 | IBM00874.ucs |
1200, 1208, 13488, 17584 | 921, 901 | IBM00921.ucs |
1200, 1208, 13488, 17584 | 922, 902 | IBM00922.ucs |
1200, 1208, 13488, 17584 | 1046, 9238 | IBM01046.ucs |
1200, 1208, 13488, 17584 | 1250, 5346 | IBM01250.ucs |
1200, 1208, 13488, 17584 | 1251, 5347 | IBM01251.ucs |
1200, 1208, 13488, 17584 | 1253, 5349 | IBM01253.ucs |
1200, 1208, 13488, 17584 | 1254, 5350 | IBM01254.ucs |
1200, 1208, 13488, 17584 | 1255, 5351 | IBM01255.ucs |
1200, 1208, 13488, 17584 | 1256, 5352 | IBM01256.ucs |
1200, 1208, 13488, 17584 | 1386 | ucs21386.cnv, 1386ucs2.cnv |