DB2 Server for VSE: System Administration


Considerations when changing default CHARNAME and CCSID

If you are not using the default CHARNAME or CCSID during installation or migration, ensure you consider the following activities:

  1. Choosing default CHARNAME and CCSID for the application server

    Note:Refer to CCSID Conversion and Determining CCSID Values for more information on CCSIDs.

  2. Setting migration CCSID values
  3. Optionally, choosing application server default character subtype
  4. Optionally, setting the DBCS option for the application server
Note:To understand the effect of DBCS options, refer to Using Double-Byte Character Set (DBCS).

Changing from pre-Euro CHARNAME to Euro-compatible CHARNAME

DB2 Server for VSE & VM supports several code pages that are identical to existing code pages except that they include the Euro currency symbol rather than the International currency symbol (¤). If you choose to use a CHARNAME that corresponds to a CCSID for a code page that includes the Euro currency symbol, it is recommended that your existing character data that is currently tagged with a non-Euro CCSID be re-tagged with the corresponding Euro-compatible CCSID. These steps should only be used when changing your CCSID to the corresponding Euro-compatible CCSID as described in the following table:

Table 17. Non-Euro and Corresponding Euro-compatible CHARNAMEs and CCSIDs
From CCSID From CHARNAME To CCSID To CHARNAME
37 English 1140 E-English
277 Danish-Norweigan 1142 EDanish-Norweigan
278 Finnish-Swedish 1143 EFinnish-Swedish
284 Spanish 1145 E-Spanish
285 UK-English 1146 E-UK-English
297 French 1147 E-French
500 International 1148 E-International
273 German 1141 E-German
280 Italian 1144 E-Italian

Step 1: This step will locate character data that currently represents the International currency symbol (¤). The Euro-compatible code pages have replaced the International currecy symbol with the Euro symbol. If your database does not contain character data that represents the International currency symbol, you can skip this step. If your data does contain character data that represents the International currency symbol, you must decide how to handle this. You can either skip this step, in which case character data that currently represents the International currency symbol will be interpreted as the Euro symbol once the CCSID is changed, or, you can change the character data that currently represents the International currency symbol to some other value. The following SELECT statement will locate columns that are tagged with the non-Euro compatible CCSID.

SELECT CNAME,TNAME,CREATOR FROM SYSTEM.SYSCOLUMNS WHERE CCSID=current_ccsid

For each column found, run the following SELECT statement:

SELECT * FROM creater.tname WHERE cname LIKE'%cur_symbol%'
Note:If your keyboard cannot generate the International currency symbol, replace cur_symbol with the hex value X'9F'. In order to do this, you will have to use an editor that allows hexadecimal characters to be entered.

This command will show you all the rows for column cname that include the International currency symbol. You can now decide the appropriate value to change the International currency symbol to for each row.

Step 2: Re-tag existing character data with the new Euro-compatible CCSID. This step uses the JCL job ARISCSID, which is provided by DB2 Server for VSE & VM.

  1. Shut down the database server.
  2. If you use any database initialization parameters that must be specified when the database manager is started in single user mode, specify them in ARISCSID. Do not delete any parameters that are currently listed.
  3. Make any changes to ARISCSID that are necessary for your local installation.
  4. Submit ARISCSID for execution.
  5. Start the database server using your normal procedures.

Figure 95. ARICCSID - Sample JCL

// JOB ARICCSID   UPDATE CCSID COLUMN OF SYSCOLUMNS
// LIBDEF PROC,SEARCH=(PRD2.DB2710)
// EXEC PROC=ARIS71PL     *-- DB2/VSE PROD. LIBRARY ID PROC
// EXEC PROC=ARIS71DB     *-- DB2/VSE DATABASE ID PROC
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,PROGNAME=ARIDBS,SERVAIDS=0000001'
COMMENT ' Do NOT alter the line above in any way ! '
COMMENT 'Replace "sqldbapw" with the password for the SQLDBA SQL user ID'
CONNECT SQLDBA IDENTIFIED BY sqldbapw;
COMMENT 'Replace "euro-ccsid" with the CCSID of the                 '
COMMENT 'Euro-compatible CHARNAME and replace "current_ccsid with'
COMMENT 'the CCSID of your current CHARNAME                         '
UPDATE SYSTEM.SYSCOLUMNS SET CCSID=euro-ccsid WHERE CCSID=current_ccsid;
COMMIT WORK;
/*
/&


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]