ª©¦¸ª`·N¨Æ¶µ IBM(R) DB2(R) Universal Database ª©¦¸ª`·N¨Æ¶µ ª©¥» 7.2 / ª©¥» 7.1 FixPak 3 (C) Copyright International Business Machines Corporation 2000, 2001. All rights reserved. Note to U.S. government Users -- Documentation related ... ------------------------------------------------------------------------ ¥Ø¿ý * ¥Ø¿ý * Åwªï¨Ï¥Î DB2 Universal Database ª©¥» 7¡I ------------------------------------------------------------------------ ¯S§O»Ýª¾ * ¯S§O»Ýª¾ o 1.1 DB2 UDB ª©¥» 7 ªº¦s¨ú¯S©Ê + 1.1.1 Áä½L¤§¿é¤J©M¾É¤Þ + 1.1.1.1 Áä½L¿é¤J + 1.1.1.2 Áä½LµJÂI + 1.1.2 ¤è«KÅã¥Ü¯S©Ê + 1.1.2.1 ©úÅã¹ï·Ó¼Ò¦¡ + 1.1.2.2 ¦r«¬³]©w­È + 1.1.2.3 µLÃöÃC¦â + 1.1.3 ¿ï¾Ü¦¡Äµ§i´£¥Ü + 1.1.4 ¤ä´©§Þ³Nªº¬Û®e©Ê + 1.1.5 ¥i¦s¨úªº¤å¥ó o 1.2 ªþ¥[ªº¥²­n Solaris ­×¸É¼h¦¸ o 1.3 Supported CPUs on DB2 Version 7 for Solaris o 1.4 ·s¼W¸`ÂI¦Ü¤À³Î¸ê®Æ®wªº°ÝÃD o 1.5 ²¾Âà´Á¶¡µo¥Íªº¿ù»~ o 1.6 Red Flag Linux ªº¤¤¤å»y¨¥Àô¹Ò­×¥¿µ{¦¡ o 1.7 ¦pªG¥i²¾°£¦¡ºÏºÐ¾÷¥¼³s±µ¡A«h DB2 ¦w¸Ë·|¤¤Â_ o 1.8 ¤é¤å©M²Å餤¤å Linux Àô¹Ò¤§ DB2 for Linux ªºªþ¥[»y¨¥Àô¹Ò³]©w o 1.9 Microsoft Internet Explorer ¤Wªº±±¨î¤¤¤ß°ÝÃD o 1.10 ¦b Windows Àô¹Ò¤¤¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤Î Sybase ¤§¶¡ªº¤£¬Û®e o 1.11 ±±¨î¤¤¤ß¥\¯à¬y¥¢ o 1.12 Netscape CD ¤£ÀHªþ©ó DB2 UDB o 1.13 XML Readme Àɪº¿ù»~ o 1.14 Linux for S/390 ¤W¥i¯àªº¸ê®Æ¬y¥¢ o 1.15 Windows 2000 ¤Wªº DB2 UDB * ½u¤W¤å¥ó (HTML¡BPDF »P¡u·j´M¡v) o 2.1 Windows 2000 §@·~¨t²Î©Ò¤ä´©ªº Web ÂsÄý¾¹ o 2.2 ¦b Solaris ¨t²Î¤U·j´M DB2 ³s½u¸ê°T o 2.3 ¤Á´« NetQuestion for OS/2 ¥H¨Ï¥Î TCP/IP o 2.4 ±Ò°Ê Netscape ®É²£¥Íªº¿ù»~°T®§ o 2.5 UNIX ¨t²Î¤W Adobe Acrobat Reader ªº¬[ºc»Ý¨D o 2.6 SQL Reference ¶È´£¨Ñ¤@­Ó PDF ÀÉ ------------------------------------------------------------------------ ¦w¸Ë»P¬[ºc * ¤@¯ë¦w¸Ë¸ê°T o 3.1 ¤U¸ü©Ò¦³¤ä´©ªº DB2 ±qÄݯ¸ªº¦w¸Ë®M¥ó o 3.2 ¦b Windows 2000 ¤W¦w¸Ë DB2 o 3.3 Ãö©ó·§²¤ªí¥H¯S§O¼È¦s°Ï©w¸qªº²¾Âà°ÝÃD o 3.4 Windows 2000 ªº IPX/SPX ³q«H¨ó©w¤ä´© o 3.5 ¤É¯Å DB2 «e¤@ª©¤§«e¥ý°±¤î DB2 µ{§Ç o 3.6 ­Y¤w¦w¸Ë¨ä¥¦ DB2 ²£«~¡A½Ð¦b¦w¸Ë DB2 ¤§«á°õ¦æ db2iupdt o 3.7 ³]©w Linux Àô¹Ò¥H°õ¦æ DB2 ±±¨î¤¤¤ß o 3.8 DB2 Universal Database Enterprise Edition ¤Î DB2 Connect Enterprise Edition for Linux on S/390 o 3.9 DB2 Universal Database Enterprise - Extended Edition for UNIX §Ö³t¤Jªù o 3.10 HP-UX ªº shmseg ®Ö¤ß°Ñ¼Æ o 3.11 ²¾Âà IBM Visual ­ÜÀx±±¨î¸ê®Æ®w o 3.12 ¦s¨ú­ÜÀx±±¨î¸ê®Æ®w * DB2 Data Links Manager §Ö³t¤Jªù o 4.1 Dlfm ªº±Ò°Ê¥¢±Ñ°T®§¡G¨ú±o afsfid ¦r­º®Éµo¥Í¿ù»~ o 4.2 ³]©w³Æ¥÷«O¦sÀɪº Tivoli Storage Manager Ãþ§O o 4.3 DFS ±qÄݯ¸±Ò°Êµ{¦¡ªººÏºÐªÅ¶¡»Ý¨D o 4.4 ºÊ·þ¦b AIX ªº¸ê®ÆÃìµ²Àɮ׺޲zµ{¦¡«áºÝµ{§Ç o 4.5 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G DCE-DFS Àô¹Ò¸Ìªº ÃB¥~¦w¸Ëª`·N¨Æ¶µ o 4.6 ¥¢±Ñªº "dlfm add_prefix" «ü¥O o 4.7 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G ¨Ï¥Î db2setup ¤½ ¥Îµ{¦¡¦b AIX ¤W¦w¸Ë DB2 Data Links Manager o 4.8 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡GDCE-DFS «á¸m¦w¸Ë§@ ·~ o 4.9 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G ¨Ï¥Î Smit ¨Ó¤â°Ê ¦w¸Ë DB2 Data Links Manager o 4.10 ¦w¸Ë©M¬[ºc DB2 Data Links ªº DFS ±qÄݯ¸±Ò°Êµ{¦¡ o 4.11 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for Solaris o 4.12 °w¹ï AIX ¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤èªk o 4.13 °w¹ï Solaris §@·~Àô¹Ò¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤è ªk o 4.14 °w¹ï Windows NT ¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤èªk o 4.15 ³Æ¥÷ AIX ¤Wªº°O¿ýÀɮרt²Î o 4.16 ¦b Windows NT ¤W¸ê®ÆÃìµ²¤¤ªº Administrator ¸s²Õ±M¥ÎÅv o 4.17 ±N Data Links File System Filter (DLFF) ¦w¸Ëªº°O¸ü´î¨ì³Ì¤Ö + 4.17.1 ¦b¦w¸Ë«á°O¸ü°T®§ o 4.18 ¨Ï¥Î SMIT ¸Ñ°£¦w¸Ë DLFM ¤¸¥ó¥i¯à·|°£¥hÃB¥~ªºÀɮ׶° o 4.19 ¶}©l¤§«e/¨M©w¥D¹q¸£¦WºÙ o 4.20 ¨Ï¥Î DLFM¡G±q DB2 ¸ê®Æ®w±Ë±ó DB2 Data Links Manager «áªº²M°£ °Ê§@ o 4.21 DLFM1001E (·sªº¿ù»~°T®§) o 4.22 DLFM ³]©w¬[ºcÀɿﶵ o 4.23 ¦b AIX ¤W°õ¦æ Data Links/DFS Script dmapp_prestart ®Éµo¥Í¿ù »~ o 4.24 Tivoli Space Manager »P Data Links ¾ã¦X + 4.24.1 ¥\¯à­­¨î o 4.25 ²Ä 4 ³¹ ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX + 4.25.1 ¤@¯ë¦w¸Ëª`·N¨Æ¶µ + 4.25.1.1 ±q DB2 File Manager ª©¥» 5.2 ²¾Âà¨ì DB2 Data Links Manager ª©¥» 7 * ¦w¸Ë»P¬[ºc¸É¥R¸ê®Æ o 5.1 ²Ä 5 ³¹ ¦b UNIX §@·~¨t²Î¤W¦w¸Ë DB2 ±qÄݯ¸ + 5.1.1 HP-UX ®Ö¤ßµ{¦¡¬[ºc°Ñ¼Æ o 5.2 ²Ä 12 ³¹ °õ¦æ±z¦Û¤vªºÀ³¥Îµ{¦¡ + 5.2.1 ¨Ï¥Î Run-Time Client ³sµ²¸ê®Æ®w¤½¥Îµ{¦¡ + 5.2.2 UNIX ±qÄݯ¸¨Ï¥Î ODBC ¦s¨ú DB2 o 5.3 ²Ä 24 ³¹ ³]¸mÁp¦X¨t²Î¨Ó¦s¨ú¦h­«¸ê®Æ¨Ó·½ + 5.3.1 Áp¦X¨t²Î + 5.3.1.1 ­­¨î + 5.3.2 ¦w¸Ë DB2 Relational Connect + 5.3.2.1 ¦b Windows NT ¦øªA¾¹¤W¦w¸Ë DB2 Relational Connect + 5.3.2.2 ¦b AIX¡BLinux ¤Î Solaris §@·~Àô¹Ò¦øªA¾¹¤W¦w¸Ë DB2 Relational Connect o 5.4 ²Ä 26 ³¹ ¦s¨ú Oracle ¸ê®Æ¨Ó·½ + 5.4.1 ¤å¥ó¿ù»~ o 5.5 ¦s¨ú Sybase ¸ê®Æ¨Ó·½ (·s¼W³¹¸`) + 5.5.1 ·s¼W Sybase ¸ê®Æ¨Ó·½¦ÜÁp¦X¦øªA¾¹ + 5.5.1.1 ¨BÆJ 1¡G³]©wÀô¹ÒÅܼƨçó·s³]©wÀɵn¿ý + 5.5.1.2 ¨BÆJ 2¡G±N DB2 Ãìµ²¦Ü Sybase ±qÄݯ¸³nÅé (¶È AIX »P Solaris) + 5.5.1.3 ¨BÆJ 3¡G­«·s¨Ï¥Î DB2 ®×¨Ò + 5.5.1.4 ¨BÆJ 4¡G«Ø¥ß¨Ã³]©w¤¶­±ÀÉ®× + 5.5.1.5 ¨BÆJ 5¡G«Ø¥ß¥~¼h + 5.5.1.6 ¨BÆJ 6¡G¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅÜ¼Æ + 5.5.1.7 ¨BÆJ 7¡G«Ø¥ß¦øªA¾¹ + 5.5.1.8 ¿ï¥Îªº¡G¨BÆJ 8¡G³]©w CONNECTSTRING ¦øªA¾¹¿ï¶µ + 5.5.1.9 ¨BÆJ 9¡G«Ø¥ß¨Ï¥ÎªÌ¹ï¬M + 5.5.1.10 ¨BÆJ 10¡G«Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W + 5.5.2 «ü©w Sybase ¦r½X­¶ o 5.6 ¨Ï¥Î ODBC ¦s¨ú Microsoft SQL Server ¸ê®Æ¨Ó·½ (·s¼W³¹¸`) + 5.6.1 ·s¼W Microsoft SQL Server ¸ê®Æ¨Ó·½¦ÜÁp¦X¦øªA¾¹ + 5.6.1.1 ¨BÆJ 1¡G³]©wÀô¹ÒÅÜ¼Æ (¶È AIX) + 5.6.1.2 ¨BÆJ 2¡G°õ¦æ Shell Script (¶È AIX) + 5.6.1.3 ¨BÆJ 3¡G¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅÜ¼Æ + 5.6.1.4 ¨BÆJ 4¡G­«·s¨Ï¥Î DB2 ®×¨Ò (¶È AIX) + 5.6.1.5 ¨BÆJ 5¡G«Ø¥ß¥~¼h + 5.6.1.6 ¨BÆJ 6¡G«Ø¥ß¦øªA¾¹ + 5.6.1.7 ¨BÆJ 7¡G«Ø¥ß¨Ï¥ÎªÌ¹ï¬M + 5.6.1.8 ¨BÆJ 8¡G«Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W + 5.6.1.9 ¨BÆJ 9¡G¿ï¥Îªº¡GÀò±o ODBC °lÂÜ + 5.6.2 ½Æ¬d Microsoft SQL Server ¦r½X­¶ ------------------------------------------------------------------------ ºÞ²z * Administration Guide: Planning (µL¤¤¤åª©) o 6.1 Chapter 8. Physical Database Design + 6.1.1 Partitioning Keys o 6.2 Designing Nodegroups o 6.3 Chapter 9. Designing Distributed Databases + 6.3.1 Updating Multiple Databases o 6.4 Chapter 13. High Availability in the Windows NT Environment + 6.4.1 Need to Reboot the Machine Before Running DB2MSCS Utility o 6.5 Chapter 14. DB2 and High Availability on Sun Cluster 2.2 o 6.6 Veritas Support on Solaris o 6.7 Appendix B. Naming Rules + 6.7.1 Notes on Greater Than 8-Character User IDs and Schema Names + 6.7.2 User IDs and Passwords o 6.8 Appendix D. Incompatibilities Between Releases + 6.8.1 Windows NT DLFS Incompatible with Norton's Utilities + 6.8.2 SET CONSTRAINTS Replaced by SET INTEGRITY o 6.9 Appendix E. National Language Support + 6.9.1 National Language Versions of DB2 Version 7 + 6.9.1.1 Control Center and Documentation Filesets + 6.9.2 Locale Setting for the DB2 Administration Server + 6.9.3 DB2 UDB Supports the Baltic Rim Code Page (MS-1257) on Windows Platforms + 6.9.4 Deriving Code Page Values + 6.9.5 Country Code and Code Page Support + 6.9.6 Character Sets * Administration Guide: Implementation(µL¤¤¤åª©) o 7.1 Adding or Extending DMS Containers (New Process) o 7.2 Chapter 1. Administering DB2 using GUI Tools o 7.3 Chapter 3. Creating a Database + 7.3.1 Creating a Table Space + 7.3.1.1 Using Raw I/O on Linux + 7.3.2 Creating a Sequence + 7.3.3 Comparing IDENTITY Columns and Sequences + 7.3.4 Creating an Index, Index Extension, or an Index Specification o 7.4 Chapter 4. Altering a Database + 7.4.1 Adding a Container to an SMS Table Space on a Partition + 7.4.2 Altering an Identity Column + 7.4.3 Altering a Sequence + 7.4.4 Dropping a Sequence + 7.4.5 Switching the State of a Table Space + 7.4.6 Modifying Containers in a DMS Table Space o 7.5 Chapter 5. Controlling Database Access + 7.5.1 Sequence Privileges + 7.5.2 Data Encryption o 7.6 Chapter 8. Recovering a Database + 7.6.1 How to Use Suspended I/O + 7.6.2 Incremental Backup and Recovery + 7.6.2.1 Restoring from Incremental Backup Images + 7.6.3 Parallel Recovery + 7.6.4 Backing Up to Named Pipes + 7.6.5 Backup from Split Image + 7.6.6 On Demand Log Archive + 7.6.7 Log Mirroring + 7.6.8 Cross Platform Backup and Restore Support on Sun Solaris and HP + 7.6.9 DB2 Data Links Manager Considerations/Backup Utility Considerations + 7.6.10 DB2 Data Links Manager Considerations/Restore and Rollforward Utility Considerations + 7.6.11 Restoring Databases from an Offline Backup without Rolling Forward + 7.6.12 Restoring Databases and Table Spaces, and Rolling Forward to the End of the Logs + 7.6.13 DB2 Data Links Manager and Recovery Interactions + 7.6.14 Detection of Situations that Require Reconciliation o 7.7 Appendix C. User Exit for Database Recovery o 7.8 Appendix D. Issuing Commands to Multiple Database Partition Servers o 7.9 Appendix I. High Speed Inter-node Communications + 7.9.1 Enabling DB2 to Run Using VI * Administration Guide: Performance (µL¤¤¤åª©) o 8.1 Chapter 3. Application Considerations + 8.1.1 Specifying the Isolation Level + 8.1.2 Adjusting the Optimization Class + 8.1.3 Dynamic Compound Statements o 8.2 Chapter 4. Environmental Considerations + 8.2.1 Using Larger Index Keys o 8.3 Chapter 5. System Catalog Statistics + 8.3.1 Collecting and Using Distribution Statistics + 8.3.2 Rules for Updating Catalog Statistics + 8.3.3 Sub-element Statistics o 8.4 Chapter 6. Understanding the SQL Compiler + 8.4.1 Replicated Summary Tables + 8.4.2 Data Access Concepts and Optimization o 8.5 Chapter 8. Operational Performance + 8.5.1 Managing the Database Buffer Pool + 8.5.2 Managing Multiple Database Buffer Pools o 8.6 Chapter 9. Using the Governor o 8.7 Chapter 13. Configuring DB2 + 8.7.1 Sort Heap Size (sortheap) + 8.7.2 Sort Heap Threshold (sheapthres) + 8.7.3 Maximum Percent of Lock List Before Escalation (maxlocks) + 8.7.4 Configuring DB2/DB2 Data Links Manager/Data Links Access Token Expiry Interval (dl_expint) + 8.7.5 MIN_DEC_DIV_3 Database Configuration Parameter + 8.7.6 Application Control Heap Size (app_ctl_heap_sz) + 8.7.7 Database System Monitor Heap Size (mon_heap_sz) + 8.7.8 Maximum Number of Active Applications (maxappls) + 8.7.9 Recovery Range and Soft Checkpoint Interval (softmax) + 8.7.10 Track Modified Pages Enable (trackmod) + 8.7.11 Change the Database Log Path (newlogpath) + 8.7.12 Location of Log Files (logpath) + 8.7.13 Maximum Storage for Lock List (locklist) o 8.8 Appendix A. DB2 Registry and Environment Variables + 8.8.1 Table of New and Changed Registry Variables o 8.9 Appendix C. SQL Explain Tools * Administering Satellites Guide and Reference(µL¤¤¤åª©) o 9.1 Setting up Version 7.2 DB2 Personal Edition and DB2 Workgroup Edition as Satellites + 9.1.1 Prerequisites + 9.1.1.1 Installation Considerations + 9.1.2 Configuring the Version 7.2 System for Synchronization + 9.1.3 Installing FixPak 2 or Higher on a Version 6 Enterprise Edition System + 9.1.3.1 Upgrading Version 6 DB2 Enterprise Edition for Use as the DB2 Control Server + 9.1.4 Upgrading a Version 6 DB2 Control Center and Satellite Administration Center * Command Reference(µL¤¤¤åª©) o 10.1 db2batch - Benchmark Tool o 10.2 db2cap (new command) + db2cap - CLI/ODBC Static Package Binding Tool o 10.3 db2ckrst (new command) + db2ckrst - Check Incremental Restore Image Sequence o 10.4 db2gncol (new command) + db2gncol - Update Generated Column Values o 10.5 db2inidb - Initialize a Mirrored Database o 10.6 db2look - DB2 Statistics Extraction Tool o 10.7 db2updv7 - Update Database to Version 7 Current Fix Level o 10.8 New Command Line Processor Option (-x, Suppress printing of column headings) o 10.9 True Type Font Requirement for DB2 CLP o 10.10 ADD DATALINKS MANAGER o 10.11 ARCHIVE LOG (new command) + Archive Log o 10.12 BACKUP DATABASE + 10.12.1 Syntax Diagram + 10.12.2 DB2 Data Links Manager Considerations o 10.13 BIND o 10.14 CALL o 10.15 DROP DATALINKS MANAGER (new command) + DROP DATALINKS MANAGER o 10.16 EXPORT o 10.17 GET DATABASE CONFIGURATION o 10.18 GET ROUTINE (new command) + GET ROUTINE o 10.19 GET SNAPSHOT o 10.20 IMPORT o 10.21 LIST HISTORY o 10.22 LOAD o 10.23 PING (new command) + PING o 10.24 PUT ROUTINE (new command) + PUT ROUTINE o 10.25 RECONCILE o 10.26 REORGANIZE TABLE o 10.27 RESTORE DATABASE + 10.27.1 Syntax + 10.27.2 DB2 Data Links Manager Considerations o 10.28 ROLLFORWARD DATABASE o 10.29 Documentation Error in CLP Return Codes * Data Movement Utilities Guide and Reference(µL¤¤¤åª©) o 11.1 Chapter 2. Import + 11.1.1 Using Import with Buffered Inserts o 11.2 Chapter 3. Load + 11.2.1 Pending States After a Load Operation + 11.2.2 Load Restrictions and Limitations + 11.2.3 totalfreespace File Type Modifier o 11.3 Chapter 4. AutoLoader + 11.3.1 rexecd Required to Run Autoloader When Authentication Set to YES * Replication «ü«n»P°Ñ¦Ò¤â¥U o 12.1 §Û¼g¤Î«D IBM ¦øªA¾¹ o 12.2 ¦b Windows 2000 ¤Wªº§Û¼g o 12.3 Àx¦s SQL Àɮ׮ɪº¤wª¾¿ù»~ o 12.4 DB2 ºûÅ@ o 12.5 Web ¤Wªº Data Difference Utility o 12.6 ²Ä 3 ³¹ ¸ê®Æ§Û¼g¹ê°È½d¨Ò + 12.6.1 §Û¼g¹ê°È o 12.7 ²Ä 5 ³¹ §Û¼g³W¹º + 12.7.1 ªí®æ¤Îª½Äæ¦WºÙ + 12.7.2 DATALINK §Û¼g + 12.7.3 LOB ­­¨î + 12.7.4 ³W¹º§Û¼g o 12.8 ²Ä 6 ³¹ ³]©w§Û¼gÀô¹Ò + 12.8.1 ÀH³B§ó·s (Update-anywhere) ¥ý¨M±ø¥ó + 12.8.2 ³]©w§Û¼gÀô¹Ò o 12.9 ²Ä 8 ³¹ °ÝÃD§PÂ_ o 12.10 ²Ä 9 ³¹ AS/400 ªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ o 12.11 ²Ä 10 ³¹ OS/390 ªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ + 12.11.1 DB2 DataPropagator for OS/390 ªº¥ý¨M±ø¥ó + 12.11.2 OS/390 ¤Wªº UNICODE ©M ASCII ½s½X¤èªk + 12.11.2.1 ¿ï¾Ü½s½X¤èªk + 12.11.2.2 ³]©w½s½X¤èªk o 12.12 ²Ä 11 ³¹ UNIX ¥­¥xªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ + 12.12.1 ¦b UNIX ©M Windows ¤W³]©w¡uÂ^¨úµ{¦¡¡v©M¡u¤Þ¥Îµ{¦¡¡v ªºÀô¹ÒÅÜ¼Æ o 12.13 ²Ä 14 ³¹ ªí®æµ²ºc o 12.14 ²Ä 15 ³¹ Â^¨úµ{¦¡©M¤Þ¥Îµ{¦¡°T®§ o 12.15 ªþ¿ý A. ±qÀ³¥Îµ{¦¡¤º±Ò°ÊÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ * System Monitor Guide and Reference(µL¤¤¤åª©) o 13.1 db2ConvMonStream * Troubleshooting Guide(µL¤¤¤åª©) o 14.1 Starting DB2 on Windows 95, Windows 98, and Windows ME When the User Is Not Logged On o 14.2 Chapter 2. Troubleshooting the DB2 Universal Database Server * ¦b 64 ¦ì¤¸ªº¥­¥x¤W¨Ï¥Î DB2 Universal Database o 15.1 ²Ä 5 ³¹ ¬[ºc + 15.1.1 LOCKLIST + 15.1.2 shmsys:shminfo_shmmax o 15.2 ²Ä 6 ³¹ ­­¨î * XML Extender Administration and Programming(µL¤¤¤åª©) * MQSeries o 17.1 ¦w¸Ë»P¬[ºc DB2 MQSeries Function + 17.1.1 ¦w¸Ë MQSeries + 17.1.2 ¦w¸Ë MQSeries AMI + 17.1.3 ±Ò¥Î DB2 MQSeries Function o 17.2 MQSeries ¶Ç°T¼Ë¦¡ o 17.3 °T®§µ²ºc o 17.4 MQSeries ¥\¯à·§Æ[ + 17.4.1 ­­¨î + 17.4.2 ¿ù»~½X o 17.5 ¥Îªk¹ê°È¤â¥U + 17.5.1 °ò¥»¶Ç°T + 17.5.2 ¶Ç°e°T®§ + 17.5.3 Â^¨ú°T®§ + 17.5.4 À³¥Îµ{¦¡¹ïÀ³¥Îµ{¦¡³s±µ + 17.5.4.1 Request/Reply ³q«H + 17.5.4.2 µo§G/­q¾\ o 17.6 enable_MQFunctions + enable_MQFunctions o 17.7 disable_MQFunctions + disable_MQFunctions ------------------------------------------------------------------------ ºÞ²z¤u¨ã * ±±¨î¤¤¤ß o 18.1 ºÞ²z DB2 Server for VSE & VM ¦øªA¾¹¯à¤O o 18.2 Java 1.2 ¤ä´©±±¨î¤¤¤ß o 18.3 ¦b Windows §@·~¨t²Î¤U¨Ï¥Î½u¤W»¡©úªº¡uµL®Ä±¶®|¡v¿ù»~ o 18.4 OS/2 ¨t²Î¤Uªº Java ±±¨î¤¤¤ß o 18.5 ¦b Windows §@·~¨t²Î¤§²§°Ê¤é»xÀ˵ø¤w§¹¦¨¤u§@ªº¡uÀɮשڵ´¦s ¨ú¡v¿ù»~ o 18.6 ¦h¦ì¸m§ó·s´ú¸Õ³s±µ o 18.7 DB2 for OS/390 ªº±±¨î¤¤¤ß o 18.8 OS/390 ±±¨î¤¤¤ß¥²­nªº­×¥¿µ{¦¡ o 18.9 ¡u«Ø¥ßªÅ¶¡¼h¡v¹ï¸Ü®ØªºÅܧó o 18.10 DB2 ±±¨î¤¤¤ßªººÃÃø±Æ¸Ñ o 18.11 UNIX ¨t²Î±±¨î¤¤¤ßªººÃÃø±Æ¸Ñ o 18.12 OS/2 ¥i¯àªº Infopop °ÝÃD o 18.13 jdk11_path ¬[ºc°Ñ¼Æªº»¡©ú o 18.14 ¨Ï¥Î¡uScript ¤¤¤ß¡v©Î¡u²§°Ê¤é»x¡v®Éµo¥Íªº Solaris ¨t²Î¿ù»~ (SQL10012N) o 18.15 DPREPL.DFT Àɮתº»¡©ú o 18.16 ±Ò°Ê¦h­Ó±±¨î¤¤¤ß applet o 18.17 ±±¨î¤¤¤ß¥H Applet °õ¦æ®Éªº½u¤W»¡©ú o 18.18 ¦b Applet ¼Ò¦¡ (Windows 95) ¤U°õ¦æ±±¨î¤¤¤ß o 18.19 ¨Ï¥Î¤jªº¬d¸ßµ²ªG * ¸ê°T¤¤¤ß o 19.1 ¦b Windows §@·~¨t²Î¤Uªº¡uµL®Ä±¶®|¡v¿ù»~ o 19.2 ·í Netscape ¤w¶}±Ò®É¡A¦b Netscape Navigator ¤¤¶}±Ò¥~³¡ Web Ãìµ²(UNIX ¨t²Î) o 19.3 ±Ò°Ê¡u¸ê°T¤¤¤ß¡vªº°ÝÃD * ºëÆF o 20.1 ¦b«Ø¥ß¸ê®Æ®wºëÆF³]©wÂX¥R¤j¤p o 20.2 MQSeries »²§UºëÆF o 20.3 OLE DB »²§UºëÆF ------------------------------------------------------------------------ Business Intelligence * Business Intelligence ±Ð¾Ç«ü¾É o 21.1 ¸g¹L­×­qªº Business Intelligence ±Ð¾Ç«ü¾É * ¸ê®Æ­ÜÀx¤¤¤ßºÞ²z¤â¥U o 22.1 ºÃÃø±Æ¸Ñ o 22.2 ³]¸m Excel ¬°­ÜÀx¨Ó·½ o 22.3 ©w¸q¤Î°õ¦æµ{§Ç o 22.4 ¶×¥X´y­z¸ê®Æ¹ï¸Ü o 22.5 ¬° Submit OS/390 JCL ¤u§@¦ê¬yµ{¦¡ (VWPMVS) ©w¸q­È o 22.6 Åܧó¸ê®Æ­ÜÀx½d¨Òªþ¿ý o 22.7 ¸ê®Æ­ÜÀx¤¤¤ß°T®§ o 22.8 ¦b DB2 OLAP Integration Server ¤¤«Ø¥ß®Ø¬[¨Ã¸ü¤J¸ê®Æ o 22.9 ±N Classic Connect »P¸ê®Æ­ÜÀx¤¤¤ß·f°t¨Ï¥Î o 22.10 ¸ê®Æ­ÜÀx¤¤¤ßÀô¹Òµ²ºc o 22.11 ¨Ï¥Î Invert Âà´«µ{¦¡ o 22.12 ¥H DB2 ª©¥» 7 ­ÜÀx¥N²zµ{¦¡¦s¨ú DB2 ª©¥» 5 ¸ê®Æ + 22.12.1 ²¾Âà DB2 ª©¥» 5 ¦øªA¾¹ + 22.12.2 Åܧó¥N²zµ{¦¡¬[ºc + 22.12.2.1 UNIX ­ÜÀx¥N²zµ{¦¡ + 22.12.2.2 Microsoft Windows NT¡BWindows 2000 ©M OS/2 ­Ü Àx¥N²zµ{¦¡ o 22.13 IBM ERwin ´y­z¸ê®Æ¨ú¥Xµ{¦¡ + 22.13.1 ¤º®e + 22.13.2 ³nÅé»Ý¨D + 22.13.3 µ{¦¡ÀÉ + 22.13.4 «Ø¥ß¼Ð¥Ü»y¨¥ÀÉ + 22.13.5 ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v + 22.13.6 ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v + 22.13.7 ºÃÃø±Æ¸Ñ + 22.13.8 ERwin »P DB2 ¸ê®Æ­ÜÀx¤¤¤ßªº¹ï¬M + 22.13.8.1 ERwin »P¸ê°T«¬¿ýºÞ²zµ{¦¡ªº¹ï¬M o 22.14 ¿z¿ï¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº¦WºÙ»P¦ì§} + 22.14.1 + 22.14.1.1 °ò¥»­n¨D + 22.14.1.2 Trillium ³nÅé¨t²Î¤¸¥ó + 22.14.1.3 ±N¡uTrillium §å¦¸¨t²Î¡v»P¡u¸ê®Æ­ÜÀx¤¤¤ß¡v·f°t ¨Ï¥Î + 22.14.1.4 ¶×¤J Trillium ´y­z¸ê®Æ + 22.14.1.5 ¹ï¬M´y­z¸ê®Æ + 22.14.1.6 ­­¨î + 22.14.2 ¼¶¼g Trillium §å¦¸¨t²Î JCL ÀÉ + 22.14.3 ¦b UNIX ©M Windows ¤W¼¶¼g Trillium §å¦¸¨t²Î Script ÀÉ + 22.14.4 ©w¸q Trillium §å¦¸¨t²Î¨BÆJ + 22.14.5 ¨Ï¥Î¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡ + 22.14.6 ¿ù»~³B²z±`¦¡ + 22.14.6.1 ¿ù»~¦^ÂнX + 22.14.6.2 ¤é»xÀÉ o 22.15 MQ Series »P¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº¾ã¦X + 22.15.1 «Ø¥ß MQSeries °T®§ªº·§²¤ªí + 22.15.1.1 °ò¥»­n¨D + 22.15.1.2 ­­¨î + 22.15.1.3 «Ø¥ß MQSeries °T®§ªº·§²¤ªí + 22.15.2 ¶×¤J MQSeries °T®§©M XML ´y­z¸ê®Æ + 22.15.2.1 °ò¥»­n¨D + 22.15.2.2 ­­¨î + 22.15.2.3 ¶×¤J MQSeries °T®§»P XML ´y­z¸ê®Æ + 22.15.2.4 ¨Ï¥Î MQSeries ¨Ï¥ÎªÌ©w¸qµ{¦¡ + 22.15.2.5 ¿ù»~¦^ÂнX + 22.15.2.6 ¿ù»~¤é»xÀÉ o 22.16 Microsoft OLE DB »P¡u¸ê®Æ²§°ÊªA°È¡v¤ä´© + 22.16.1 «Ø¥ß OLE DB ªí®æ¨ç¼Æªº·§²¤ªí + 22.16.2 «Ø¥ß DTS ¸ê®Æ¥]ªº·§²¤ªí o 22.17 ¼W¶q COMMIT ·f°t replace ¨Ï¥Î o 22.18 ¤¸¥ó°lÂܸê®ÆÀɦW o 22.19 AIX ¤Î Solaris §@·~Àô¹Ò¤W Sybase ¨Ó·½»Ý­nªº OPEN CLIENT o 22.20 ½d¨Òµn¿ý§ó¥¿ o 22.21 ²Ä 3 ³¹ ³]©w­ÜÀx¨Ó·½ + 22.21.1 ¹ï¬M Microsoft Access ¤¤ªº³Æ§Ñ¿ýÄæ¦ì¦Ü­ÜÀx¨Ó·½ o 22.22 ²Ä 10 ³¹ ºûÅ@­ÜÀx¸ê®Æ®w + 22.22.1 Ãìµ²ªí®æ¦Ü DB2 UDB RUNSTATS µ{¦¡ªº¨BÆJ¦¸Ãþ«¬ o 22.23 ¹w³]­ÜÀx±±¨î¸ê®Æ®w o 22.24 ­ÜÀx±±¨î¸ê®Æ®wºÞ²zµøµ¡ o 22.25 Åܧó§@¥Î¤¤­ÜÀx±±¨î¸ê®Æ®w o 22.26 «Ø¥ß©M°_©l³]©w­ÜÀx±±¨î¸ê®Æ®w o 22.27 «Ø¥ßª©¥»ªº SQL ¨BÆJ o 22.28 ¦b¡uµ{§Ç¼Ò«¬¡vµøµ¡¤¤¡AÅܧó¨Ó·½©Î¥Ø¼Ð o 22.29 ·s¼W»¡©ú¦Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡vª«¥ó o 22.30 °õ¦æ¡u½d¨Ò¤º®e¡v o 22.31 ½s¿è Create DDL SQL ³¯­z¦¡ o 22.32 ²¾Âà Visual Warehouse °Ó·~À˵ø o 22.33 «Ø¥ß¥Ø¼Ðªí®æ¤Î¥D­nÁä o 22.34 ¨Ï¥Î Merant ODBC ÅX°Êµ{¦¡ o 22.35 ·s«Ø ODBC ÅX°Êµ{¦¡ o 22.36 ©w¸q OS/2 ¸ê®Æ®w¤¤ªº­ÜÀx¨Ó·½©Î¥Ø¼Ð o 22.37 ºÊ·þ­ÜÀx±±¨î¸ê®Æ®wªºª¬ºA o 22.38 ¨Ï¥Î SQL »²§Uµ{¦¡»P TBC_MD ½d¨Ò¸ê®Æ®w o 22.39 ¨Ï¥Î FormatDate ¨ç¼Æ o 22.40 Åܧó»y¨¥³]©w o 22.41 ¨Ï¥Î¡u²£¥ÍÁä­Èªí®æ¡vÂà´«µ{¦¡ o 22.42 ºûÅ@¸ê®Æ®w³s±µ o 22.43 ³]©w»·ºÝ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v±qÄݯ¸ o 22.44 ©w¸q DB2 for VM ­ÜÀx¨Ó·½ o 22.45 ©w¸q DB2 for VM ©Î DB2 for VSE ¥Ø¼Ðªí®æ o 22.46 ±Ò¥Î¦³©w¬É²Å¸¹ªºÃѧO¦r¤ä´© o 22.47 Data Joiner ¿ù»~«ü¥X³sµ²°ÝÃD o 22.48 ¸ê®Æ­ÜÀx¤¤¤ß³]©w©M°õ¦æ§Û¼g o 22.49 ºÃÃø±Æ¸Ñ¯µ³Z o 22.50 ¦s¨ú¨Ó·½©M¥Ø¼ÐÀÉ o 22.51 ¤ä´©ªº«D IBM ¸ê®Æ®w¨Ó·½ªº·s¼W¨Æ¶µ o 22.52 ¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¤â°Ê«Ø¥ß¸ê®Æ¨Ó·½ o 22.53 ¨Ï¥Î Common Warehouse Metadata Interchange (CWMI) ¶×¤J¤Î¶× ¥X´y­z¸ê®Æ + 22.53.1 ²¤¶ + 22.53.2 ¶×¤J´y­z¸ê®Æ + 22.53.3 ¦b°õ¦æ¶×¤J¤½¥Îµ{¦¡¤§«á§ó·s´y­z¸ê®Æ + 22.53.4 ¶×¥X´y­z¸ê®Æ o 22.54 OS/390 Runstats ¤½¥Îµ{¦¡¨BÆJ o 22.55 OS/390 ¸ü¤J¤½¥Îµ{¦¡¨BÆJ o 22.56 Common Warehouse Metamodel (CWM) XML ¤ä´© o 22.57 ³B²z¼Ò«¬²£¥Í¾¹ o 22.58 ºõ¥Ø¼Ò«¬²£¥Í¾¹ o 22.59 ¥²­n¿é¤JÄæ¦ì o 22.60 ¡u¸ê®Æ­ÜÀx¤¤¤ß¡vµo®g¥x¥[±j¥\¯à o 22.61 ¦C¦L¨BÆJ¸ê°T¨ìÀÉ®× * Data Warehouse Center Application Integration Guide(µL¤¤¤åª©) o 23.1 Additional metadata templates + 23.1.1 Commit.tag + 23.1.1.1 Tokens + 23.1.1.2 Examples of values + 23.1.2 ForeignKey.tag + 23.1.2.1 Tokens + 23.1.2.2 Examples of values + 23.1.3 ForeignKeyAdditional.tag + 23.1.3.1 Tokens + 23.1.3.2 Examples of values + 23.1.4 PrimaryKey.tag + 23.1.4.1 Tokens + 23.1.4.2 Examples of values + 23.1.5 PrimaryKeyAdditional.tag + 23.1.5.1 Tokens + 23.1.5.2 Examples of values * ¸ê®Æ­ÜÀx¤¤¤ß½u¤W»¡©ú o 24.1 ©w¸q§Û¼gªºªí®æ©Î·§²¤ªí o 24.2 °õ¦æ¨ã¦³ AS/400 ¥N²zµ{¦¡ªº Essbase VWPs o 24.3 ¨Ï¥Î¤½§G¸ê®Æ­ÜÀx¤¤¤ß´y­z¸ê®Æµøµ¡¤Î¤wµ²¦Xªº¤º®eµøµ¡ o 24.4 ¥~¨ÓÁä o 24.5 §Û¼gµ§°O¥» o 24.6 ¶×¤J¼Ð¥Ü»y¨¥ o 24.7 ·s¼W¸ê®ÆªºÃìµ² o 24.8 ¶×¤Jªí®æ o 24.9 RUNSTATS ©M REORGANIZE TABLE ½u¤W»¡©ú¶°¦X o 24.10 ¡u³qª¾¡v­¶­±¡A¡u­ÜÀx¤º®e¡v»P¡u±Æµ{¡vµ§°O¥» o 24.11 ¡u¥N²zµ{¦¡ºÝ¡vµ§°O¥»ªº¥N²zµ{¦¡¼Ò²ÕÄæ¦ì * DB2 OLAP Starter Kit o 25.1 OLAP Server ºô¯¸ o 25.2 ¤ä´©ªº§@·~¨t²ÎªA°Èµ{¦¡µ¥¯Å o 25.3 §¹¦¨ DB2 OLAP Starter Kit ¦b UNIX ¤Wªº¦w¸Ë o 25.4 ¬[ºc OLAP Starter Kit ªº ODBC + 25.4.1 ¦b UNIX ¨t²Î¬[ºc¸ê®Æ¨Ó·½ + 25.4.1.1 ¬[ºc ODBC Àô¹ÒÅÜ¼Æ + 25.4.1.2 ½s¿è odbc.ini ÀÉ®× + 25.4.1.3 ·s¼W¸ê®Æ¨Ó·½¨ì odbc.ini ÀÉ + 25.4.1.4 ODBC ªº DB2 ³]©w­È½d¨Ò + 25.4.1.5 ODBC ªº Oracle ³]©w­È½d¨Ò + 25.4.2 ¦b UNIX ¨t²Î¤W¬[ºc OLAP ´y­z¸ê®Æ«¬¿ý + 25.4.3 ¦b Windows ¨t²Î¤W¬[ºc¸ê®Æ¨Ó·½ + 25.4.4 ¦b Windows ¨t²Î¤W¬[ºc OLAP ´y­z¸ê®Æ«¬¿ý + 25.4.5 ¦b±z¬[ºc¸ê®Æ¨Ó·½¤§«á o 25.5 ±q OLAP Starter Kit ®à¤WºÞ²zµ{¦¡µn¤J + 25.5.1 Starter Kit µn¤J½d¨Ò o 25.6 ¦Û¦æ«Ø¥ß©M¬[ºc OLAP Starter Kit ªº½d¨Ò¸ê®Æ®w o 25.7 ²¾ÂàÀ³¥Îµ{¦¡¦Ü OLAP Starter Kit ª©¥» 7.2 o 25.8 ¤wª¾°ÝÃD»P­­¨î o 25.9 OLAP ¸Õºâªí¼W¯q¶° EQD Àɮ׿ò¥¢ * ¸ê°T«¬¿ýºÞ²zµ{¦¡ºÞ²z¤â¥U o 26.1 ¸ê°T«¬¿ýºÞ²zµ{¦¡°_©l³]©w¤½¥Îµ{¦¡ + 26.1.1 + 26.1.2 ª©Åv°ÝÃD + 26.1.3 ¦w¸Ë°ÝÃD o 26.2 ¥H DB2 ª©¥» 7 ¸ê°T«¬¿ýºÞ²zµ{¦¡¦s¨ú DB2 ª©¥» 5 ¸ê°T«¬¿ý o 26.3 ³]¸m¸ê°T«¬¿ý o 26.4 »P¨ä¥¦²£«~¥æ´«´y­z¸ê®Æ o 26.5 ¨Ï¥Î flgnxoln «ü¥O¥æ´«´y­z¸ê®Æ o 26.6 ¨Ï¥Î MDISDGC «ü¥O¥æ´«´y­z¸ê®Æ o 26.7 ©I¥sµ{¦¡ * Information Catalog Manager Programming Guide and Reference(µL¤¤¤åª©) o 27.1 Information Catalog Manager Reason Codes * ¸ê°T«¬¿ýºÞ²zµ{¦¡¨Ï¥Î¤â¥U * ¸ê°T«¬¿ýºÞ²zµ{¦¡¡G½u¤W°T®§ o 29.1 °T®§ FLG0260E o 29.2 °T®§ FLG0051E o 29.3 °T®§ FLG0003E o 29.4 °T®§ FLG0372E o 29.5 °T®§ FLG0615E * ¸ê°T«¬¿ýºÞ²zµ{¦¡¡G½u¤W»¡©ú o 30.1 Web ¸ê°T«¬¿ýºÞ²zµ{¦¡ * DB2 Warehouse Manager ¦w¸Ë¤â¥U o 31.1 ­ÜÀxÂà´«µ{¦¡ªº³nÅé»Ý¨D o 31.2 SAP R/3 Connector + 31.2.1 ¦w¸Ë¥ý¨M±ø¥ó o 31.3 Web Connector + 31.3.1 ¦w¸Ë¥ý¨M±ø¥ó * Query Patroller Administration Guide(µL¤¤¤åª©) o 32.1 DB2 Query Patroller Client is a Separate Component o 32.2 Migrating from Version 6 of DB2 Query Patroller Using dqpmigrate o 32.3 Enabling Query Management o 32.4 Location of Table Space for Control Tables o 32.5 New Parameters for dqpstart Command o 32.6 New Parameter for iwm_cmd Command o 32.7 New Registry Variable: DQP_RECOVERY_INTERVAL o 32.8 Starting Query Administrator o 32.9 User Administration o 32.10 Creating a Job Queue o 32.11 Using the Command Line Interface o 32.12 Query Enabler Notes o 32.13 DB2 Query Patroller Tracker may Return a Blank Column Page o 32.14 Query Patroller and Replication Tools o 32.15 Appendix B. Troubleshooting DB2 Query Patroller Clients ------------------------------------------------------------------------ À³¥Îµ{¦¡¶}µo * Administrative API Reference (µL¤¤¤åª©) o 33.1 db2ArchiveLog (new API) + db2ArchiveLog o 33.2 db2ConvMonStream o 33.3 db2DatabasePing (new API) + db2DatabasePing - Ping Database o 33.4 db2HistData o 33.5 db2HistoryOpenScan o 33.6 db2XaGetInfo (new API) + db2XaGetInfo - Get Information for Resource Manager o 33.7 db2XaListIndTrans (new API that supercedes sqlxphqr) + db2XaListIndTrans - List Indoubt Transactions o 33.8 db2GetSnapshot - Get Snapshot o 33.9 Forget Log Record o 33.10 sqlaintp - Get Error Message o 33.11 sqlbctcq - Close Tablespace Container Query o 33.12 sqlubkp - Backup Database o 33.13 sqlureot - Reorganize Table o 33.14 sqlurestore - Restore Database o 33.15 Documentation Error Regarding AIX Extended Shared Memory Support (EXTSHM) o 33.16 SQLFUPD + 33.16.1 locklist o 33.17 SQLEDBDESC o 33.18 SQLFUPD Documentation Error * À³¥Îµ{¦¡¶}µo¤â¥U o 34.1 ²Ä 1 ³¹ ²¤¶ + 34.1.1 ¤ä´©³nÅé + 34.1.2 ½d¨Òµ{¦¡ o 34.2 ²Ä 3 ³¹ ¶}µo DB2 À³¥Îµ{¦¡ªº¤@¯ë¸ê°T + 34.2.1 ¶}µoÀɮסBmake ÀÉ©M¿ù»~Àˬdªº¤½¥Îµ{¦¡ o 34.3 ²Ä 4 ³¹ ¶}µo Java Applets ©MÀ³¥Îµ{¦¡ + 34.3.1 ³]©wÀô¹Ò + 34.3.1.1 OS/2 ¤Wªº JDK ¼h¦¸ + 34.3.1.2 HP-UX ¤Wªº Java2 o 34.4 ²Ä 5 ³¹ ¶}µo SQL µ{§Ç + 34.4.1 ³]©w SQL µ{§ÇÀô¹Ò + 34.4.2 ³]©w½sĶ¾¹Àô¹ÒÅÜ¼Æ + 34.4.3 ¦Û­q½sĶ«ü¥O + 34.4.4 «O¯d¤¤¶¡ÀÉ + 34.4.5 ³Æ¥÷©M´_¸m + 34.4.6 «Ø¥ß SQL µ{§Ç + 34.4.7 ©I¥sÀx¦sµ{§Ç + 34.4.8 ¤À°e¤w½sĶªº SQL µ{§Ç o 34.5 ²Ä 7 ³¹ ¶}µo HP-UX À³¥Îµ{¦¡ + 34.5.1 HP-UX C + 34.5.2 HP-UX C++ o 34.6 ²Ä 9 ³¹ ¶}µo OS/2 À³¥Îµ{¦¡ + 34.6.1 VisualAge C++ for OS/2 ª©¥» 4.0 o 34.7 ²Ä 10 ³¹ ¶}µo PTX À³¥Îµ{¦¡ + 34.7.1 ptx/C++ o 34.8 ²Ä 12 ³¹ ¶}µo Solaris À³¥Îµ{¦¡ + 34.8.1 SPARCompiler C++ o 34.9 ²Ä 13 ³¹ «Ø¸m Windows 32 ¦ì¤¸§@·~¨t²ÎªºÀ³¥Îµ{¦¡ + 34.9.1 VisualAge C++ ª©¥» 4.0 * Application Development Guide(µL¤¤¤åª©) o 35.1 Chapter 2. Coding a DB2 Application + 35.1.1 Activating the IBM DB2 Universal Database Project and Tool Add-ins for Microsoft Visual C++ o 35.2 Chapter 6. Common DB2 Application Techniques + 35.2.1 Generating Sequential Values + 35.2.1.1 Controlling Sequence Behavior + 35.2.1.2 Improving Performance with Sequence Objects + 35.2.1.3 Comparing Sequence Objects and Identity Columns o 35.3 Chapter 7. Stored Procedures + 35.3.1 DECIMAL Type Fails in Linux Java Routines + 35.3.2 Using Cursors in Recursive Stored Procedures + 35.3.3 Writing OLE Automation Stored Procedures o 35.4 Chapter 12. Working with Complex Objects: User-Defined Structured Types + 35.4.1 Inserting Structured Type Attributes Into Columns o 35.5 Chapter 13. Using Large Objects (LOBs) + 35.5.1 Large object (LOBs) support in federated database systems + 35.5.1.1 How DB2 retrieves LOBs + 35.5.1.2 How applications can use LOB locators + 35.5.1.3 Restrictions on LOBs + 35.5.1.4 Mappings between LOB and non-LOB data types + 35.5.2 Tuning the system o 35.6 Part 5. DB2 Programming Considerations + 35.6.1 IBM DB2 OLE DB Provider o 35.7 Chapter 20. Programming in C and C++ + 35.7.1 C/C++ Types for Stored Procedures, Functions, and Methods o 35.8 Chapter 21. Programming in Java + 35.8.1 Java Method Signature in PARAMETER STYLE JAVA Procedures and Functions + 35.8.2 Connecting to the JDBC Applet Server o 35.9 Appendix B. Sample Programs * CLI Guide and Reference(µL¤¤¤åª©) o 36.1 Binding Database Utilities Using the Run-Time Client o 36.2 Using Static SQL in CLI Applications o 36.3 Limitations of JDBC/ODBC/CLI Static Profiling o 36.4 ADT Transforms o 36.5 Chapter 3. Using Advanced Features + 36.5.1 Writing Multi-Threaded Applications + 36.5.2 Scrollable Cursors + 36.5.2.1 Server-side Scrollable Cursor Support for OS/390 + 36.5.3 Using Compound SQL + 36.5.4 Using Stored Procedures + 36.5.4.1 Writing a Stored Procedure in CLI + 36.5.4.2 CLI Stored Procedures and Autobinding o 36.6 Chapter 4. Configuring CLI/ODBC and Running Sample Applications + 36.6.1 Configuration Keywords o 36.7 Chapter 5. DB2 CLI Functions + 36.7.1 SQLBindFileToParam - Bind LOB File Reference to LOB Parameter + 36.7.2 SQLNextResult - Associate Next Result Set with Another Statement Handle + 36.7.2.1 Purpose + 36.7.2.2 Syntax + 36.7.2.3 Function Arguments + 36.7.2.4 Usage + 36.7.2.5 Return Codes + 36.7.2.6 Diagnostics + 36.7.2.7 Restrictions + 36.7.2.8 References o 36.8 Appendix D. Extended Scalar Functions + 36.8.1 Date and Time Functions o 36.9 Appendix K. Using the DB2 CLI/ODBC/JDBC Trace Facility * °T®§°Ñ¦Ò¤â¥U o 37.1 ¨ú±o°T®§»P SQLSTATE »¡©ú o 37.2 ¦b DB2 Connect ÅÜ§óªº SQLCODE ­«·s¹ï¬M o 37.3 ·sªº»PÅܧ󪺰T®§ + 37.3.1 ©I¥s¼h¦¸¤¶­± (CLI) °T®§ + 37.3.2 DB2 °T®§ + 37.3.3 DBI °T®§ + 37.3.4 ¸ê®Æ­ÜÀx¤¤¤ß (DWC) °T®§ + 37.3.5 SQL °T®§ o 37.4 §ó¥¿ SQLSTATES * SQL Reference(µL¤¤¤åª©) o 38.1 SQL Reference is Provided in One PDF File o 38.2 Chapter 3. Language Elements + 38.2.1 Naming Conventions and Implicit Object Name Qualifications + 38.2.2 DATALINK Assignments + 38.2.3 Expressions + 38.2.3.1 Syntax Diagram + 38.2.3.2 OLAP Functions + 38.2.3.3 Sequence Reference o 38.3 Chapter 4. Functions + 38.3.1 Enabling the New Functions and Procedures + 38.3.2 Scalar Functions + 38.3.2.1 ABS or ABSVAL + 38.3.2.2 DECRYPT_BIN and DECRYPT_CHAR + 38.3.2.3 ENCRYPT + 38.3.2.4 GETHINT + 38.3.2.5 IDENTITY_VAL_LOCAL + 38.3.2.6 LCASE and UCASE (Unicode) + 38.3.2.7 MQPUBLISH + 38.3.2.8 MQREAD + 38.3.2.9 MQRECEIVE + 38.3.2.10 MQSEND + 38.3.2.11 MQSUBSCRIBE + 38.3.2.12 MQUNSUBSCRIBE + 38.3.2.13 MULTIPLY_ALT + 38.3.2.14 REC2XML + 38.3.2.15 ROUND + 38.3.2.16 WEEK_ISO + 38.3.3 Table Functions + 38.3.3.1 MQREADALL + 38.3.3.2 MQRECEIVEALL + 38.3.4 Procedures + 38.3.4.1 GET_ROUTINE_SAR + 38.3.4.2 PUT_ROUTINE_SAR o 38.4 Chapter 5. Queries + 38.4.1 select-statement/syntax diagram + 38.4.2 select-statement/fetch-first-clause o 38.5 Chapter 6. SQL Statements + 38.5.1 Update of the Partitioning Key Now Supported + 38.5.1.1 Statement: ALTER TABLE + 38.5.1.2 Statement: CREATE TABLE + 38.5.1.3 Statement: DECLARE GLOBAL TEMPORARY TABLE PARTITIONING KEY (column-name,...) + 38.5.1.4 Statement: UPDATE + 38.5.2 Larger Index Keys for Unicode Databases + 38.5.2.1 ALTER TABLE + 38.5.2.2 CREATE INDEX + 38.5.2.3 CREATE TABLE + 38.5.3 ALTER SEQUENCE + ALTER SEQUENCE + 38.5.4 ALTER TABLE + 38.5.5 Compound SQL (Embedded) + 38.5.6 Compound Statement (Dynamic) + Compound Statement (Dynamic) + 38.5.7 CREATE FUNCTION (Source or Template) + 38.5.8 CREATE FUNCTION (SQL Scalar, Table or Row) + 38.5.9 CREATE METHOD + CREATE METHOD + 38.5.10 CREATE SEQUENCE + CREATE SEQUENCE + 38.5.11 CREATE TRIGGER + CREATE TRIGGER + 38.5.12 CREATE WRAPPER + 38.5.13 DECLARE CURSOR + 38.5.14 DELETE + 38.5.15 DROP + 38.5.16 GRANT (Sequence Privileges) + GRANT (Sequence Privileges) + 38.5.17 INSERT + 38.5.18 SELECT INTO + 38.5.19 SET ENCRYPTION PASSWORD + SET ENCRYPTION PASSWORD + 38.5.20 SET transition-variable + SET Variable + 38.5.21 UPDATE o 38.6 Chapter 7. SQL Procedures now called Chapter 7. SQL Control Statements + 38.6.1 SQL Procedure Statement + SQL Procedure Statement + 38.6.2 FOR + FOR + 38.6.3 Compound Statement changes to Compound Statement (Procedure) + 38.6.4 RETURN + RETURN + 38.6.5 SIGNAL + SIGNAL o 38.7 Appendix A. SQL Limits o 38.8 Appendix D. Catalog Views + 38.8.1 SYSCAT.SEQUENCES * IBM DB2 Àx¦sµ{§Ç«Ø¸m¾¹ o 39.1 Java 1.2 ¤ä´©Àx¦sµ{§Ç«Ø¸m¾¹ o 39.2 DB2 Àx¦sµ{§Çªº»·ºÝ°£¿ù o 39.3 ¦b Windows¡BOS/2 ©Î UNIX ¥­¥x¤W¶}µo SQL µ{§Ç o 39.4 ¦b Solaris ¥­¥x¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹ o 39.5 ¤wª¾°ÝÃD»P­­¨î o 39.6 ¦bÁcÅ餤¤å»y¨¥Àô¹Ò¤U¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹ o 39.7 UNIX (AIX¡BSun Solaris¡BLinux) ¦w¸Ë»PÀx¦sµ{§Ç«Ø¸m¾¹ o 39.8 «Ø¸m OS/390 ªº SQL Àx¦sµ{§Ç o 39.9 °£¿ù SQL Àx¦sµ{§Ç o 39.10 ¶×¥X Java Àx¦sµ{§Ç o 39.11 ¦b OS/390 ¤W´¡¤JÀx¦sµ{§Ç o 39.12 ¦b¤u§@¯¸¦øªA¾¹¤¤³]©w SQL Àx¦sµ{§Çªº«Ø¸m¿ï¶µ o 39.13 ¦Û°Ê´_·s OS/390 ¤WÀx¦sµ{§Ç«Ø¸mªº WLM ¦ì§}ªÅ¶¡ o 39.14 ¦b OS/390 ¶}µo Java Àx¦sµ{§Ç o 39.15 ¬° MQ Series »P OLE DB «Ø¸m DB2 ªí®æ¨Ï¥ÎªÌ©w¸q¥\¯à (UDF) * Unicode §ó·s o 40.1 ²¤¶ + 40.1.1 DB2 Unicode ¸ê®Æ®w¤ÎÀ³¥Îµ{¦¡ + 40.1.2 ¤å¥ó§ó·s o 40.2 SQL Reference(µL¤¤¤åª©) + 40.2.1 Chapter 3 Language Elements + 40.2.1.1 Promotion of Data Types + 40.2.1.2 Casting Between Data Types + 40.2.1.3 Assignments and Comparisons + 40.2.1.4 Rules for Result Data Types + 40.2.1.5 Rules for String Conversions + 40.2.1.6 Expressions + 40.2.1.7 Predicates + 40.2.2 Chapter 4 Functions + 40.2.2.1 Scalar Functions o 40.3 CLI Guide and Reference(µL¤¤¤åª©) + 40.3.1 Chapter 3. Using Advanced Features + 40.3.1.1 Writing a DB2 CLI Unicode Application + 40.3.2 Appendix C. DB2 CLI and ODBC + 40.3.2.1 ODBC Unicode Applications o 40.4 Data Movement Utilities Guide and Reference(µL¤¤¤åª©) + 40.4.1 Appendix C. Export/Import/Load Utility File Formats ------------------------------------------------------------------------ ³s±µ¨ì¥D¹q¸£¨t²Î * ³s±µÀô¹Ò¸É¥R¸ê®Æ o 41.1 ¦b VM Àô¹Ò¤U¦w¸ËÀ³¥Îµ{¦¡¦øªA¾¹ o 41.2 CLI/ODBC/JDBC ¬[ºc PATCH1 ©M PATCH2 ³]©w­È ------------------------------------------------------------------------ ¤@¯ë¸ê°T * ¤@¯ë¸ê°T o 42.1 DB2 Universal Database Business Intelligence §Ö³t¾ÉÄý o 42.2 DB2 Everywhere ¤w§ï¬° DB2 Everyplace o 42.3 ·Æ¹«»Ý¨D o 42.4 ¸Õ¹Ï±q DB2 Run-time Client ³sµ²¾É­P¡u§ä¤£¨ì³sµ²Àɮסv¿ù»~ o 42.5 Search ±´¯Á (Search Discovery) o 42.6 HP-UX 11 ªº°O¾ÐÅéµøµ¡ o 42.7 dlfm client_conf ¥¢®Ä®É¨Ï¥ÎªÌ¤§°Ê§@ o 42.8 «Ü¤Ö¨£ªº¨Æ¥ó¡G½Æ»s±`¾nµ{¦¡¦b dlfm °±¤î®É¨S¦³°±¤î o 42.9 ¸Ñ°£¦w¸Ë DB2 DFS ±qÄݯ¸±Ò°Êµ{¦¡ o 42.10 Windows NT ±qÄݯ¸¨­¤ÀÅçÃÒ o 42.11 ¦b«Ø¥ß¤lµ{§Ç®É AutoLoader ¥i¯à·|·í±¼ o 42.12 DATALINK ´_¸m o 42.13 Windows NT (CS/NT) ªº IBM Communications ¦øªA¾¹©w¸q¨Ï¥ÎªÌ ID ©M³q¦æ½X + 42.13.1 ¸`ÂI©w¸q o 42.14 Áp¦X¨t²Îªº­­¨î o 42.15 DataJoiner ­­¨î o 42.16 Windows NT ªº§Æ§B¨Ó¤å¸ê°T«¬¿ýºÞ²zµ{¦¡ o 42.17 Microsoft SNA Server ©M SNA ¦h¯¸§ó·s (¨â¶¥¬q½T©w) ¤ä´© o 42.18 ±Ò°Ê Windows ¤§«áµLªk±Ò°Ê DB2 ªº SNA SPM o 42.19 DB2 ºÞ²z¦øªA¾¹ªº»y¨¥Àô¹Ò³]©w o 42.20 ±¶®|µL®Ä o 42.21 Windows NT ¤Î Windows 2000 ¤Wªº DB2 ªA°È±b¤á»Ý¨D o 42.22 ¦bª©¥» 6 ¤¤«Ø¥ßªº Query Patroller ¨Ï¥ÎªÌ¥¢¥h¤F EXECUTE ±M¥Î Åv o 42.23 Query Patroller ­­¨î o 42.24 »Ý­n½T©w©Ò¦³·|¦b¸ê®Æ­ÜÀx¤¤¤ß(DWC)¤¤¨Ï¥Îªº¨Ï¥ÎªÌ©w¸qµ{¦¡ o 42.25 ¸ê®Æ­ÜÀx¤¤¤ß©R¥O¦æ¶×¥Xªº·s¿ï¶µ o 42.26 Backup Services APIs (XBSA) o 42.27 OS/390 ¥N²zµ{¦¡ + 42.27.1 ¦w¸Ë·§Æ[ + 42.27.2 ¦w¸Ë©ú²Ó + 42.27.3 ³]¸mÃB¥~ªº¥N²zµ{¦¡¨ç¼Æ + 42.27.4 ¥ÎIJµoµ{¦¡±Æµ{­ÜÀx¨BÆJ (XTClient) + 42.27.5 Âà´«µ{¦¡ + 42.27.6 ¦s¨ú DB2 ¨t¦C¤§¥~ªº¸ê®Æ®w + 42.27.7 °õ¦æ DB2 for OS/390 ¤½¥Îµ{¦¡ + 42.27.8 §Û¼g + 42.27.9 ¥N²zµ{¦¡°O¸ü o 42.28 Windows NT ¤Wªº±qÄݯ¸ºÝ§Ö¨ú o 42.29 Enterprise Edition UNIX CD-ROM ªº¸Õ¥Î²£«~ o 42.30 DB2 Connect Enterprise Edition UNIX CD-ROM ªº¸Õ¥Î²£«~ o 42.31 ±Ë±ó Data Links Manager o 42.32 ¨Ï¥Î SMIT ¸Ñ°£¦w¸Ë DLFM ¤¸¥ó¥i¯à·|°£¥hÃB¥~ªºÀɮ׶° o 42.33 ¦b Windows 2000 ¤W¨Ï¥Î CLP ®Éµo¥Í¿ù»~ SQL1035N o 42.34 SQL »²§Uµ{¦¡ªº¥[±j¥\¯à o 42.35 Linux ¤Wªº DB2 ªº Gnome ©M KDE ®à­±¾ã¦X o 42.36 ¦b Windows 2000 Terminal Server ºÞ²z¼Ò¦¡¤U°õ¦æ DB2 o 42.37 ³Æ¥÷»P´_¸m«ü¥Oªº½u¤W»¡©ú o 42.38 "Warehouse Manager" À³¬° "DB2 Warehouse Manager" ------------------------------------------------------------------------ ªþ¥[¸ê°T * ªþ¥[¸ê°T o 43.1 DB2 Universal Database ©M DB2 Connect ½u¤W¤ä´© o 43.2 DB2 Magazine ------------------------------------------------------------------------ ªþ¿ý * ªþ¿ý A. ª`·N¨Æ¶µ o A.1 °Ó¼Ð ------------------------------------------------------------------------ Åwªï¨Ï¥Î DB2 Universal Database ª©¥» 7¡I µù: ³]©w¦r«¬¬°³æ¶Z¥H¤è«KÀ˵ø¡uª©¦¸ª`·N¨Æ¶µ¡v¡C DB2 Universal Database »P DB2 Connect ¤ä´©ºô¯¸·|©w´Á§ó·s¡C ½Ð¸õ¦Ü¡G http://www.ibm.com/software/data/db2/udb/winos2unix/support¡A¥H¨ú±o³Ì·sªº¸ê °T¡C ¥»ÀÉ®×¥]§t¤U¦Cªº²£«~¸ê°T¡F¦b DB2 ªº¤â¥U¦L»s®É¡A©|µLªk¨ú±o³o³¡¥÷ªº¸ê°T¡G IBM DB2 Universal Database Personal Edition¡Aª©¥» 7.2 IBM DB2 Universal Database Workgroup Edition¡Aª©¥» 7.2 IBM DB2 Universal Database Enterprise Edition¡Aª©¥» 7.2 IBM DB2 Data Links Manager¡Aª©¥» 7.2 IBM DB2 Universal Database Enterprise - Extended Edition¡Aª©¥» 7.2 IBM DB2 Query Patroller¡Aª©¥» 7.2 IBM DB2 Personal Developer's Edition¡Aª©¥» 7.2 IBM DB2 Universal Developer's Edition¡Aª©¥» 7.2 IBM DB2 Data Warehouse Manager¡Aª©¥» 7.2 IBM DB2 Relational Connect¡Aª©¥» 7.2 ¥t¦³¤@­Ó¡uª©¦¸ª`·N¨Æ¶µ¡vÀɮ׬° READCON.TXT¡A ³o­ÓÀÉ®×´£¨Ñ¤U¦C²£«~ªº¸ê°T¡G IBM DB2 Connect Personal Edition¡Aª©¥» 7.2 IBM DB2 Connect Enterprise Edition¡Aª©¥» 7.2 ¡u·s¯S©Ê¤¶²Ð¡v¤@®Ñ¤¤¥]§t³¡¥÷ªº DB2 ª©¥» 7.2 ¥D­n¼W¥[ªº·§Æ[¡C­Y±z¨S¦³¡u·s¯S ©Ê¤¶²Ð¡vªºª©¥» 7.2¡A ½Ð¦Ü http://www.ibm.com/software/data/db2/udb/winos2unix/support À˵ø©Î¤U¸ü¡C µù: ¦b­¶­±¥ª°¼ªº­×­q¦C (|) ¬Oªí¥Ü¸Ó¦æ¦Û¡uª©¥»ª`·N¨Æ¶µ¡v²Ä¤@ª©¤§«á¦b¦¹¼h¦¸ ¤¤¦³³Q·s¼W©Î­×§ï¡C ------------------------------------------------------------------------ ¯S§O»Ýª¾ ------------------------------------------------------------------------ ¯S§O»Ýª¾ ------------------------------------------------------------------------ 1.1 DB2 UDB ª©¥» 7 ªº¦s¨ú¯S©Ê DB2 UDB ¨t¦C²£«~¥]¬A¤F¤@¨ÇÅý¦æ°Ê¤£«K¤H¤h®e©ö¨Ï¥Îªº¯S©Ê¡C³o¨Ç¯S©Ê¬O¡G * ©ö©ó¿é¤J©M¾É¤ÞªºÁä½L¯S©Ê * ¼W±j¤º®eÅã¥Üªº¯S©Ê * ­µ®Ä©Mµøıĵ¥Ü¤§´£¥Ü¿ï¶µ * ¤ä´©§Þ³Nªº¬Û®e©Ê * §@·~¨t²Î¬Û®eªº¦s¨ú¯S©Ê * ¥i¦s¨ú¤å¥ó¤§®æ¦¡ 1.1.1 Áä½L¤§¿é¤J©M¾É¤Þ 1.1.1.1 Áä½L¿é¤J ¥u­n¨Ï¥ÎÁä½L«K¥i¥H¾Þ§@ DB2 ±±¨î¤¤¤ß¡C ¥\¯àªí¶µ¥Ø©M±±¨î¶µ´£¨Ñ¦s¨úÁä¡AÅý¨Ï¥Î ªÌ¥i¥Hª½±µ±qÁä½L±Ò°Ê±±¨î¶µ©Î¿ï¨ú¬Y¤@¥\¯àªí¶µ¥Ø¡C ¦b±±¨î¶µ©Î¬O¥\¯àªí¤º¥X²{ªº ¦s¨úÁäµe¦³©³½u¡A¥H¤è«K§Ú­Ìªº¿ëÃÑ¡C 1.1.1.2 Áä½LµJÂI ¦b UNIX §@·~¨t²Î¤º¡AÁä½LµJÂIªº¦ì¸m¥H°ª«G«×Åã¥Ü¡AÅã¥Üµøµ¡¤º¸Ó°Ï³B©ó§@¥Î¤¤¡A ¨Ï¥ÎªÌªº«öÁä·|²£¥Í¼vÅT¡C 1.1.2 ¤è«KÅã¥Ü¯S©Ê DB2 ±±¨î¤¤¤ß¦³¤@¨Ç¯S©Ê¡A¥i¥H¼W±j¨Ï¥ÎªÌ¤¶­±¡A¥H¤Î§ïµ½®zµø¨Ï¥ÎªÌ¹ï¹q¸£¨Ï¥Îªº ¯à¤O¡C ³o¨Ç¼W±jªº¥\¯à¥ç¤ä´©©úÅã¹ï·Óªº³]©w­È¡A¥H¤Î¬°«È¤á¶q¨­©w°µªº¦r«¬¤º®e¡C 1.1.2.1 ©úÅã¹ï·Ó¼Ò¦¡ ±±¨î¤¤¤ß¤¶­±¤ä´©¥Ñ§@·~¨t²Î©Ò´£¨Ñªº©úÅã¹ï·Ó¼Ò¦¡¿ï¶µ¡C ¨Ï¥ÎªÌ¥i¥H³]©w­I´ºÃC¦â ©M«e´ºÃC¦â¡A¨Ï¥¦§Î¦¨±j¯Pªº¹ï¤ñ¡C 1.1.2.2 ¦r«¬³]©w­È ±±¨î¤¤¤ß¤¶­±¤¹³\¨Ï¥ÎªÌ¦Û¥\¯àªí©M¹ï¸Üµøµ¡¤º¿ï¨ú¤å¦rªºÃC¦â¡B¤j¤p©M¦r«¬¡C 1.1.2.3 µLÃöÃC¦â ¨Ï¥ÎªÌ¤£»Ý­n¥h¤À¿ëÃC¦â¥H¨Ï¥Î¦¹²£«~ªº¦U¶µ¥\¯à¡C 1.1.3 ¿ï¾Ü¦¡Äµ§i´£¥Ü ¨Ï¥ÎªÌ¥i¥H¿ï¾ÜÁn­µÄµ¥Ü©Îµøıĵ¥Ü¡C 1.1.4 ¤ä´©§Þ³Nªº¬Û®e©Ê DB2 ±±¨î¤¤¤ß¤¶­±©M¿Ã¹õŪ¨ú¾¹À³¥Îµ{¦¡¬Û®e¡A¨Ò¦p³z¹LÁn­µ¦s¨ú¡C ¦bÀ³¥Îµ{¦¡¼Ò¦¡ ¤º¡A±±¨î¤¤¤ß¤¶­±¦³¤@¨Ç¯S©Ê¡A¥i¥HÀ°§Uµø»Ù¨Ï¥ÎªÌ±o¨ì¿Ã¥ú¹õ¤Wªº¸ê°T¡C 1.1.5 ¥i¦s¨úªº¤å¥ó DB2 ¨t¦C²£«~¤§¤å¥ó¬° HTML ®æ¦¡¡C ³o¥iÅý¨Ï¥ÎªÌ¥HÂsÄý¾¹¤¤ªº³ß¦n³]©w¨ÓÀ˵ø¤å ¥ó¡C ¥¦¤]®e³\¿Ã¹õŪ¨ú¾¹©M¨ä¥¦¨ó§U§Þ³Nªº¨Ï¥Î¡C ------------------------------------------------------------------------ 1.2 ªþ¥[ªº¥²­n Solaris ­×¸É¼h¦¸ °£¤F¦C¥Ü¦bDB2 for UNIX §Ö³t¤Jªù¤â¥U¤ºªº­×¸Éµ{¦¡¤§¥~¡A ÁÙ¦C¥Ü¤F DB2 Universal Database ª©¥» 7 for Solaris ª©¥» 2.6 ©Ò»Ý­nªº 106285-02 ©Î§ó·sªº ­×¸Éµ{¦¡¡C ------------------------------------------------------------------------ 1.3 Supported CPUs on DB2 Version 7 for Solaris UltraSparc ¤§«eªº CPU ª©¥»¨Ã¤£¤ä´©¡C ------------------------------------------------------------------------ 1.4 ·s¼W¸`ÂI¦Ü¤À³Î¸ê®Æ®wªº°ÝÃD ¦b·s¼W¸`ÂI¦Ü¤À³Î¸ê®Æ®w®É¡A­Y¦¹¸ê®Æ®w¦³¤@­Ó©Î¦h­Ó­¶¤j¤p«D¹w³]­È¡]4 KB¡^ªº¨t ²Î¼È®Éªí®æªÅ¶¡¡A ±z¥i¯à·|±o¨ì¿ù»~°T®§¡G "SQL6073N ·s¼W¸`ÂI§@·~¥¢±Ñ"©M¤@­Ó SQLCODE¡C·|µo¥Í³oºØ±¡§Î¬O¦]¬°¦b«Ø¥ß¸`ÂI®É¡A¥u¦³ IBMDEFAULTBP ½w½Ä¦À¬O¥H 4 KB ªº­¶¤j¤p¦s¦b¡C ¨Ò¦p¡A±z¥i¥H¨Ï¥Î db2start «ü¥O¡A·s¼W¸`ÂI¦Ü¥Ø«eªº¤À³Î¸ê®Æ®w¤¤¡C DB2START NODENUM 2 ADDNODE HOSTNAME newhost PORT 2 ¦pªG¤À³Î¸ê®Æ®wªº¼È®Éªí®æªÅ¶¡¤§­¶¤j¤p¬°¹w³]­È¡Aµ²ªG·|¶Ç¦^¤U¦Cªº°T®§¡G SQL6075W ¶}©l¸ê®Æ®wºÞ²zµ{¦¡§@·~¤w¶¶§Q§¹¦¨·s¼W¸`ÂI¡C ¦¹¸`ÂI­nµ¥¨ì©Ò¦³ªº¸`ÂI³£°±¤î¡AµM«á¤S¦A±Ò°Ê®É¤~¦³§@¥Î¡C ¦ý¬O¡A¦pªG¤À³Î¸ê®Æ®wªº¨t²Î¼È®Éªí®æªÅ¶¡¤§­¶¤j¤p«D¹w³]­È¡A«h¶Ç¦^ªº°T®§¬O¡G SQL6073N ·s¼W¸`ÂI§@·~¥¢±Ñ¡CSQLCODE = "<-902>" ¥t¤@­Ó¬Û¦üªº½d¨Ò¡A¥Î·s¸`ÂI»¡©ú¤â°Ê§ó·s db2nodes.cfg Àɮפ§«á¡A ±z¥i¥H¨Ï¥Î ADD NODE «ü¥O¡C ¦b½s¿è¸ÓÀɨùï¤À³Î¸ê®Æ®w (¨t²Î¼È®Éªí®æªÅ¶¡¬°¹w³]­¶­±¤j¤p) °õ¦æ ADD NODE «ü¥O¤§«á¡A ·|¶Ç¦^¤U¦C°T®§¡G DB20000I ADD NODE «ü¥O¶¶§Q§¹¦¨¡C ¦ý¬O¡A¦pªG¤À³Î¸ê®Æ®wªº¨t²Î¼È®Éªí®æªÅ¶¡¤§­¶¤j¤p«D¹w³]­È¡A«h¶Ç¦^ªº°T®§¬O¡G SQL6073N ·s¼W¸`ÂI§@·~¥¢±Ñ¡CSQLCODE = "<-902>" ¬°¤FÁקKµo¥Í¤W­zªº°ÝÃD¡A½Ð°õ¦æ¡G DB2SET DB2_HIDDENBP=16 ¦bµo¥X db2start ©Î ADD NODE «ü¥O¤§«e¡C ¦¹µn¿ýÅܼƷ|¨Ï DB2 °t¸m 16 ­¶ªºÁôÂà ½w½Ä¦À¡A¦Ó¨C¤@­¶©Ò¨Ï¥Îªº­¶¤j¤p¨Ã«D¹w³]­È¡C ³o¥i¨Ï ADD NODE §@·~¶¶§Q§¹¦¨¡C ¥t¤@­Ó¥iÁקK³oÃþ°ÝÃDµo¥Íªº¤èªk¡A ¬O¹ï ADD NODE ©Î db2start «ü¥O«ü©w WITHOUT TABLESPACES ¤l¥y¡C ¦b¦¹¤§«á¡A±z¥²¶·§Q¥Î CREATE BUFFERPOOL ³¯­z¦¡¨Ó«Ø¥ß½w½Ä ¦À¡A ¨Ã¥B§Q¥Î ALTER TABLESPACE ³¯­z¦¡±N¨t²Î¼È®Éªí®æªÅ¶¡©M½w½Ä¦À¬ÛÃöÁp¡C ¦b·s¼W¸`ÂI¦Ü²{¦s¸`ÂI¸s²Õ®É¡A­Y¦¹¸`ÂI¸s²Õ¦³¤@­Ó©Î¦h­Ó­¶¤j¤p«D¹w³]­È (4 KB) ªºªí®æªÅ¶¡¡A ±z¥i¯à·|±o¨ì¿ù»~°T®§¡G"SQL0647N ½w½Ä¦À "" ¥Ø«e¤£¦b§@¥Î¤¤¡C"¡C ·|µo¥Í³oºØ±¡§Î¬O¦]¬°«Ø¥ß¦b·s¸`ÂI¥B­¶¤j¤p«D¹w³]­Èªº½w½Ä¦À¨Ã¥¼¬°ªí®æªÅ¶¡±Ò °Ê¡C ¨Ò¦p¡A±z¥i¥H¨Ï¥Î ALTER NODEGROUP ³¯­z¦¡·s¼W¸`ÂI¦Ü¸`ÂI¸s²Õ¡G DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) ¦pªG¸`ÂI¸s²Õ¦³­¶¤j¤p¬°¹w³]­Èªºªí®æªÅ¶¡¡Aµ²ªG·|¶Ç¦^¤U¦Cªº°T®§¡G SQL1759W ­«·s¤À°t¸`ÂI¸s²Õ¥²¶·Åܧó¸`ÂI¸s²Õ "" ¤ºª«¥óªº¸ê®Æ©w¦ì¡A ¥H¨Ö¤J·s¼W¸`ÂI¡A ©Î±Æ°£±Ë±ó¸`ÂI¡C ¦ý¬O¡A¦pªG¸`ÂI¸s²Õªºªí®æªÅ¶¡¤§­¶¤j¤p«D¹w³]­È¡A«h¶Ç¦^ªº°T®§¬O¡G SQL0647N ½w½Ä¦À "" ¥Ø«e¤£¦b§@¥Î¤¤¡C ¤@­Ó¥iÁקK¦¹°ÝÃDªº¤èªk¬O¬°¨C¤@­Ó­¶¤j¤p«Ø¥ß½w½Ä¦À¡A ¨Ã¦bµo¥X ALTER NODEGROUP ³¯­z¦¡¤§«e¡A­«·s³s±µ¦Ü¸ê®Æ®w¡G DB2START CONNECT TO mpp1 CREATE BUFFERPOOL bp1 SIZE 1000 PAGESIZE 8192 CONNECT RESET CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) ²Ä¤G­ÓÁקK°ÝÃDªº¤èªk¡A½Ð°õ¦æ¡G DB2SET DB2_HIDDENBP=16 µo¥X db2start «ü¥O¥H¤Î CONNECT ©M ALTER NODEGROUP ³¯­z¦¡¤§«e¡C ¨Ï¥Î ALTER TABLESPACE ³¯­z¦¡·s¼Wªí®æªÅ¶¡¦Ü¸`ÂI¡A¥t¤@­Ó°ÝÃD·|µo¥Í¡C ¨Ò¦p¡G DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2) ³o¤@¨t¦C«ü¥O©M³¯­z¦¡·|²£¥Í¿ù»~°T®§ SQL0647N¡]¦Ó«D¹w´Á°T®§ SQL1759W¡^¡C ±ý¥¿½T¦a§¹¦¨¦¹Åܧó¡A¥²¶·¦b ALTER NODEGROUP... WITHOUT TABLESPACES ³¯­z¦¡¤§ «á¡A­«·s³s±µ¦Ü¸ê®Æ®w¡C DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES CONNECT RESET CONNECT TO mpp1 ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2) ¥t¤@­ÓÁקK°ÝÃDªº¤èªk¡A½Ð°õ¦æ¡G DB2SET DB2_HIDDENBP=16 µo¥X db2start «ü¥O¥H¤Î CONNECT¡B ALTER NODEGROUP ©M ALTER TABLESPACE ³¯­z¦¡ ¤§«e¡C ------------------------------------------------------------------------ 1.5 ²¾Âà´Á¶¡µo¥Íªº¿ù»~ ²¾Âà´Á¶¡¡A§Y¨Ï²¾Âন¥\¡A¿ù»~¶µ¥Ø¤´·|¥X²{¦b db2diag.log Àɮפº ¡]¸ê®Æ®w¥¼²¾ Âà¡^¡C¦¹®É¡A¥i¤©¥H©¿²¤¡C ------------------------------------------------------------------------ 1.6 Red Flag Linux ªº¤¤¤å»y¨¥Àô¹Ò­×¥¿µ{¦¡ ¦pªG±z¨Ï¥Î¡u²Å餤¤å¬õºX Linux ¦øªA¾¹ª©¥» 1.1¡v¡A ½Ð¬¢¸ß¡u¬õºX¡v¥H¨ú±o²Åé ¤¤¤å»y¨¥Àô¹Ò­×¥¿µ{¦¡¡C¨S¦³ª©¥» 1.1 ªºÂ²Å餤¤å»y¨¥Àô¹Ò­×¥¿µ{¦¡¡A DB2 ´NµLªk ¿ëÃѲÅ餤¤åªº¦r½X­¶¬O 1386¡C ------------------------------------------------------------------------ 1.7 ¦pªG¥i²¾°£¦¡ºÏºÐ¾÷¥¼³s±µ¡A«h DB2 ¦w¸Ë·|¤¤Â_ ¦b¦w¸Ë DB2 ªº´Á¶¡¡A¦pªG¹q¸£ªº¥i²¾°£¦¡ºÏºÐ¾÷¥¼³s±µ¡A «h¦b¿ï¨ú¦w¸ËÃþ«¬¤§«á¡A ¦w¸Ëµ{¦¡¥i¯à·|¤¤Â_¡C ­Y­n¸Ñ¨M¦¹°ÝÃD¡A¦b°õ¦æ¦w¸Ëµ{¦¡®É«ü©w -a ¿ï¶µ¡G setup.exe -a ------------------------------------------------------------------------ 1.8 ¤é¤å©M²Å餤¤å Linux Àô¹Ò¤§ DB2 for Linux ªºªþ¥[»y¨¥Àô¹Ò³]©w ·í±z­n¦b¤é¤å©Î²Å餤¤å Linux ¨t²Î¤W¨Ï¥Î Java GUI ¤u¨ã¡]¨Ò¦p¡u±±¨î¤¤¤ß¡v¡^ ®É¡A «h»Ý­nÃB¥~ªº»y¨¥Àô¹Ò³]©w¡C ­Y¨S¦³³o¶µ³]©w«hµLªk¥¿½TÅã¥Ü¤é¤å©Î¤¤¤å¦r ¤¸¡C ½Ð¦b±zªº¨Ï¥ÎªÌ³]©wÀɸ̥[¤J¤U¦C³]©w¡A ©ÎªÌ¦b¨C­Ó¡u±±¨î¤¤¤ß¡v©I¥s¤§«e±q «ü¥O¦æ°õ¦æ¦¹³]©w¡C °w¹ï¤é¤å¨t²Î¡G export LC_ALL=ja_JP °w¹ï²Å餤¤å¨t²Î¡G export LC_ALL=zh_CN ------------------------------------------------------------------------ 1.9 Microsoft Internet Explorer ¤Wªº±±¨î¤¤¤ß°ÝÃD ³o¬O Internet Explorer ¦w¥þ©Ê¿ï¶µ³]©w©Ò³y¦¨ªº°ÝÃD¡C ¡u±±¨î¤¤¤ß¡v¨Ï¥Î¥¼Ã±¸p ªº jar¡A¦]¦¹¦s¨ú¨t²Î¸ê°T³Q¦w¥þºÞ²zµ{¦¡°±¥Î¤F¡C ­Y­n®ø°£³o­Ó°ÝÃD¡A½Ð­«·s°t¸m IE ªº¦w¥þ©Ê¿ï¶µ¡A¦p¤U©Ò¥Ü¡G 1. ¿ï¨úÀ˵ø¥\¯àªí (IE4) ©Î¤u¨ã¥\¯àªí (IE5) ¤Wªº Internet ¿ï¶µ¡C 2. ¦b¡u¦w¥þ©Ê¡v­¶­±¡A¿ï¨ú«H¥ôªººô¯¸°Ï°ì¡C 3. «ö¤@¤U·s¼Wºô¯¸...¡C 4. ±N¡u±±¨î¤¤¤ß Web ¦øªA¾¹¡v·s¼W¨ì«H¥ôªººô¯¸²M³æ¡C ¦pªG±±¨î¤¤¤ß Web ¦øªA ¾¹¦b¬Û¦Pªººô°ì¤¤¡A¥i¯à¥u¶·­n±N Web ¦øªA¾¹¦WºÙ¥[¤J§Y¥i (¤£§tºô°ì¦WºÙ)¡C ¨Ò¦p¡G http://ccWebServer.ccWebServerDomain http://ccWebServer 5. «ö¤@¤U½T©w¡C 6. «ö¤@¤U³]©w...¡C 7. ±²°Ê¨ì¤U¤èªº Java --> Java Åv­­¡A¦A¿ï¨ú¦Û­q¡C 8. «ö¤@¤U Java ¦Û­q³]©w...¡C 9. ¿ï¨ú¡u½s¿è³\¥iÅv¡v­¶­±¡C 10. ±²°Ê¨ì¤U¤èªº¡u¥¼Ã±¦Wªº¤º®e --> °õ¦æ¥¼Ã±¦Wªº¤º®e --> ¨ä¥¦¥¼Ã±¦Wªº³\¥iÅv --> ¨t²Î¸ê°T¡v¡A¦A¿ï¨ú±Ò°Ê¡C 11. «ö¤@¤U¨C­Ó¶}±Òµøµ¡ªº½T©w¡C ------------------------------------------------------------------------ 1.10 ¦b Windows Àô¹Ò¤¤¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤Î Sybase ¤§¶¡ªº¤£¬Û®e ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡vª©¥» 7 ©M Sybase Open Client ¦w¸Ë¦b¦P¤@¥x Windows NT ©Î Windows 2000 ¾÷¾¹·|³y¦¨¿ù»~¡A ¥B Sybase ¤½¥Îµ{¦¡·|°±¤î¹B§@¡C·|¥X²{Ãþ¦ü¤U¦C ªº¿ù»~°T®§¡G µLªk°_©l LIBTCL.DLL¡C½Ð½T©w SYBASE Àô¹Ò ÅܼƤw¥¿½T³]©w¡C ÁקK³oºØ±¡¹Òªº¤èªk¬O±q Windows Àô¹Ò°Ñ¼Æ¤¤±NÀô¹Ò°Ñ¼Æ LC_ALL °£¥h¡C LC_ALL ¬O ¤@­Ó»y¨¥Àô¹ÒºØÃþ°Ñ¼Æ¡C »y¨¥Àô¹ÒºØÃþ¬O¥»¤g¤Æ±`¦¡©Ò¨Ï¥Îªº©úÅ㪺±`¼Æ¡A ¥H«ü©w µ{¦¡­n¨Ï¥Îªº»y¨¥Àô¹Ò¸ê°Tªº³¡¥÷¡C »y¨¥Àô¹Ò «üªº¬O¦a°Ï(©Î°ê®a)¡Aµ{¦¡ªº¬Y¨Ç¤è ­±¥i°w¹ï¦a°Ï¦Û­q¡C »y¨¥Àô¹Ò¬ÛÃö°Ï°ì¥]¬A¡A ¨Ò¦p¤é´Á®æ¦¡©Î³f¹ô²Å¸¹ªºÅã¥Ü®æ ¦¡¡C LC_ALL ·|¼vÅT©Ò¦³ªº»y¨¥Àô¹Ò¯S©w¦æ¬° (©Ò¦³ºØÃþ)¡C ¦pªG±z±N LC_ALL Àô¹Ò°Ñ¼Æ°£¥h¡A³o¼Ë ICM ´N¥i©M Sybase ¦P®É¦s¦b Windows NT ¥­ ¥x¤W¡A ¤U¦C¾÷¯à·|µLªk¹B§@¡G * ¸ê°T«¬¿ý¨Ï¥ÎªÌ * ¸ê°T«¬¿ýºÞ²zªÌ * ¸ê°T«¬¿ýºÞ²zµ{¦¡ ------------------------------------------------------------------------ 1.11 ±±¨î¤¤¤ß¥\¯à¬y¥¢ ¥i±N FixPak 2 ¤Þ¥Î¨ì DB2 ¦øªA¾¹¡A «h¹ï©óª©ªº±±¨î¤¤¤ß±qÄݯ¸¡AÀ³¸Ó¤£·|¦³¦¹ ³B©Ò´y­zªº°ÝÃD¡CµM¦Ó¡A¦b DB2 ª©¥» 7.2¡A ª©±±¨î¤¤¤ß±qÄݯ¸´X¥G¥¢¥h¤F©Ò¦³ªº ¥\¯à¡C ³o¸Ì©Ò»¡ªºÂª©¬O«ü¥ô¦óª©¥» 6 FixPak 6 ¥H«eªº±qÄݯ¸¡A ¥H¤Î¥ô¦óª©¥» 7 FixPak 2 ¥H«eªº±qÄݯ¸¡Cª©¥» 5 ªº±qÄݯ¸¨Ã¤£¨ü¼vÅT¡C «Øijªº­×¥¿¤è¦¡¬O¤É¯Å¥ô¦ó¨ü¨ì¼vÅTªº±qÄݯ¸¡Cª©¥» 6 ±qÄݯ¸¥²¶·¤É¯Å¨ì FixPak 6 ©Î§ó·sª©¥»¡A ª©¥» 7 ±qÄݯ¸¥²¶·¤É¯Å¨ì FixPak 2 ©Î§ó·sª©¥»¡C ------------------------------------------------------------------------ 1.12 Netscape CD ¤£ÀHªþ©ó DB2 UDB Netscape CD ¤£¦AÀHªþ©ó DB2 UDB¡C½Ð±q http://www.netscape.com¡AÀò¨ú Netscape ²£«~¡C ------------------------------------------------------------------------ 1.13 XML Readme Àɪº¿ù»~ ¦b DB2 XML Extender ª©¥» 7.1 README.TXT Àɪº¡uª`·N¨Æ¶µ¡v¤¤´£¨ì¡G 3. DB2 UDB ªº¹w³]ª©¥»¬O DB2 UDB ª©¥» 7.1¡C­Y±z­n¦b AIX »P Solaris ¨Ï¥Î DB2 UDB ª©¥» 6.1¡A ½Ð½T©w±zÀ³¸Ó»P DB2 UDB ª©¥» 6.1 ®×¨Ò¤Î DB2 UDB ª©¥» 6.1 ÀÉ®×®w¤@°_°õ¦æ¡C ³o¬O¤£¥¿½Tªº¡CDB2 XML Extender ¶È¦b DB2 ª©¥» 7.1 »P 7.2 ³Q¤ä´©¡C ÀÉ®× readme.aix¡Breadme.nt »P readme.sun ©Ò¦C¥Üªº³nÅé»Ý¨D¬°¡G * DB2 UDB 6.1 (FP1_U465423) ©Î¥H¤W (AIX) * DB2 Universal Database ª©¥» 6.1 ©Î¥H¤W (¦w¸Ë FixPak 3) (NT) * DB2 UDB ª©¥» 6.1 (FixPak FP1_U465424) ©Î¥H¤W (Sun) ³o¬O¤£¥¿½Tªº¡CDB2 XML Extender »Ý­n DB2 ª©¥» 7.1 ©Î 7.2¡C ------------------------------------------------------------------------ 1.14 Linux for S/390 ¤W¥i¯àªº¸ê®Æ¬y¥¢ ­Y¦b Linux for S/390 (¤w¦w¸Ë 2.2 ¨t¦C®Ö¤ßµ{¦¡) ¨Ï¥Î DB2¡A¸Ó Linux ¹q¸£¤Wªº ¥i¥Î RAM ¼Æ¶q­­¨î±N·|¤p©ó 1 GB¡C­­¨î RAM ¨ì 1 GB ¯àÁקK¦] Linux ®Ö¤ßµ{¦¡¿ù »~³y¦¨ªº¥i¯à©Ê DB2 ¸ê®Æ¬y¥¢¡C ³o¥uµo¥Í©ó DB2 ¦b Linux for S/390¡A¤£µo¥Í©ó Linux on Intel¡C ±z¥i±q http://www10.software.ibm.com/developerworks/opensource/linux390/alpha_src.html ¨ú±o®Ö¤ß­×¸Éµ{¦¡¥HÅý RAM ¥i¨Ï¥Î¶W¹L 1 GB¡C ------------------------------------------------------------------------ 1.15 Windows 2000 ¤Wªº DB2 UDB ¦b¾ã­Ó¡uª©¥»ª`·N¨Æ¶µ¡v¤¤¡A¤Z¾A¥Î©ó Windows NT ªº°Ñ¦Ò¸ê®Æ (°£«D¥t¦³«ü©w) ©| ¾A¥Î©ó Windows 2000¡C ------------------------------------------------------------------------ ½u¤W¤å¥ó (HTML¡BPDF »P¡u·j´M¡v) ------------------------------------------------------------------------ 2.1 Windows 2000 §@·~¨t²Î©Ò¤ä´©ªº Web ÂsÄý¾¹ §Ú­Ì«Øij±z¦b Windows 2000 ¤W¨Ï¥Î Microsoft Internet Explorer¡C ­Y±z¨Ï¥Î Netscape¡A½Ðª`·N¤U¦C¨Æ¶µ¡G * ¨Ï¥Î Netscape ·|Åý Windows 2000 ¤Wªº DB2 ³s½u¸ê°T·j´M¯Ó®É¸ûªø¡C Netscape ±N¨Ï¥Î©Ò¦³¥i¥Îªº CPU ¸ê·½¡A¨Ã¥B¦ü¥G¬O¤£©ú½T¦a°õ¦æ¡C ·í³Ì«á¶Ç ¦^·j´Mµ²ªG®É¡A§Ú­Ì«Øij±z¦b´£¥X·j´M¤§«á¡A¦b¥t¤@­Óµøµ¡¤W«ö¤@¤U¥HÅܧóµJ ÂI¡C ±µµÛ·|¦b¦X²zªº®É¶¡¶q¸Ì¶Ç¦^·j´Mµ²ªG¡C * ±z¥i¯à·|ª`·N¨ì¡G·í±z­n¨Dªº»¡©ú¥¿½T¦aÅã¥Ü¦b¤@­Ó Netscape ÂsÄý¾¹µøµ¡¤º¡A µM¦Ó¡A¦pªGÂsÄý¾¹µøµ¡¤@ª½¶}±ÒµÛ¡A¥Bµy«á¤S±q¤£¦Pªº¡u±±¨î¤¤¤ß¡v³¡¥÷­n¨D»¡ ©ú¡A «hÂsÄý¾¹¸Ì¤£·|¦³¥ô¦ó§ïÅÜ¡C ­YÃö³¬ÂsÄý¾¹µøµ¡¨Ã¦A¦¸­n¨D»¡©ú¡A±N·|¥X ²{¥¿½Tªº»¡©ú¡C ±z¥i³z¹L 2.4, ±Ò°Ê Netscape ®É²£¥Íªº¿ù»~°T®§ ¸Ìªº¤U¦C¨B ÆJ¨Ó­×¥¿³o­Ó°ÝÃD¡C ±z¤]¥i¥H¦b­n¨D¡u±±¨î¤¤¤ß¡v»¡©ú¤§«eÃö³¬ÂsÄý¾¹µøµ¡¡A ¥HÁקK³o­Ó°ÝÃD¡C * ­n¨D¡u±±¨î¤¤¤ß¡vªº»¡©ú¡A©ÎªÌ¡u¸ê°T¤¤¤ß¡vªº¥DÃD®É¡A±z¥i¯à·|¦¬¨ì¿ù»~°T ®§¡C ­n­×¥¿³o­Ó°ÝÃD¡A½Ð¿í´` 2.4, ±Ò°Ê Netscape ®É²£¥Íªº¿ù»~°T®§ ¸Ìªº¨B ÆJ¡C ------------------------------------------------------------------------ 2.2 ¦b Solaris ¨t²Î¤U·j´M DB2 ³s½u¸ê°T ¦pªG±z¦³¦b Solaris ¨t²Î¤U·j´M DB2 ³s½u¸ê°Tªº°ÝÃD¡A ½ÐÀˬd¨t²Î¦b /etc/system ¤ºªº®Ö¤ßµ{¦¡°Ñ¼Æ¡C¥H¤U¬O DB2 ·j´M¨t²Î©Ò»Ý®Ö¤ßµ{¦¡°Ñ¼Æªº³Ì¤p­È¡A NetQuestion¡G semsys:seminfo_semmni 256 semsys:seminfo_semmap 258 semsys:seminfo_semmns 512 semsys:seminfo_semmnu 512 semsys:seminfo_semmsl 50 shmsys:shminfo_shmmax 6291456 shmsys:shminfo_shmseg 16 shmsys:shminfo_shmmni 300 ±ý³]©w®Ö¤ßµ{¦¡°Ñ¼Æ¡A¦b /etc/system ¤§«á·s¼W¤U¦C«ü¥O¡G set = value ±ý¨Ï¥ô¦ó·s«Ø©ÎÅܧ󪺭ȥͮġA±z¥²¶·­«·s±Ò°Ê¨t²Î¡C ------------------------------------------------------------------------ 2.3 ¤Á´« NetQuestion for OS/2 ¥H¨Ï¥Î TCP/IP ¤Á´«g NetQuestion ¥H¦b OS/2 ¨t²Î¤W¨Ï¥Î TCP/IP ªº«ü¥Ü¤£§¹¾ã¡C ³o¨Ç«ü¥Üªº *.cfg Àɦì¸m¬O NetQuestion ¦w¸Ë¥Ø¿ýªº¸ê®Æ¦¸¥Ø¿ý¡C ±z¥i¥H¿é¤J¤U¦C¨ä¤¤¤@¶µ«ü ¥O¨Ó¨M©w NetQuestion ¦w¸Ë¥Ø¿ý¡G echo %IMNINSTSRV% //¾A¥Î SBCS ¦w¸Ë echo %IMQINSTSRV% //¾A¥Î DBCS ¦w¸Ë ------------------------------------------------------------------------ 2.4 ±Ò°Ê Netscape ®É²£¥Íªº¿ù»~°T®§ ·í±z±Ò°Ê Netscape ®É¡A¦pªG±zµo²{¤U¦Cªº¿ù»~°T®§¡G §ä¤£¨ì<Àɮ׸ô®|>¤§ÀÉ®× (©Î¬O¨ä¤¤ªº¤¸¥ó)¡C Àˬd¨Ã½T©w¸ô®|©MÀɦWªº¥¿½T©Ê¡A¥H¤Î©Ò¦³¥²­nªºÀÉ®×®w¬°¦³®Ä©Ê¡C µLªk¶}±Ò "D:\Program Files\SQLLIB\CC\..\doc\html\db2help\XXXXX.htm" ±zÀ³¸Ó°õ¦æ¤U¦C¨BÆJ¡A¥H§ó¥¿¦b Windows NT¡B95 ©Î 98 ¤Wªº³o­Ó°ÝÃD (½Ð°Ñ¾\¥H¤U ¨BÆJ¡A¥H¤F¸Ñ¦p¦ó¦b Windows 2000 ¤W°õ¦æ)¡G 1. ±q¡u¶}©l¡v¥\¯àªí¡A¿ï¨ú¡uµ{¦¡¶°¡v-->¡uWindows ÀÉ®×Á`ºÞ¡v¡C§Y¥i¶}±Ò ¡uWindows ÀÉ®×Á`ºÞ¡v¡C 2. ±q¡uWindows ÀÉ®×Á`ºÞ¡v¿ï¨ú¡uÀ˵ø¡v-->¡u¸ê®Æ§¨¿ï¶µ¡v¡C§Y¥i¶}±Ò¡u¸ê®Æ§¨ ¿ï¶µ¡vµ§°O¥»¡C 3. «ö¤@¤UÀÉ®×Ãþ«¬¼ÐÅÒ¡C¶}±Ò¡uÀÉ®×Ãþ«¬¡v­¶¡C 4. ¦bµn¿ýÀÉ®×Ãþ«¬Äæ¦ì¤¤¿ï¨ú Netscape Hypertext Document¡A¨Ã«ö¤@¤U¡u½s¿è¡v ¡C §Y¥i¶}±Ò¡u½s¿è¡vÀÉ®×Ãþ«¬µøµ¡¡C 5. ¿ï¨ú°Ê§@Äæ¦ì¤¤ªº¶}±Ò¡C 6. «ö¤@¤U½s¿è«ö¶s¡CÃþ«¬µøµ¡ªº½s¿è°Ê§@¶}±Ò¡C 7. ¨ú®ø¨Ï¥Î DDE ªº¤Ä¿ï®Ø¡C 8. ¦b¥Î¨Ó°õ¦æ°Ê§@ªºÀ³¥Îµ{¦¡Äæ¦ì¤¤¡A ½Ð½T©w "%1" ¥X²{¦b¦r¦êªº³Ì«á­± (¥]¬A ¤Þ¸¹¥H¤Î²Ä¤@­Ó¤Þ¸¹¤§«eªºªÅ®æ)¡C ­Y¦b Windows 2000 ¤Wµo²{¿ù»~°T®§¡A±zÀ³¸Ó°õ¦æ¤U¦C¨BÆJ¡G 1. ±q¶}©l¥\¯àªí¡A¿ï¨ú Windows ÀÉ®×Á`ºÞ¡C§Y¥i¶}±Ò¡uWindows ÀÉ®×Á`ºÞ¡v¡C 2. ±q¡uWindows ÀÉ®×Á`ºÞ¡v¡A¿ï¨ú¤u¨ã --> ¸ê®Æ§¨¿ï¶µ¡C§Y¥i¶}±Ò¡u¸ê®Æ§¨¿ï ¶µ¡vµ§°O¥»¡C 3. «ö¤@¤UÀÉ®×Ãþ«¬¼ÐÅÒ¡C 4. ¦b¡uÀÉ®×Ãþ«¬¡v­¶¤W¡B¤wµn¿ýªºÀÉ®×Ãþ«¬ Äæ¦ì¤¤¡A±j½ÕÅã¥Ü¡GHTM Netscape Hypertext Document¡A¦A«ö¤@¤U¶i¶¥ ¡C§Y¥i¶}±Ò¡u½s¿èÀÉ®×Ãþ«¬¡vµøµ¡¡C 5. ±j½ÕÅã¥Ü°Ê§@Äæ¦ì¤¤ªº¡u¶}±Ò¡v¡C 6. «ö¤@¤U½s¿è«ö¶s¡C§Y¥i¶}±Ò¡u½s¿èÃþ«¬ªº°Ê§@¡vµøµ¡¡C 7. ¨ú®ø¨Ï¥Î DDE ªº¤Ä¿ï®Ø¡C 8. ¦b¥Î¨Ó°õ¦æ°Ê§@ªºÀ³¥Îµ{¦¡Äæ¦ì¤¤¡A ½Ð½T©w "%1" ¥X²{¦b¦r¦êªº³Ì«á­± (¥]¬A ¤Þ¸¹¥H¤Î²Ä¤@­Ó¤Þ¸¹¤§«eªºªÅ®æ)¡C 9. «ö¤@¤U½T©w¡C 10. °w¹ï HTML Netscape Hypertext Document ©M SHTML Netscape Hypertext Document ÀÉ®×Ãþ«¬­«½Æ¨BÆJ 4 ¨ì 8¡C ------------------------------------------------------------------------ 2.5 UNIX ¨t²Î¤W Adobe Acrobat Reader ªº¬[ºc»Ý¨D ¦b UNIX «¬¥­¥x¡AAcrobat Reader ¥u´£¨Ñ­^¤åª©¡C±ý¥H­^¤å¥H¥~ªº»y¨¥Àô¹Ò¶}±Ò PDF ÀɮסA ¨t²Î·|¶Ç¦^¿ù»~°T®§¡C°T®§«ü¥X PDF Àɮתº¦r«¬¦s¨ú©Î¸ÑÀ£ÁY²£¥Í¿ù»~¡A¦ý ¬O¡A¹ê»Ú¤W¬O¦]¬°­^¤åª©ªº Acrobat Reader µLªk¦b«D­^¤å»y¨¥Àô¹Òªº UNIX ¤¤°õ ¦æ¡C ±ýÀ˵ø¦¹ PDF ÀɮסA±Ò°Ê­^¤åª©ªº Acrobat Reader «e¡A¥ý°õ¦æ¤U¦C¨ä¤¤¤@¶µ¨BÆJ¡A ¤Á´«¦Ü­^¤åªº»y¨¥Àô¹Ò¡G * ½s¿è Acrobat Reader ªº±Ò°Ê script¡A¦b±Ò°Ê script ¤º¡A #!/bin/sh ³¯­z¦¡ ¤§«á·s¼W¤U¦C«ü¥O¡G LANG=C;export LANG ³o¼Ëªº¸Ü¡A·í Acrobat Reader ³Q¨ä¥¦ªºÀ³¥Îµ{¦¡±Ò°Ê¡A¦p³Q Netscape ¾É¤Þ¾¹ ©ÎÀ³¥Îµ{¦¡»¡©ú¥\¯àªí±Ò°Ê®É¡A·|²£¥Í¥¿½Tªº¦æ¬°¡C * ¦b©R¥O´£¥Ü¤º¿é¤J LANG=C¡A±N Acrobat Reader ªºÀ³¥Îµ{¦¡Àô¹Ò³]©w¬°­^¤å¡C ¶i¤@¨B¸ê°T¡A½Ð³s½u Adobe ¨t²Î (http://www.Adobe.com)¡C ------------------------------------------------------------------------ 2.6 SQL Reference ¶È´£¨Ñ¤@­Ó PDF ÀÉ ¨C¥»®ÑÄyªº¡u¨Ï¥Î DB2 ÀÉ®×®w¡vªþ¿ý¤¤¡A«ü¥X SQL Reference ¬° PDF ®æ¦¡¥B¦³¨â ¥U¡CThis is incorrect. ÁöµM¦C¦Lªº®ÑÄy¦³¨â¥U¡A¦Ó¥B¨â¥U¬Û¹ïÀ³ªº®Ñ¸¹³£¥¿½T¡A¦ý¬O¥u¦³¤@­Ó PDF ÀɮסA¥¦ ¥]§t¤F¨â¥U¡CPDF ÀɦW¬O db2s0x70¡C ------------------------------------------------------------------------ ¦w¸Ë»P¬[ºc ³¡¥÷¥Ø¿ý * ¤@¯ë¦w¸Ë¸ê°T o 3.1 ¤U¸ü©Ò¦³¤ä´©ªº DB2 ±qÄݯ¸ªº¦w¸Ë®M¥ó o 3.2 ¦b Windows 2000 ¤W¦w¸Ë DB2 o 3.3 Ãö©ó·§²¤ªí¥H¯S§O¼È¦s°Ï©w¸qªº²¾Âà°ÝÃD o 3.4 Windows 2000 ªº IPX/SPX ³q«H¨ó©w¤ä´© o 3.5 ¤É¯Å DB2 «e¤@ª©¤§«e¥ý°±¤î DB2 µ{§Ç o 3.6 ­Y¤w¦w¸Ë¨ä¥¦ DB2 ²£«~¡A½Ð¦b¦w¸Ë DB2 ¤§«á°õ¦æ db2iupdt o 3.7 ³]©w Linux Àô¹Ò¥H°õ¦æ DB2 ±±¨î¤¤¤ß o 3.8 DB2 Universal Database Enterprise Edition ¤Î DB2 Connect Enterprise Edition for Linux on S/390 o 3.9 DB2 Universal Database Enterprise - Extended Edition for UNIX §Ö³t¤Jªù o 3.10 HP-UX ªº shmseg ®Ö¤ß°Ñ¼Æ o 3.11 ²¾Âà IBM Visual ­ÜÀx±±¨î¸ê®Æ®w o 3.12 ¦s¨ú­ÜÀx±±¨î¸ê®Æ®w * DB2 Data Links Manager §Ö³t¤Jªù o 4.1 Dlfm ªº±Ò°Ê¥¢±Ñ°T®§¡G¨ú±o afsfid ¦r­º®Éµo¥Í¿ù»~ o 4.2 ³]©w³Æ¥÷«O¦sÀɪº Tivoli Storage Manager Ãþ§O o 4.3 DFS ±qÄݯ¸±Ò°Êµ{¦¡ªººÏºÐªÅ¶¡»Ý¨D o 4.4 ºÊ·þ¦b AIX ªº¸ê®ÆÃìµ²Àɮ׺޲zµ{¦¡«áºÝµ{§Ç o 4.5 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G DCE-DFS Àô¹Ò¸Ìªº ÃB¥~¦w¸Ëª`·N¨Æ¶µ o 4.6 ¥¢±Ñªº "dlfm add_prefix" «ü¥O o 4.7 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G ¨Ï¥Î db2setup ¤½ ¥Îµ{¦¡¦b AIX ¤W¦w¸Ë DB2 Data Links Manager o 4.8 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡GDCE-DFS «á¸m¦w¸Ë§@ ·~ o 4.9 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G ¨Ï¥Î Smit ¨Ó¤â°Ê ¦w¸Ë DB2 Data Links Manager o 4.10 ¦w¸Ë©M¬[ºc DB2 Data Links ªº DFS ±qÄݯ¸±Ò°Êµ{¦¡ o 4.11 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for Solaris o 4.12 °w¹ï AIX ¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤èªk o 4.13 °w¹ï Solaris §@·~Àô¹Ò¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤è ªk o 4.14 °w¹ï Windows NT ¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤èªk o 4.15 ³Æ¥÷ AIX ¤Wªº°O¿ýÀɮרt²Î o 4.16 ¦b Windows NT ¤W¸ê®ÆÃìµ²¤¤ªº Administrator ¸s²Õ±M¥ÎÅv o 4.17 ±N Data Links File System Filter (DLFF) ¦w¸Ëªº°O¸ü´î¨ì³Ì¤Ö + 4.17.1 ¦b¦w¸Ë«á°O¸ü°T®§ o 4.18 ¨Ï¥Î SMIT ¸Ñ°£¦w¸Ë DLFM ¤¸¥ó¥i¯à·|°£¥hÃB¥~ªºÀɮ׶° o 4.19 ¶}©l¤§«e/¨M©w¥D¹q¸£¦WºÙ o 4.20 ¨Ï¥Î DLFM¡G±q DB2 ¸ê®Æ®w±Ë±ó DB2 Data Links Manager «áªº²M°£ °Ê§@ o 4.21 DLFM1001E (·sªº¿ù»~°T®§) o 4.22 DLFM ³]©w¬[ºcÀɿﶵ o 4.23 ¦b AIX ¤W°õ¦æ Data Links/DFS Script dmapp_prestart ®Éµo¥Í¿ù »~ o 4.24 Tivoli Space Manager »P Data Links ¾ã¦X + 4.24.1 ¥\¯à­­¨î o 4.25 ²Ä 4 ³¹ ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX + 4.25.1 ¤@¯ë¦w¸Ëª`·N¨Æ¶µ + 4.25.1.1 ±q DB2 File Manager ª©¥» 5.2 ²¾Âà¨ì DB2 Data Links Manager ª©¥» 7 * ¦w¸Ë»P¬[ºc¸É¥R¸ê®Æ o 5.1 ²Ä 5 ³¹ ¦b UNIX §@·~¨t²Î¤W¦w¸Ë DB2 ±qÄݯ¸ + 5.1.1 HP-UX ®Ö¤ßµ{¦¡¬[ºc°Ñ¼Æ o 5.2 ²Ä 12 ³¹ °õ¦æ±z¦Û¤vªºÀ³¥Îµ{¦¡ + 5.2.1 ¨Ï¥Î Run-Time Client ³sµ²¸ê®Æ®w¤½¥Îµ{¦¡ + 5.2.2 UNIX ±qÄݯ¸¨Ï¥Î ODBC ¦s¨ú DB2 o 5.3 ²Ä 24 ³¹ ³]¸mÁp¦X¨t²Î¨Ó¦s¨ú¦h­«¸ê®Æ¨Ó·½ + 5.3.1 Áp¦X¨t²Î + 5.3.1.1 ­­¨î + 5.3.2 ¦w¸Ë DB2 Relational Connect + 5.3.2.1 ¦b Windows NT ¦øªA¾¹¤W¦w¸Ë DB2 Relational Connect + 5.3.2.2 ¦b AIX¡BLinux ¤Î Solaris §@·~Àô¹Ò¦øªA¾¹¤W¦w¸Ë DB2 Relational Connect o 5.4 ²Ä 26 ³¹ ¦s¨ú Oracle ¸ê®Æ¨Ó·½ + 5.4.1 ¤å¥ó¿ù»~ o 5.5 ¦s¨ú Sybase ¸ê®Æ¨Ó·½ (·s¼W³¹¸`) + 5.5.1 ·s¼W Sybase ¸ê®Æ¨Ó·½¦ÜÁp¦X¦øªA¾¹ + 5.5.1.1 ¨BÆJ 1¡G³]©wÀô¹ÒÅܼƨçó·s³]©wÀɵn¿ý + 5.5.1.2 ¨BÆJ 2¡G±N DB2 Ãìµ²¦Ü Sybase ±qÄݯ¸³nÅé (¶È AIX »P Solaris) + 5.5.1.3 ¨BÆJ 3¡G­«·s¨Ï¥Î DB2 ®×¨Ò + 5.5.1.4 ¨BÆJ 4¡G«Ø¥ß¨Ã³]©w¤¶­±ÀÉ®× + 5.5.1.5 ¨BÆJ 5¡G«Ø¥ß¥~¼h + 5.5.1.6 ¨BÆJ 6¡G¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅÜ¼Æ + 5.5.1.7 ¨BÆJ 7¡G«Ø¥ß¦øªA¾¹ + 5.5.1.8 ¿ï¥Îªº¡G¨BÆJ 8¡G³]©w CONNECTSTRING ¦øªA¾¹¿ï¶µ + 5.5.1.9 ¨BÆJ 9¡G«Ø¥ß¨Ï¥ÎªÌ¹ï¬M + 5.5.1.10 ¨BÆJ 10¡G«Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W + 5.5.2 «ü©w Sybase ¦r½X­¶ o 5.6 ¨Ï¥Î ODBC ¦s¨ú Microsoft SQL Server ¸ê®Æ¨Ó·½ (·s¼W³¹¸`) + 5.6.1 ·s¼W Microsoft SQL Server ¸ê®Æ¨Ó·½¦ÜÁp¦X¦øªA¾¹ + 5.6.1.1 ¨BÆJ 1¡G³]©wÀô¹ÒÅÜ¼Æ (¶È AIX) + 5.6.1.2 ¨BÆJ 2¡G°õ¦æ Shell Script (¶È AIX) + 5.6.1.3 ¨BÆJ 3¡G¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅÜ¼Æ + 5.6.1.4 ¨BÆJ 4¡G­«·s¨Ï¥Î DB2 ®×¨Ò (¶È AIX) + 5.6.1.5 ¨BÆJ 5¡G«Ø¥ß¥~¼h + 5.6.1.6 ¨BÆJ 6¡G«Ø¥ß¦øªA¾¹ + 5.6.1.7 ¨BÆJ 7¡G«Ø¥ß¨Ï¥ÎªÌ¹ï¬M + 5.6.1.8 ¨BÆJ 8¡G«Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W + 5.6.1.9 ¨BÆJ 9¡G¿ï¥Îªº¡GÀò±o ODBC °lÂÜ + 5.6.2 ½Æ¬d Microsoft SQL Server ¦r½X­¶ ------------------------------------------------------------------------ ¤@¯ë¦w¸Ë¸ê°T ------------------------------------------------------------------------ 3.1 ¤U¸ü©Ò¦³¤ä´©ªº DB2 ±qÄݯ¸ªº¦w¸Ë®M¥ó ­Y­n¤U¸ü©Ò¦³¤ä´©ªº DB2 ±qÄݯ¸ªº¦w¸Ë®M¥ó¡A¥]¬A©Ò¦³ª©¥» 7 ¤§«eªº±qÄݯ¸¡A ½Ð³s ½u¨ì IBM DB2 Client Application Enabler Pack ªººô­¶¡A¨äºô§}¬°¡G http://www.ibm.com/software/data/db2/db2tech/clientpak.html ------------------------------------------------------------------------ 3.2 ¦b Windows 2000 ¤W¦w¸Ë DB2 ¦b Windows 2000 ¤W¡A¦w¸Ë¦b«eª© DB2 ¤§¤W®É¡A©Î¬O­«·s¦w¸Ë²{¦æª©¥»®É¡A ½Ð½T©w ±N©Ò¦³ DB2 ªA°Èªº¦^´_¿ï¶µ³]©w¬°¡uTake No Action¡v¡C ------------------------------------------------------------------------ 3.3 Ãö©ó·§²¤ªí¥H¯S§O¼È¦s°Ï©w¸qªº²¾Âà°ÝÃD ¸ê®Æ®w²¾Âध«á¡A¦pªG¯S§O¼È¦s°Ï USER ©Î CURRENT SCHEMA ³Q¥Î¨Ó©w¸q·§²¤ªíª½ Äæ¡A«h·§²¤ªí·|Åܦ¨µLªk¨Ï¥Î¡C ¨Ò¦p¡G create view v1 (c1) as values user ¦bª©¥» 5¡AUSER ©M CURRENT SCHEMA ªº¸ê®ÆÃþ«¬¬O CHAR(8)¡C ¦Ûª©¥» 6 °_¡A¥¦­Ì³Q ©w¸q¬° VARCHAR(128)¡C ¥»½d¨Ò¤¤¡A¦pªG·§²¤ªí¬O¥Ñª©¥» 5 ©Ò«Ø¥ß¡Aª½Äæ cl ªº¸ê®Æ Ãþ«¬«h¬° CHAR¡C ²¾Âध«á¨Ï¥Î·§²¤ªí¡A¥¦·|¦b°õ¦æ®É¶¡½sĶ¡A¦ý¬O¡A¥¦·|¦]¬°¸ê®Æ Ãþ«¬¤£²Å¦Ó¥¢±Ñ¡C ¸Ñ¨M¤è®×¬O©ñ±ó¨Ã­«·s«Ø¥ß¸Ó·§²¤ªí¡C ¦b±Ë±ó·§²¤ªí¤§«e¡A¬d¸ß SYSCAT.VIEWS «¬¿ý ·§²¤ªí¨ÓÂ^¨ú¥Î¨Ó«Ø¥ß·§²¤ªíªº»yªk¡C ¨Ò¦p¡G select text from syscat.views where viewname='<>' ------------------------------------------------------------------------ 3.4 Windows 2000 ªº IPX/SPX ³q«H¨ó©w¤ä´© ¦¹¸ê°T¬O°Ñ·Ó¡u§Ö³t¤Jªù¡v¤@®Ñªº¡u¦w¸Ë¡v³o¤@³¹ªº¡u¥i¯àªº¥D±q³s±µ¹ê°È¡v³o¤@ ¸`¡C ¤w¤½§Gªº³q«H¨ó©w¤ä´©¹Ïªí¨Ã¤£§¹¥þ¥¿½T¡C ¤£¤ä´©¨Ï¥Î IPX/SPX ³s±µ OS/2 ©Î UNIX «¬¦øªA¾¹ªº Windows 2000 ±qÄݯ¸¡C ¤]¤£¤ä´©¨Ï¥Î IPX/SPX ³s±µ Windows 2000 ¦ø ªA¾¹ªº OS/2 ©Î UNIX «¬±qÄݯ¸¡C ------------------------------------------------------------------------ 3.5 ¤É¯Å DB2 «e¤@ª©¤§«e¥ý°±¤î DB2 µ{§Ç ¦¹¸ê°T¬O°Ñ·Ó¡uDB2 for Windows §Ö³t¤Jªù¡v¤@®Ñ¤¤ªº²¾Âà¸ê°T¡C ­Y±z­n¤É¯Å¦b Windows ¾÷¾¹¤W°õ¦æªº«e¤@ª© DB2¡A ¦w¸Ëµ{¦¡©Ò´£¨ÑªºÄµ§i¥]§t¤F±N DB2 DLL «O¯d¦b°O¾ÐÅ骺µ{§Ç¦C¥Ü¡C ¦b¦¹®É¡A±z¥i¥H±N¦C¥Ü¸Ìªºµ{§Ç¥H¤â°Ê¤è¦¡°± ¤î¡A©ÎªÌÅý¦w¸Ëµ{¦¡¦Û°ÊÃö±¼³o¨Çµ{§Ç¡C «Øij±z¦b¦w¸Ë¤§«e¤â°Ê°±¤î©Ò¦³ DB2 µ{ §Ç¡A¥HÁקK¬y¥¢¸ê®Æ¡C ­n½T©w DB2 µ{§Ç¤£¦b°õ¦æ¤¤ªº³Ì¨Î¤è¦¡¬O³z¹L¡uWindows ªA °È¡vµe­±¨ÓÀ˵ø¨t²Îªºµ{§Ç¡C ¦b¡uWindows ªA°È¡vµe­±¤¤¡A½Ð½T©w¨S¦³°õ¦æ DB2 ªA °È¡B OLAP ªA°È¡B©Î¸ê®Æ­ÜÀxªA°È¡C µù: Windows ¥­¥x¤W¤@¦¸¥u¯à°õ¦æ¤@ºØª©¥»ªº DB2¡C ¨Ò¦p¡A±zµLªk¦b¦P¼Ëªº Windows ¾÷¾¹¤W¦P®É°õ¦æ DB2 ª©¥» 7 ©M DB2 ª©¥» 6¡C­Y±z­n±N DB2 ª©¥» 7 ¦w¸Ë¦b¤w¦w¸Ë DB2 ª©¥» 6 ªº¾÷¾¹¤W¡A ¦w¸Ëµ{¦¡·|¦b¦w¸Ë´Á¶¡§R°£ DB2 ª©¥» 6¡C½Ð°Ñ·Ó¾A·íªº§Ö³t¤Jªù¤â¥U¡A ¥H¨ú±o±q DB2 ªº«e¤@ª©¨Ó²¾Â઺¬ÛÃö¸ê°T¡C ------------------------------------------------------------------------ 3.6 ­Y¤w¦w¸Ë¨ä¥¦ DB2 ²£«~¡A½Ð¦b¦w¸Ë DB2 ¤§«á°õ¦æ db2iupdt ¤U¦C¸ê°T¦b±zªº¡u§Ö³t¤Jªù¡v¦w¸Ë¤å¥ó¤¤¤w´£¨Ñ¡C ¦b UNIX «¬¨t²Î¤W¦w¸Ë DB2 UDB ª©¥» 7 ®É¡A­Y¤w¦w¸Ë DB2 ²£«~¡A ±z»Ý­n°õ¦æ db2iupdt «ü¥O¡A¥H§ó·s±z­n¨Ï¥Î¥»²£«~·s¯S©Êªº®×¨Ò¡C¦³¨Ç¯S©Ê­n¦b°õ¦æ³o­Ó«ü¥O¤§ «á¤~¯à¨Ï¥Î¡C ------------------------------------------------------------------------ 3.7 ³]©w Linux Àô¹Ò¥H°õ¦æ DB2 ±±¨î¤¤¤ß ¦¹¸ê°T¤º§t©ó¡u§Ö³t¤Jªù¡v¤@®Ñªº¡u¦w¸Ë DB2 ±±¨î¤¤¤ß¡v³o¤@³¹¡C Â÷¶} Linux ªº DB2 ¦w¸Ëµ{¦¡¨Ã¦^¨ì²×ºÝ¾÷µøµ¡¤§«á¡A ½ÐÁä¤J¤U¦C«ü¥O¡B³]©w¥¿½Tªº Àô¹Ò¡A¥H°õ¦æ DB2¡u±±¨î¤¤¤ß¡v¡G su -l <®×¨Ò¦WºÙ> export JAVA_HOME=/usr/jdk118 export DISPLAY=<¾÷¾¹¦WºÙ>:0 µM«á¡A¶}±Ò¥t¤@­Ó²×ºÝ¾÷µøµ¡¨ÃÁä¤J¡G su root xhost +<¾÷¾¹¦WºÙ> Ãö³¬¸Ó²×ºÝ¾÷µøµ¡¡Aªð¦^±zµn¤J¬°®×¨Ò¾Ö¦³ªÌ ID ªº²×ºÝ¾÷¡A ¨ÃÁä¤J«ü¥O¡G db2cc ¥H±Ò°Ê¡u±±¨î¤¤¤ß¡v¡C ------------------------------------------------------------------------ 3.8 DB2 Universal Database Enterprise Edition ¤Î DB2 Connect Enterprise Edition for Linux on S/390 DB2 Universal Database Enterprise Edition ¤Î DB2 Connect Enterprise Edition ²{¦b¥i¦b Linux/390 ¤W¨Ï¥Î¤F¡C ¦b¦w¸Ë Linux ¨ì S/390 ¾÷¾¹¤W¤§«e¡A ±zÀ³¸Ó­n·N ÃѨì³nÅé¤ÎµwÅ骺»Ý¨D¡G µwÅé S/390 9672 Generation 5 ©Î¥H¤W¡AMultiprise 3000¡C ³nÅé * SuSE Linux v7.0 for S/390 ©Î Turbolinux Server 6 for zSeries ¤Î S/390 * ®Ö¤ß¼h¦¸ 2.2.16¡A§t S/390 ­×¸Éµ{¦¡ (½Ð¨£¤U­z) * glibc 2.1.3 * libstdc++ 6.1 Linux/390 »Ý­n¤U¦C­×¸Éµ{¦¡¡G * ¦¹®É¤£»Ý­n­×¸Éµ{¦¡¡C ­Y»Ý³Ì·sªº§ó·s¸ê°T¡A½Ð¦Ü http://www.software.ibm.com/data/db2/linux ºô¯¸¡C µù: 1. ¥u¤ä´© 32 ¦ì¤¸ªº Intel-based Linux ¤Î Linux/390¡C 2. Linux/390 ªº DB2 ª©¥» 7 ¥¼´£¨Ñ¤U¦C¶µ¥Ø¡G o DB2 UDB Enterprise - Extended Edition o DB2 Extenders o Data Links Manager o DB2 Administrative Client o Åܧó³q¦æ½X¤ä´© o LDAP ¤ä´© ------------------------------------------------------------------------ 3.9 DB2 Universal Database Enterprise - Extended Edition for UNIX §Ö³t¤Jªù ²Ä 5 ³¹¡u¦b Linux ¤W¦w¸Ë©M¬[ºc DB2 Universal Database¡v«ü¥X Linux EEE ÂO¶° ¤¤ªº¨C¤@­Ó¹êÅé¸`ÂI¥²¶·¨ã³Æ¬Û¦Pªº kernel¡Bglibc ¤Î libstdc++ ¼h¦¸¡C DB2 EEE for Linux ¸Õ¥Îª©¥i±q¤U¦Cºô¯¸¤U¸ü¡G http://www6.software.ibm.com/dl/db2udbdl/db2udbdl-p ------------------------------------------------------------------------ 3.10 HP-UX ªº shmseg ®Ö¤ß°Ñ¼Æ ±zªº¡u§Ö³t¤Jªù¡v¤@®Ñ¤¤´£¨Ñ¦³Ãö§ó·s HP-UX ®Ö¤ß¬[ºc°Ñ¼Æªº¸ê°T¤£¥¿½T¡C À³¸Ó©¿ ²¤ HP-UX ªº shmseg ®Ö¤ß°Ñ¼Æªº«Øij­È¡C À³§ï¥Î¹w³]ªº HP-UX ­È (120)¡C ------------------------------------------------------------------------ 3.11 ²¾Âà IBM Visual ­ÜÀx±±¨î¸ê®Æ®w DB2 Universal Database for Windows §Ö³t¤Jªù´£¨Ñ¦³Ãö Windows NT ©M Windows 2000 ¶i¦æ DB2 Universal Database ª©¥» 7 ¨å«¬¦w¸Ë´Á¶¡¡A¦p¦ó²¾Âà§@¥Î¤¤­ÜÀx±± ¨î¸ê®Æ®wªº¸ê°T¡C¦pªG­n²¾Âà¤@­Ó¥H¤Wªº­ÜÀx±±¨î¸ê®Æ®w¡A «h¥²¶·¨Ï¥Î­ÜÀx±±¨î¸ê®Æ ®wºÞ²zµøµ¡¶i¦æªþ¥[¸ê®Æ®wªº²¾Âà¡C¤@¦¸¥u¯à¦³¤@­Ó­ÜÀx±±¨î¸ê®Æ®w§@¥Î¡C­«·sµn¤J ¸ê®Æ­ÜÀx¤¤¤ß®É¡A¦pªG¤W¤@­Ó¸ê®Æ®w¤£¬O±z­n¨Ï¥Îªº¸ê®Æ®w¡A «h¥²¶·¨Ï¥Î­ÜÀx±±¨î¸ê ®Æ®wºÞ²zµøµ¡¨Ó¶i¦æµn°O±z©Ò­n¨Ï¥Îªº¸ê®Æ®w¡C ------------------------------------------------------------------------ 3.12 ¦s¨ú­ÜÀx±±¨î¸ê®Æ®w ©ó Windows NT ¦w¸Ë DB2 ª©¥» 7¡A«Ø¥ß DB2 ª©¥» 7 ­ÜÀx±±¨î¸ê®Æ®w©M­ÜÀx¦øªA¾¹¡C ¦pªG±z¦³¦W¬° Visual Warehouse ªº­ÜÀx±±¨î¸ê®Æ®w¡A ½Ð±N§t¦³­ÜÀx±±¨î¸ê®Æ®wªº DB2 ¦øªA¾¹¤É¯Å¨ì DB2 ª©¥» 7¡A­ÜÀx±±¨î¸ê®Æ®wªº´y­z¸ê®Æ·|²¾Âà¡A ¥H¨Ñ DB2 ª©¥» 7 ¸ê®Æ­ÜÀx¤¤¤ß©Ò¨Ï¥Î¡C±ýÄ~Äò¨Ï¥Îª©¥» 7¡A½Ð²¾Âà©Ò¦³ªº­ÜÀx±±¨î¸ê®Æ®w¡C DB2 ª© ¥» 7 ¦w¸Ë´Á¶¡¡A§@¥Î¤¤ªº­ÜÀx±±¨î¸ê®Æ®wªº´y­z¸ê®Æ·|²¾Âà¨ìª©¥» 7¡C±ý²¾Âàªþ¥[­Ü Àx±±¨î¸ê®Æ®wªº´y­z¸ê®Æ¡A½Ð¨Ï¥Î­ÜÀx±±¨î¸ê®Æ®w²¾Âऽ¥Îµ{¦¡¡C©ó Windows NT¡A¿ï ¨ú¶}©l --> µ{¦¡¶° --> IBM DB2 --> ­ÜÀx±±¨î¸ê®Æ®wºÞ²z¡A¶i¦æ±Ò°Ê¡C¦³Ãö­ÜÀx±± ¨î¸ê®Æ®wªº²¾Âà¡A½Ð°Ñ¾\Windows DB2 Universal Database §Ö³t¤Jªù ------------------------------------------------------------------------ DB2 Data Links Manager §Ö³t¤Jªù ------------------------------------------------------------------------ 4.1 Dlfm ªº±Ò°Ê¥¢±Ñ°T®§¡G¨ú±o afsfid ¦r­º®Éµo¥Í¿ù»~ °w¹ï¦b DCE-DFS Àô¹Ò¸Ì°õ¦æªº Data Links Manager¡A¦pªG dlfm ¦]¤U¦C¿ù»~±Ò°Ê¥¢ ±Ñ¡A ½Ð¬¢¸ß IBM ªA°È¤¤¤ß¡G ¨ú±o afsfid ¦r­º®Éµo¥Í¿ù»~ ·í¨Ï¥Î "dlfm add_prefix" µn°O¨ì Data Links Manager ªº DFS Àɮ׶°³Q§R°£®É¡A ±N·|µo¥Í¿ù»~¡C ------------------------------------------------------------------------ 4.2 ³]©w³Æ¥÷«O¦sÀɪº Tivoli Storage Manager Ãþ§O ±ý«ü©w³Æ¥÷«O¦sÀɨϥΨº¤@­Ó TSM ºÞ²zÃþ§O¡A½Ð³]©w DLFM_TSM_MGMTCLASS DB2 µn¿ý ¶µ¥Ø¤@­Ó¾A·íªººÞ²zÃþ§O¦WºÙ¡C ------------------------------------------------------------------------ 4.3 DFS ±qÄݯ¸±Ò°Êµ{¦¡ªººÏºÐªÅ¶¡»Ý¨D DFS ±qÄݯ¸±Ò°Êµ{¦¡¬°¿ï¥Îªº¤¸¥ó¡A±z¥i¥H¦b DB2 Universal Database ±qÄݯ¸©Î¦ø ªA¾¹¦w¸Ë´Á¶¡§@¿ï¾Ü¡C ÁöµM DFS ±qÄݯ¸±Ò°Êµ{¦¡°õ¦æ®É¨Ã¤£»Ý­n DB2 UDB ±qÄݯ¸©Î ¦øªA¾¹¡A ¦ý¬O¡A¦w¸Ë DFS ±qÄݯ¸±Ò°Êµ{¦¡¤§«e±z¥²¶·¦w¸Ë DB2 Universal Database ±qÄݯ¸¡C °£¤F DFS ±qÄݯ¸±Ò°Êµ{¦¡¦r½X»Ý­n 2 MB ªººÏºÐªÅ¶¡¥~¡A ¦b¦w¸Ë DFS ±q Äݯ¸±Ò°Êµ{¦¡¬° DB2 °õ¦æ®É¶¡±qÄݯ¸¦w¸Ëªº¤@³¡¥÷®É¡A ±zÀ³¸Ó¥t¥~«O¯d 40 MB ªºÃB ¥~ºÏºÐªÅ¶¡¡C ¦w¸Ë DFS ±qÄݯ¸±Ò°Êµ{¦¡¬° DB2 ºÞ²z±qÄݯ¸©Î DB2 ¦øªA¾¹¦w¸Ë¤§¤@ ³¡¥÷®É¡A±z»Ý­n§ó¦hªººÏºÐªÅ¶¡¡C ¦³Ãö DB2 Universal Database ²£«~©Ò»Ý­nªººÏºÐ ªÅ¶¡¡A¸Ô²Ó¸ê°T½Ð°Ñ¾\ DB2 for UNIX §Ö³t¤Jªù¤â¥U¡C ------------------------------------------------------------------------ 4.4 ºÊ·þ¦b AIX ªº¸ê®ÆÃìµ²Àɮ׺޲zµ{¦¡«áºÝµ{§Ç dlfm see «ü¥Oªº¿é¥X¦³Åܧó¡C µo¥X¦¹«ü¥O¨ÓºÊ·þ¦b AIX ªº¸ê®ÆÃìµ²Àɮ׺޲zµ{¦¡«á ºÝµ{§Ç¡Aµ²ªG»P¤U¦C©Ò¥ÜÃþ¦ü¡G PID PPID PGID RUNAME UNAME ETIME DAEMON NAME 17500 60182 40838 dlfm root 12:18 dlfm_copyd_(dlfm) 41228 60182 40838 dlfm root 12:18 dlfm_chownd_(dlfm) 49006 60182 40838 dlfm root 12:18 dlfm_upcalld_(dlfm) 51972 60182 40838 dlfm root 12:18 dlfm_gcd_(dlfm) 66850 60182 40838 dlfm root 12:18 dlfm_retrieved_(dlfm) 67216 60182 40838 dlfm dlfm 12:18 dlfm_delgrpd_(dlfm) 60182 1 40838 dlfm dlfm 12:18 dlfmd_(dlfm) DLFM SEE ­n¨D¦¨¥\¡C ¬A©·¤ºªº¦WºÙ¬° dlfm ®×¨Òªº¦WºÙ¡A¥»¨Ò¦WºÙ¬° "dlfm"¡C ------------------------------------------------------------------------ 4.5 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G DCE-DFS Àô¹Ò¸ÌªºÃB¥~¦w¸Ëª` ·N¨Æ¶µ ¦b¡u¦w¸Ë¥ý¨M±ø¥ó¡v°Ï¬q¸Ì¡AÀ³¸Ó·s¼Wªº·s¸ê°T¡G ±z¤]¥²¶·¦w¸Ë e-fix for DFS 3.1¡A©ÎªÌ PTF ¶° 1 (Åܦ¨¥i¥Î®É)¡C ¥i¦b¥H¤Uºô¯¸§ä¨ì e-fix ªº¸ê°T¡G http://www.transarc.com/Support/dfs/datalinks/efix_dfs31_main_page.html ¥H¤Î¡G ¥²¶·¦b¦w¸Ë Data Links Manager ¤§«e°õ¦æ dfs ±qÄݯ¸¡C ¨Ï¥Î db2setup ©Î smitty¡C ¦b¡uKeytab Àɮסv°Ï¬q¸Ì¡A¦³­Ó¿ù»~À³¸Ó§ó¥¿¬°¡G §t¦³¥DÅé©M³q¦æ½X¸ê°Tªº keytab ÀɮסAÀ³¸ÓºÙ¬° datalink.ktb ©M .... ¥¿½Tªº¦WºÙ¡Gdatalink.ktb ¬O¥Î¦b¤U­±ªº½d¨Ò¤¤¡C ¡uKeytab Àɮסv°Ï¬qÀ³¸Ó²¾¨ì ¡uDCE-DFS «á¸m¦w¸Ë§@·~¡v¤§¤U¡A ¦]¬° DLMADMIN ®×¨Ò«Ø¥ß«á¡A³o­ÓÀɮפ~¯à«Ø¥ß¡C ¦b¡uData Links File Manager ¦øªA¾¹»P±qÄݯ¸¡v¤¤¡A ½Ðª`·N¡A¥²¶·¦b Data Links Manager ±qÄݯ¸¤§«e¥ý¦w¸Ë Data Links Manager ¦øªA¾¹¡C À³¸Ó·s¼W¡u³Æ¥÷¥Ø¿ý¡v³¹¸`¡G ­Y³Æ¥÷¤èªk¬O°w¹ï¥»ºÝÀɮרt²Î¡A ³o¥²¶·¬O DFS Àɮרt²Î¸Ìªº¥Ø¿ý¡C ½Ð½T©w DFS ºÞ²zªÌ¤w«Ø¥ß¦¹ DFS Àɮ׶°¡C ¦¹Àɮ׶°À³¸Ó¤£¬O DMLFS Àɮ׶°¡C ------------------------------------------------------------------------ 4.6 ¥¢±Ñªº "dlfm add_prefix" «ü¥O °w¹ï¦b DCE/DFS Àô¹Ò¸Ì°õ¦æªº Data Links Manager¡A dlfm add_prefix «ü¥O¥i¯à·| ¥¢±Ñ¡A¦Ó¦^ÂнX¬° -2061 (³Æ¥÷¥¢±Ñ)¡C­Yµo¥Í¦¹ª¬ªp¡A½Ð°õ¦æ¤U¦C¨BÆJ¡G 1. µo¥X dlfm stop «ü¥O¨Ó°±¤î Data Links Manager ªº±`¾nµ{¦¡µ{§Ç¡C 2. µo¥X dlfm stopdbm «ü¥O¨Ó°±¤î DB2 µ{§Ç¡C 3. µo¥X dce_login root «ü¥O¨Ó¨ú±o dce root »{ÃÒ¡C 4. µo¥X dlfm startdbm «ü¥O¨Ó±Ò°Ê DB2 µ{§Ç¡C 5. µo¥X dlfm add_prefix«ü¥O¨Óµn°O Data Links Manager ªºÀɮ׶°¡C 6. µo¥X dlfm start «ü¥O¨Ó±Ò°Ê Data Links Manager ±`¾nµ{¦¡µ{§Ç¡C ------------------------------------------------------------------------ 4.7 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G ¨Ï¥Î db2setup ¤½¥Îµ{¦¡¦b AIX ¤W¦w¸Ë DB2 Data Links Manager ¦b¡u¤w«Ø¥ß DB2 ¸ê®Æ®w DLFM_DB¡v°Ï¬q¤¤¡ADLFM_DB ¨Ã¤£¬O«Ø¥ß¦b DCE_DFS Àô¹Ò ¤¤¡C¥²¶·¥H«á¸m¦w¸Ë¨BÆJ¨Ó°õ¦æ¡C ¦b¡uDMAPP ªº DCE-DFS ¹w¥ý±Ò°Êµn¿ý¡v°Ï¬q¤¤¡A¨BÆJ 2 À³¸ÓÅܧó¦p¤U¡G 2. ·s¼W«ü¥O¨ì /opt/dcelocal/tcl/user_cmd.tcl¡A¥H½T©w DFS ±Ò°Ê®É¤]±Ò°Ê¤F DMAPP¡C ------------------------------------------------------------------------ 4.8 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡GDCE-DFS «á¸m¦w¸Ë§@·~ À³¸Ó·s¼W¤U¦C¡u§¹¦¨ Data Links Manager ¦w¸Ë¡v³¹¸`¡G ¦b Data Links Manager ¦øªA¾¹¤W¡A¥²¶·°õ¦æ¤U¦C¨BÆJ¡A¥H§¹¦¨¦w¸Ë¡G 1. ¦b¡u¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡v³o³¹ªº¡uDCE-DFS Àô¹Òªº ÃB¥~¦w¸Ëª`·N¨Æ¶µ¡v³o¸`¸Ì¡A ±N keytab Àɫإ߬°¡uKeytab Àɮסv¤§¤Uªº·§ ­n¡C 2. ¥H root ¨­¤À¡A¿é¤J¤U¦C«ü¥O¥H±Ò°Ê DMAPP¡G stop.dfs all start.dfs all 3. ¦p¤U¦C¨BÆJ¡A¨Ï¥Î dce root »{ÃÒ¨Ó°õ¦æ "dlfm setup"¡C a. ¥H Data Links Manager ªº DLMADMIN ºÞ²zªÌµn¤J¡C b. ¥H root ¨­¤À¡Aµo¥X dce_login¡C c. ¿é¤J«ü¥O¡Gdlfm setup¡C ¦b Data Links Manager ±qÄݯ¸¤W¡A¥²¶·°õ¦æ¤U¦C¨BÆJ¡A¥H§¹¦¨¦w¸Ë¡G 1. ¦b¡u¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡v³o³¹ªº¡uDCE-DFS Àô¹Òªº ÃB¥~¦w¸Ëª`·N¨Æ¶µ¡v³o¸`¸Ì¡A ±N keytab Àɫإ߬°¡uKeytab Àɮסv¤§¤Uªº·§ ­n¡C 2. ¥H root ¨­¤À¡A¿é¤J¤U¦C«ü¥O¥H±Ò°Ê DMAPP¡G stop.dfs all start.dfs all ------------------------------------------------------------------------ 4.9 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡G ¨Ï¥Î Smit ¨Ó¤â°Ê¦w¸Ë DB2 Data Links Manager ®Ú¾Ú¡uSMIT «á¸m¦w¸Ë§@·~¡v³¹¸`¡A­×§ï¨BÆJ 7 ¥H«ü¥X "dce_login root" «ü¥O¥²¶· ¦b "dlfm setup" ¤§«eµo¥X¡C ¤£»Ý­n¨BÆJ 11¡C ¦b¨BÆJ 6 (dlfm server_conf) ©M¨B ÆJ 8 (dlfm client_conf) §¹¦¨®É¡A·|¦Û°Ê°õ¦æ¦¹¨BÆJ¡C ¤]½Ð²¾°£¨BÆJ 12 (dlfm start)¡C ­Y­n§¹¦¨¦w¸Ë¡A½Ð°õ¦æ¤U¦C¨BÆJ¡G 1. ¦b¡u¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX¡v³o³¹ªº¡uDCE-DFS Àô¹Òªº ÃB¥~¦w¸Ëª`·N¨Æ¶µ¡v³o¸`¸Ì¡A ±N keytab Àɫإ߬°¡uKeytab Àɮסv¤§¤Uªº·§ ­n¡C 2. ¥H root ¨­¤À¡A¿é¤J¤U¦C«ü¥O¥H±Ò°Ê DMAPP¡G stop.dfs all start.dfs all ------------------------------------------------------------------------ 4.10 ¦w¸Ë©M¬[ºc DB2 Data Links ªº DFS ±qÄݯ¸±Ò°Êµ{¦¡ ¦b¡u¬[ºc DFS ±qÄݯ¸±Ò°Êµ{¦¡¡v³¹¸`¸Ì¡A±N¤U¦C¸ê°T¥[¨ì¨BÆJ 2¡G °õ¦æ "secval" «ü¥O³q±`·|§¹¦¨¬[ºc¡C ¤£¹L¡A¤]¥i¯à»Ý­n­«·s±Ò°Ê¾÷¾¹¡C ­Y¦b¦s¨ú READ PERMISSION DB Àɮ׮ɵo²{°ÝÃD¡A ½Ð­«·s±Ò°Ê¦w¸Ë DB2 DFS ±qÄݯ¸±Ò°Êµ{¦¡ªº¾÷¾¹¡C ------------------------------------------------------------------------ 4.11 ¦w¸Ë©M¬[ºc DB2 Data Links Manager for Solaris ¦b¦w¸Ë DB2 Data Links Manager for Solaris ¤§«á¥²¶·°õ¦æ¤U¦C°Ê§@¡G 1. ±N¤U¦C¤T¦æ·s¼W¨ì /etc/system ÀɮסG set dlfsdrv:glob_mod_pri=0x100800 set dlfsdrv:glob_mesg_pri=0xff set dlfsdrv:ConfigDlfsUid=UID ¨ä¤¤ UID ¥Nªí id dlfm ªº¨Ï¥ÎªÌ ID¡C 2. ­«·s¶}¾÷¡A¥H¨ÏÅܧó¥Í®Ä¡C ------------------------------------------------------------------------ 4.12 °w¹ï AIX ¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤èªk °£¤F Disk Copy ©M XBSA ¤§¥~¡A±z¤]¥i¥H¨Ï¥Î Tivoli Storage Manager (TSM) ¨Ó³Æ ¥÷¦ì©ó Data Links ¦øªA¾¹¸ÌªºÀɮסC ­Y­n±N Tivoli Storage Manager §@¬°«O¦s¦øªA¾¹¡G 1. ¦b Data Links ¦øªA¾¹¤W¦w¸Ë Tivoli Storage Manager¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò Tivoli Storage Managerªº²£«~¤å¥ó¡C 2. ¥H Tivoli Storage Manager ¦øªA¾¹¨Óµn¿ý Data Links ¦øªA¾¹±qÄݯ¸À³¥Îµ{ ¦¡¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò Tivoli Storage Managerªº²£«~¤å¥ó¡C 3. ±N¤U¦CÀô¹ÒÅܼƷs¼W¨ì Data Links Manager ºÞ²zªÌªº db2profile ©Î db2cshrc script ÀÉ¡G (°w¹ï Bash¡BBourne ©Î Korn shell) export DSMI_DIR=/usr/tivoli/tsm/client/api/bin export DSMI_CONFIG=$HOME/tsm/dsm.opt export DSMI_LOG=$HOME/dldump export PATH=$PATH:$DSMI_DIR (°w¹ï C shell) setenv DSMI_DIR /usr/tivoli/tsm/client/api/bin setenv DSMI_CONFIG ${HOME}/tsm/dsm.opt setenv DSMI_LOG ${HOME}/dldump setenv PATH=${PATH}:$DSMI_DIR 4. ½Ð½T©w dsm.sys TSM ¨t²Î¿ï¶µÀɦì©ó $DSMI_DIR ¥Ø¿ý¸Ì¡C 5. ½Ð½T©w dsm.opt TSM ¨Ï¥ÎªÌ¿ï¶µÀɦì©ó INSTHOME/tsm ¥Ø¿ý¸Ì¡A ¦b¦¹ INSTHOME ¬O Data Links Manager ºÞ²zªÌªº°_©l¥Ø¿ý¡C 6. ±N PASSWORDACCESS ¿ï¶µ³]©w¬°²£¥Í¡A¦b /usr/tivoli/tsm/client/api/bin/dsm.sys Tivoli Storage Manager ¨t²Î¿ï¶µ Àɸ̡C 7. ¨Ï¥Î²£¥Í¿ï¶µ¦b²Ä¤@¦¸±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¤§«e¡A µn¿ý TSM ³q¦æ ½X¡C ¨Ï¥Î³o­Ó¤èªk¡A ·í Data Links Àɮ׺޲zµ{¦¡¶}©l TSM ¦øªA¾¹ªº³s½u ®É¡A±z¤£»Ý­n´£¨Ñ³q¦æ½X¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò TSM ªº²£«~¤å¥ó¡C 8. ±N DLFM_BACKUP_TARGET µn¿ýÅܼƳ]©w¨ì TSM¡C ¦b¦¹¨Ò¸Ì±N©¿²¤ DLFM_BACKUP_DIR_NAME µn¿ýÅܼƪº­È¡C ³o¼Ë·|±Ò°Ê Tivoli Storage Manager ªº³Æ¥÷¿ï¶µ¡C µù: 1. ­Y±z¦b°õ¦æ®É¶¡¸Ì¡AÅܧó TSM ©MºÏºÐ¤§¶¡ªº DLFM_BACKUP_TARGET µn¿ýÅÜ ¼Æ³]©w¡A±zÀ³¸Ó¹îı³Æ¥÷«O¦sÀɤ£·|²¾¨ì³Ìªñ«ü©wªº«O¦s¦ì¸m¡C¨Ò¦p¡A­Y ±z¥H³]©w¨ì TSM ªº DLFM_BACKUP_TARGET µn¿ý­È¨Ó±Ò°Ê Data Links ÀÉ®× ºÞ²zµ{¦¡¡A ¨Ã±Nµn¿ý­ÈÅܧó¨ìºÏºÐ¦ì¸m¡A«h©Ò¦³³Ìªñ«O¦sªºÀÉ®×±NÀx¦s¦b ºÏºÐªº·s¦ì¸m¸Ì¡C¥ý«e«O¦s¨ì TSM ªºÀÉ®×±N¤£·|²¾¨ì·sªººÏºÐ¦ì¸m¡C 2. ­Y­n¸m´«¹w³]ªº TSM ºÞ²zÃþ§O¡A¥i¥H¨Ï¥Î¤@­ÓºÙ¬° DLFM_TSM_MGMTCLASS ªº·sµn¿ýÅܼơC­Y¦¹µn¿ýÅܼƺû«ù¦b¥¼³]©wªºª¬ºA¡A±µµÛ±N·|¨Ï¥Î¹w³]ªº TSM ºÞ²zÃþ§O¡C 9. ¿é¤J dlfm stop «ü¥O¨Ó°±¤î Data Links Àɮ׺޲zµ{¦¡¡C 10. ¿é¤J dlfm start «ü¥O¨Ó±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¡C ------------------------------------------------------------------------ 4.13 °w¹ï Solaris §@·~Àô¹Ò¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤èªk °£¤F Disk Copy ©M XBSA ¤§¥~¡A±z¤]¥i¥H¨Ï¥Î Tivoli Storage Manager (TSM) ¨Ó³Æ ¥÷¦ì©ó Data Links ¦øªA¾¹¸ÌªºÀɮסC ­Y­n±N Tivoli Storage Manager §@¬°«O¦s¦øªA¾¹¡G 1. ¦b Data Links ¦øªA¾¹¤W¦w¸Ë Tivoli Storage Manager¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò Tivoli Storage Managerªº²£«~¤å¥ó¡C 2. ¥H Tivoli Storage Manager ¦øªA¾¹¨Óµn¿ý Data Links ¦øªA¾¹±qÄݯ¸À³¥Îµ{ ¦¡¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò Tivoli Storage Managerªº²£«~¤å¥ó¡C 3. ±N¤U¦CÀô¹ÒÅܼƷs¼W¨ì Data Links Manager ºÞ²zªÌªº db2profile ©Î db2cshrc script ÀÉ¡G (°w¹ï Bash¡BBourne ©Î Korn shell) export DSMI_DIR=/opt/tivoli/tsm/client/api/bin export DSMI_CONFIG=$HOME/tsm/dsm.opt export DSMI_LOG=$HOME/dldump export PATH=$PATH:/opt/tivoli/tsm/client/api/bin (°w¹ï C shell) setenv DSMI_DIR /opt/tivoli/tsm/client/api/bin setenv DSMI_CONFIG ${HOME}/tsm/dsm.opt setenv DSMI_LOG ${HOME}/dldump setenv PATH=${PATH}:/opt/tivoli/tsm/client/api/bin 4. ½Ð½T©w dsm.sys TSM ¨t²Î¿ï¶µÀɦì©ó /opt/tivoli/tsm/client/api/bin ¥Ø¿ý ¸Ì¡C 5. ½Ð½T©w dsm.opt TSM ¨Ï¥ÎªÌ¿ï¶µÀɦì©ó INSTHOME/tsm ¥Ø¿ý¸Ì¡A ¦b¦¹ INSTHOME ¬O Data Links Manager ºÞ²zªÌªº°_©l¥Ø¿ý¡C 6. ±N PASSWORDACCESS ¿ï¶µ³]©w¬°²£¥Í¡A¦b /opt/tivoli/tsm/client/api/bin/dsm.sys Tivoli Storage Manager ¨t²Î¿ï¶µ Àɸ̡C 7. ¨Ï¥Î²£¥Í¿ï¶µ¦b²Ä¤@¦¸±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¤§«e¡A µn¿ý TSM ³q¦æ ½X¡C ¨Ï¥Î³o­Ó¤èªk¡A ·í Data Links Àɮ׺޲zµ{¦¡¶}©l TSM ¦øªA¾¹ªº³s½u ®É¡A±z¤£»Ý­n´£¨Ñ³q¦æ½X¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò TSM ªº²£«~¤å¥ó¡C 8. ±N DLFM_BACKUP_TARGET µn¿ýÅܼƳ]©w¨ì TSM¡C ¦b¦¹¨Ò¸Ì±N©¿²¤ DLFM_BACKUP_DIR_NAME µn¿ýÅܼƪº­È¡C ³o¼Ë·|±Ò°Ê Tivoli Storage Manager ªº³Æ¥÷¿ï¶µ¡C µù: 1. ­Y±z¦b°õ¦æ®É¶¡¸Ì¡AÅܧó TSM ©MºÏºÐ¤§¶¡ªº DLFM_BACKUP_TARGET µn¿ýÅÜ ¼Æ³]©w¡A ±zÀ³¸Ó¹îı³Æ¥÷«O¦sÀɤ£·|²¾¨ì³Ìªñ«ü©wªº«O¦s¦ì¸m¡C¨Ò¦p¡A­Y ±z¥H³]©w¨ì TSM ªº DLFM_BACKUP_TARGET µn¿ý­È¨Ó±Ò°Ê Data Links ÀÉ®× ºÞ²zµ{¦¡¡A ¨Ã±Nµn¿ý­ÈÅܧó¨ìºÏºÐ¦ì¸m¡A«h©Ò¦³³Ìªñ«O¦sªºÀÉ®×±NÀx¦s¦b ºÏºÐªº·s¦ì¸m¸Ì¡C¥ý«e«O¦s¨ì TSM ªºÀÉ®×±N¤£·|²¾¨ì·sªººÏºÐ¦ì¸m¡C 2. ­Y­n¸m´«¹w³]ªº TSM ºÞ²zÃþ§O¡A¥i¥H¨Ï¥Î¤@­ÓºÙ¬° DLFM_TSM_MGMTCLASS ªº·sµn¿ýÅܼơC­Y¦¹µn¿ýÅܼƺû«ù¦b¥¼³]©wªºª¬ºA¡A±µµÛ±N·|¨Ï¥Î¹w³]ªº TSM ºÞ²zÃþ§O¡C 9. ¿é¤J dlfm stop «ü¥O¨Ó°±¤î Data Links Àɮ׺޲zµ{¦¡¡C 10. ¿é¤J dlfm start «ü¥O¨Ó±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¡C ------------------------------------------------------------------------ 4.14 °w¹ï Windows NT ¤Wªº DB2 Data Links Manager ¿ï¾Ü³Æ¥÷¤èªk ¨C·í DATALINK ­È´¡¤J¨ã¦³ DATALINK ª½Ä檺ªí®æ®É (©w¸q¬°¦^´_)¡A ·|¦w±Æ Data Links ¦øªA¾¹ªº¬Û¹ïÀ³ DATALINK ÀɮסA¥H³Æ¥÷¨ì«O¦s¦øªA¾¹¡C¥Ø«e¨Ó»¡¡ADisk Copy (¹w³]¤èªk) ©M Tivoli Storage Manager ¬O¤ä´©Àɮ׳ƥ÷¨ì«O¦s¦øªA¾¹ªº¨âºØ¿ï¶µ¡C ¥¼¨Óªº DB2 Data Links Manager for Windows NT ª©¦¸±N¤ä´©¨ä¥¦¨ÑÀ³°Óªº³Æ¥÷´CÅé ©M³nÅé¡C Disk Copy (¹w³]¤èªk) ¦b DB2 ¦øªA¾¹¤W¿é¤J backup «ü¥O®É¡A ³o­Ó«ü¥O¥i½T©w¸ê®Æ®w¸ÌªºÃìµ²ÀÉ®×·| ¦b Data Links ¦øªA¾¹¤W³Æ¥÷¨ì DLFM_BACKUP_DIR_NAME Àô¹ÒÅܼƩҫü©wªº¥Ø ¿ý¡C ³o­ÓÅܼƪº¹w³]­È¬O c:\dlfmbackup¡A ¦b¦¹ c:\ ªí¥Ü Data Links Manager ªº³Æ¥÷¦w¸ËºÏºÐ¾÷¡C ­Y­n±N¦¹ÅܼƳ]©w¨ì c:\dlfmbackup¡A½Ð¿é¤J¤U¦C«ü¥O¡G db2set -g DLFM_BACKUP_DIR_NAME=c:\dlfmbackup DLFM_BACKUP_DIR_NAME Àô¹ÒÅܼƫü©wªº¦ì¸m¤£¯à ¦ì©ó¨Ï¥Î Data Links¡uÀÉ®× ¨t²Î¹LÂo¾¹¡vªºÀɮרt²Î¤W¡A¦Ó»Ý­nªºªÅ¶¡¥i¥Î©ó±z«ü©wµ¹³Æ¥÷Àɪº¥Ø¿ý¸Ì¡C ¦P®É¡A½Ð½T©w DLFM_BACKUP_TARGET ÅܼƸg¥Ñ¿é¤J¤U¦C«ü¥O¤w³]©w¬° LOCAL¡G db2set -g DLFM_BACKUP_TARGET=LOCAL ³]©w©ÎÅܧó³o¨ÇÅܼƤ§«á¡A½Ð¨Ï¥Î dlfm stop ©M dlfm start «ü¥O¨Ó°±¤î¨Ã­« ·s±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¡C Tivoli Storage Manager ­Y­n±N Tivoli Storage Manager §@¬°«O¦s¦øªA¾¹¡G 1. ¦b Data Links ¦øªA¾¹¤W¦w¸Ë Tivoli Storage Manager¡C ¸Ô²Ó¸ê°T¡A½Ð °Ñ¦Ò Tivoli Storage Managerªº²£«~¤å¥ó¡C 2. ¥H Tivoli Storage Manager ¦øªA¾¹¨Óµn¿ý Data Links ¦øªA¾¹±qÄݯ¸À³ ¥Îµ{¦¡¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò Tivoli Storage Managerªº²£«~¤å¥ó¡C 3. «ö¤@¤U¶}©l¡AµM«á¿ï¨ú³]©w --> ±±¨î¥x --> ¨t²Î¡C §Y·|¶}±Ò¡u¨t²Î¤º ®e¡vµøµ¡¡C ¿ï¨úÀô¹Ò¼ÐÅÒ¡A ¨Ã¿é¤J¤U¦CÀô¹ÒÅܼƩM¹ïÀ³­È¡G ÅÜ¼Æ ­È DSMI_DIR c:\tsm\baclient DSMI_CONFIG c:\tsm\baclient\dsm.opt DSMI_LOG c:\tsm\dldump 4. ½Ð½T©w dsm.sys TSM ¨t²Î¿ï¶µÀɦì©ó c:\tsm\baclient ¥Ø¿ý¸Ì¡C 5. ½Ð½T©w dsm.opt TSM ¨Ï¥ÎªÌ¿ï¶µÀɦì©ó c:\tsm\baclient ¥Ø¿ý¸Ì¡C 6. ±N PASSWORDACCESS ¿ï¶µ³]©w¬°²£¥Í¡A ¦b c:\tsm\baclient\dsm.sys Tivoli Storage Manager ¨t²Î¿ï¶µÀɸ̡C 7. ¨Ï¥Î²£¥Í¿ï¶µ¦b²Ä¤@¦¸±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¤§«e¡A µn¿ý TSM ³q¦æ½X¡C ¨Ï¥Î³o­Ó¤èªk¡A ·í Data Links Àɮ׺޲zµ{¦¡¶}©l TSM ¦øªA¾¹ ªº³s½u®É¡A±z¤£»Ý­n´£¨Ñ³q¦æ½X¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò TSM ªº²£«~¤å¥ó¡C 8. ¨Ï¥Î¤U¦C«ü¥O±N DLFM_BACKUP_TARGET Àô¹ÒÅܼƳ]©w¨ì TSM¡G db2set -g DLFM_BACKUP_TARGET=TSM ¦b¦¹¨Ò¸Ì±N©¿²¤ DLFM_BACKUP_DIR_NAME Àô¹ÒÅܼƪº­È¡C ³o¼Ë·|±Ò°Ê Tivoli Storage Manager ªº³Æ¥÷¿ï¶µ¡C µù: 1. ­Y±z¦b°õ¦æ®É¶¡¸Ì¡AÅܧó TSM ©M LOCAL ¤§¶¡ªº DLFM_BACKUP_TARGET Àô¹ÒÅܼƳ]©w¡A±zÀ³¸Ó¹îı³Æ¥÷«O¦sÀɤ£·|²¾ ¨ì³Ìªñ«ü©wªº«O¦s¦ì¸m¡C¨Ò¦p¡A­Y±z¥H³]©w¨ì TSM ªº DLMF_BACKUP_TARGET Àô¹ÒÅÜ¼Æ¨Ó±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¡A ¨Ã±N¨ä­ÈÅܧó¨ì LOCAL¡A«h©Ò¦³³Ìªñ«O¦sªºÀÉ®×±NÀx¦s¦bºÏºÐªº·s¦ì ¸m¸Ì¡C¥ý«e«O¦s¨ì TSM ªºÀÉ®×±N¤£·|²¾¨ì·sªººÏºÐ¦ì¸m¡C 2. ­Y­n¸m´«¹w³]ªº TSM ºÞ²zÃþ§O¡A¥i¥H¨Ï¥Î¤@­ÓºÙ¬° DLFM_TSM_MGMTCLASS ªº·sÀô¹ÒÅܼơC­Y¦¹Åܼƺû«ù¦b¥¼³]©wªºª¬ ºA¡A±µµÛ±N·|¨Ï¥Î¹w³]ªº TSM ºÞ²zÃþ§O¡C 9. ¿é¤J dlfm stop «ü¥O¨Ó°±¤î Data Links Àɮ׺޲zµ{¦¡¡C 10. ¿é¤J dlfm start «ü¥O¨Ó±Ò°Ê Data Links Àɮ׺޲zµ{¦¡¡C ------------------------------------------------------------------------ 4.15 ³Æ¥÷ AIX ¤Wªº°O¿ýÀɮרt²Î ®Ñ¤¤»¡©ú¥²¶·°±¤î Data Links Manager¡A ¦ÓÂ÷½u³Æ¥÷À³¸Ó¨Ì¾ÚÀɮרt²Î¨Ó»s§@¡C ¤U ¦C¤èªk°£¥h°±¤î Data Links Manager ªº»Ý¨D¡A ¥D­n°w¹ï»Ý­n¸û°ª¥i¥Î©Êªº¨Ï¥ÎªÌ¡C 1. ¦s¨ú CLI ¨Ó·½ÀÉ quiesce.c ¤Î Shell Script online.sh¡C³o¨ÇÀɮצì©ó /samples/dlfm ¥Ø¿ý¡C 2. ½sĶ quiesce.c¡G xlC -o quiesce -L$HOME/sqllib/lib -I$HOME/sqllib/include -c quiesce.c 3. ¥H root ¨­¤À¡A¦b¨ã¦³ DLFS Àɮרt²Îªº¸`ÂI¤W°õ¦æ Script¡C shell script online.sh °²³]±z¦b Data Link Manager ¸`ÂI¤W¨ã¦³«¬¿ýµn¿ý (°w¹ï ¥H Data Link Manager ¨Óµn¿ýªº¨C­Ó¸ê®Æ®w)¡C¤]°²³] /etc/filesystems ¨ã¦³ DLFS Àɮרt²Îªº§¹¾ãµn¿ý¡Cshell script °õ¦æ¤U¦C°Ê§@¡G * ÀR¤î¸ê®Æ®w¸Ìªº©Ò¦³ªí®æ¡A³o¨Ç¸ê®Æ®w¥H Data Links Manager ¨Óµn¿ý¡C³o¼Ë·| °±¤î©Ò¦³·sªº¬¡°Ê¡C * ±NÀɮרt²Î¥H°ßŪÀɮרt²Î¨Ó¸Ñ°£¸Ë¸ü©Î­«·s¸Ë¸ü¡C * °õ¦æÀɮרt²Î³Æ¥÷¡C * ±NÀɮרt²Î¥HŪ¨ú/¼g¤JÀɮרt²Î¨Ó¸Ñ°£¸Ë¸ü©Î­«·s¸Ë¸ü¡C * ­«³] DB2 ªí®æ¡F¤]´N¬O¡A¸Ñ°£ÀR¤îª¬ºA¡C ¥²¶·­×§ï Script ¥H¾A¦X±zªºÀô¹Ò¡A¦p¤U©Ò¥Ü¡G 1. ¿ï¨ú³Æ¥÷«ü¥O¡A¨Ã©ñ¸m©ó script ªº do_backup ¨ç¼Æ¡C 2. ³]©w Script ¤ºªº¤U¦CÀô¹ÒÅܼơG o DLFM_INST¡G³]©w³o­Ó¨ì DLFM ®×¨Ò¦WºÙ¡C o PATH_OF_EXEC¡G³]©w³o­Ó¨ì "quiesce" ¥i°õ¦æÀÉ©Ò¦bªº¸ô®|¡C ¥H¤U¦C«ü¥O©I¥s script¡G online.sh ------------------------------------------------------------------------ 4.16 ¦b Windows NT ¤W¸ê®ÆÃìµ²¤¤ªº Administrator ¸s²Õ±M¥ÎÅv ¦b Windows NT ¤W¡A¹ï©ó¤j³¡¤Àªº¨ç¼Æ¡A¤@­ÓÁõÄÝ©ó Adminstrator ¸s²Õªº¨Ï¥ÎªÌ Ãö ©ó¨Ï¥Î DataLink ¨ÓÃìµ²ªºÀɮשM UNIX ¤Wªº root ¨Ï¥ÎªÌ¦³¬Û¦Pªº±M¥ÎÅv¡C ¤U­±ªº ªí®æ±N¨âªÌ°µ¤F¤ñ¸û¡C §@·~ Unix (root) Windows NT (Administrator) §ó¦W ¬O ¬O ¤£»Ý²Å°O¥i¦s¨úÀÉ®× ¬O ¬O §R°£ ¬O §_ (½Ð¬Ý¤U­±ªº»¡©ú) §ó·s ¬O §_ (½Ð¬Ý¤U­±ªº»¡©ú) µù: NTFS ¤£¤¹³\³o¨Ç§@·~¦b°ßŪÀɮפW°õ¦æ¡C Administrator ¨Ï¥ÎªÌ¥i¥H¶¶§Q§¹¦¨ ³o¨Ç§@·~¡A ¤èªk¬°±Ò¥ÎÀɮתº¼g¤J³\¥iÅv¡C ------------------------------------------------------------------------ 4.17 ±N Data Links File System Filter (DLFF) ¦w¸Ëªº°O¸ü´î¨ì³Ì¤Ö ±z¥i¥HÅܧó dlfs_cfg ÀɮסA ±N Data Links File System Filter (DLFF) ¦w¸Ëªº°O ¸ü´î¨ì³Ì¤Ö¡Cdlfs_cfg ÀÉ®×·|¶Ç¨ì strload ±`¦¡¨Ó¸ü¤JÅX°Êµ{¦¡¤Î¬[ºc°Ñ¼Æ¡C ÀÉ®× ªº¦ì¸m¦b /usr/lpp/db2_07_01/cfg/ ¥Ø¿ý¡C ³z¹L²Å¸¹Ãìµ²¡A¤]¥i¦b /etc ¥Ø¿ý§ä¨ì ³o­ÓÀɮסC dlfs_cfg Àɮתº®æ¦¡¦p¤U¡G d 'driver-name' 'vfs number' 'dlfm id' 'global message priority' 'global module priority' - 0 1 ¨ä¤¤¡G d d °Ñ¼Æ«ü©w­n¸ü¤JÅX°Êµ{¦¡¡C driver-name driver-name ¬O­n¸ü¤JªºÅX°Êµ{¦¡ªº§¹¾ã¸ô®|¡C¨Ò¦p¡A DB2 ª©¥» 7 ªº§¹¾ã¸ô®| ¬O /usr/lpp/db2_07_01/bin/dlfsdrv¡CÅX°Êµ{¦¡¦WºÙ¬O dlfsdrv¡C vfs number ³o¬O DLFS ¦b /etc/vfs ¤¤ªº vfs ¶µ¥Ø¡C dlfm id ³o¬O DataLinks Manager ºÞ²zªÌªº¨Ï¥ÎªÌ ID¡C global message priority ³o¬O¼s°ì°T®§Àu¥ý¶¶§Ç global module priority ³o¬O¼s°ì¼Ò²ÕÀu¥ý¶¶§Ç 0 1 0 1 ¬O¥Î¨Ó«Ø¥ß¦¹ÅX°Êµ{¦¡«D½Æ»s¸`ÂIªº¸û¤p¼Æ¦r¡C ¸`ÂI¦WºÙ¬O±N¸û¤p¼Æ¦rªþ ¥[¨ì³Q½Æ»sªºÅX°Êµ{¦¡¸`ÂI¦WºÙ¨Ó«Ø¥ßªº¡C ¤£¥iµ¹¶W¹L 5 ­Ó¥H¤Wªº¸û¤p¼Æ¦r (0-4)¡C ²{¹ê¤¤ªº½d¨Ò¥i¯à¦p¤U¡G d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,255,-1 - 0 1 ·|°O¸üªº°T®§¬O¨Ì¾Ú global message priority ¤Î global module priority ªº³]©w ­È¦Ó©w¡C ­Y­n±N°O¸ü´î¨ì³Ì¤Ö¡A±z¥i¥HÅܧó global message priority ªº­È¡C ¦³ 4 ­Ó°T®§Àu¥ý¶¶§Ç¥i¥H¨Ï¥Î¡G #define LOG_EMERGENCY 0x01 #define LOG_TRACING 0x02 #define LOG_ERROR 0x04 #define LOG_TROUBLESHOOT 0x08 ¤j³¡¥÷ DLFF ¤¤ªº°T®§¨Ï¥Î LOG_TROUBLESHOOT §@¬°°T®§Àu¥ý¶¶§Ç¡C ³o¸Ì¬O¤@¨Ç´À¥N ¬[ºc½d¨Ò¡G ¦pªG±z¯uªº»Ý­nºò«æ(emergency)°T®§¤Î¿ù»~°T®§¡A ½Ð±N dlfs_cfg °t¸mÀɤ¤ªº¼s°ì °T®§Àu¥ý¶¶§Ç³]©w¬° 5 (1+4)¡G d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,5,-1 - 0 1 ¦pªG¥u»Ý­n¿ù»~°T®§¡A½Ð±N¼s°ì°T®§Àu¥ý¶¶§Ç³]©w¬° 4¡G d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,4,-1 - 0 1 ¦pªG±z¤£»Ý­n DLFS °O¸ü¡A «h±N¼s°ì°T®§Àu¥ý¶¶§Ç³]©w¬° 0¡G d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,0,-1 - 0 1 4.17.1 ¦b¦w¸Ë«á°O¸ü°T®§ ¦pªG±z¦b¦w¸Ë¤§«á»Ý­n°O¸üºò«æ¡B¿ù»~¤ÎºÃÃø±Æ¸Ñ°T®§¡A ±z¥²¶·­×§ï dlfs_cfg ÀÉ ®×¡C dlfs_cfg Àɮתº¦ì¸m¦b/usr/lpp/db2_07_01/cfg ¥Ø¿ý¡C ¼s°ì°T®§Àu¥ý¶¶§Ç¥² ¶·³]©w¬° 255 (³Ì¤jÀu¥ý¶¶§Ç) ·| 13 (8+4+1)¡C ±NÀu¥ý¶¶§Ç³]©w¬° 13 (8+4+1) ·| °O¸üºò«æ¡B¿ù»~¤ÎºÃÃø±Æ¸Ñ¸ê°T¡C ¦b³]©w¼s°ì°T®§Àu¥ý¶¶§Ç¤§«á¡A¸Ñ°£¸Ë¸ü DLFS ¹LÂoÀɮרt²Î¡A ¨Ã­«·s¸ü¤J dlfsdrv ÅX°Êµ{¦¡¥H¦b¸ü¤J®É¨Ï¥Î·sªºÀu¥ý¶¶§Ç­È¡C ¦b­«·s¸ü¤J dlfsdrv ÅX°Êµ{¦¡¤§«á¡A ¥² ¶·­«·s¸Ë¸ü DLFS ¹LÂoÀɮרt²Î¡C µù: ª½¨ì¦A«×Åܧó dlfs_cfg ÀɮסA ¥ô¦ó«áÄòªº dlfsdrv ÅX°Êµ{¦¡¸ü¤J·|¨Ï¥Î¬Û¦P dlfs_cfg ³]©w­È¡C ------------------------------------------------------------------------ 4.18 ¨Ï¥Î SMIT ¸Ñ°£¦w¸Ë DLFM ¤¸¥ó¥i¯à·|°£¥hÃB¥~ªºÀɮ׶° ¦b±q¦w¸Ë Data Links Manager ªº AIX ¾÷¾¹¤W¸Ñ°£¦w¸Ë DB2 (ª©¥» 5¡B6 ©Î 7) ¤§ «e¡A ½Ð¿í´`¤U¦C¨BÆJ¡G 1. ¥H root ªº¨­¤À¡A¨Ï¥Î¤U¦C«ü¥O³Æ¥÷ /etc/vfs¡G cp -p /etc/vfs /etc/vfs.bak 2. ¸Ñ°£¦w¸Ë DB2¡C 3. ¥H root ªº¨­¤À¡A¥Î¨BÆJ 1 ©Ò°µªº³Æ¥÷¨ú¥N /etc/vfs¡G cp -p /etc/vfs.bak /etc/vfs ------------------------------------------------------------------------ 4.19 ¶}©l¤§«e/¨M©w¥D¹q¸£¦WºÙ ±z¥²¶·¨M©w¨C¤@¥x DB2 ¦øªA¾¹¤Î¸ê®ÆÃìµ²¦øªA¾¹ªº¦WºÙ¡C±z¥²¶·­nª¾¹D³o¨Ç¥D¹q¸£¦W ºÙ¡A¤~¯àÅçÃÒ¦w¸Ë§@·~¡C ¦b³s±µ¨ì¡uDB2 Data Links Àɮ׺޲zµ{¦¡¡v®É¡ADB2 UDB ¦øªA¾¹·|¤º³¡¶Ç°e¤U¦C¸ê°T¨ì DLFM¡G * ¸ê®Æ®w¦WºÙ * ®×¨Ò¦WºÙ * ¥D¹q¸£¦WºÙ µM«á DLFM ·|±N¦¹¸ê°T»P¥¦ªº¤º³¡ªí®æ§@¤ñ¹ï¡A ¥H¨M©w¬O§_®e³\³s½u¦¨¥ß¡C¥u¦³¸ê®Æ ®w¦WºÙ¡B®×¨Ò¦WºÙ©M¥D¹q¸£¦WºÙªº²Õ¦X³£¤w¨Ï¥Î dlfm add_db «ü¥Oµù¥U¨ì DLFM ®É¡A ³s½u¤~·|¦¨¥ß¡C¦b dlfm add_db «ü¥O¤¤¨Ï¥Îªº¥D¹q¸£¦WºÙ¥²¶·©M DB2 UDB ¦øªA¾¹ ©Ò ¤º³¡¶Ç°eªº¥D¹q¸£¦WºÙ§¹¥þ¬Û²Å¡C ¨Ï¥Î¥H¤U¦C¤è¦¡©Ò±o¨ìªº¥D¹q¸£¦WºÙ¡G 1. ¦b DB2 ¦øªA¾¹¤W¿é¤J hostname «ü¥O¡C¨Ò¦p¡A¦¹«ü¥O¥i¯à·|¶Ç¦^ db2server¡C 2. ®Ú¾Ú±zªº¥­¥x¡A°õ¦æ¤U¦C¨ä¤¤¤@¶µ¡G o ¦b AIX ¤W¡A¿é¤J host db2server «ü¥O¡A¨ä¤¤ db2server ¬O¥ý«e¨BÆJ¤¤ ©Ò±o¨ìªº¦WºÙ¡C ³o­Ó«ü¥OÀ³¸Ó·|¶Ç¦^Ãþ¦ü¤U¦Cªº¿é¥X¡G db2server.services.com is 9.11.302.341, Aliases: db2server o ¦b Windows NT ¤W¡A¿é¤J nslookup db2server «ü¥O¡A¨ä¤¤ db2server ¬O ¥ý«e¨BÆJ¤¤©Ò±o¨ìªº¦WºÙ¡C ³o­Ó«ü¥OÀ³¸Ó·|¶Ç¦^Ãþ¦ü¤U¦Cªº¿é¥X¡G ¦øªA¾¹¡Gdnsserv.services.com ¦ì§}¡G9.21.14.135 ¦WºÙ¡Gdb2server.services.com ¦ì§}¡G9.21.51.178 o ¦b Solaris ¤W¡A¿é¤J cat /etc/hosts | grep 'hostname'¡C¦pªG¥D¹q¸£ ¦WºÙ¦b /etc/hosts ¤¤«ü©w®É¤£§t»â°ì¦WºÙ¡A «h³o­Ó«ü¥OÀ³¸Ó·|¶Ç¦^Ãþ¦ü ¤U¦Cªº¿é¥X¡G 9.112.98.167 db2server loghost ¦pªG¥D¹q¸£¦WºÙ«ü©w®É§t»â°ì¦WºÙ¡A«h«ü¥O·|¶Ç¦^Ãþ¦ü¤U¦Cªº¿é¥X¡G 9.112.98.167 db2server.services.com loghost ¦b¨Ï¥Î dlfm add_db «ü¥Oµù¥U DB2 UDB ¸ê®Æ®w®É½Ð¥Î db2server.services.com §@ ¬°¥D¹q¸£¦WºÙ¡C ¦pªG¦b dlfm add_db «ü¥O¤¤¨Ï¥Î¥ô¦ó¨ä¥¦ªº§O¦W¡A «h DB2 ¦øªA¾¹ ¤º³¡¨ì DLFM ªº³s½u·|¥¢±Ñ¡C ­Y­n±N Data Links ¦øªA¾¹µù¥U¨ì DB2 ¸ê®Æ®w¡A ¥i¨Ï¥Î DB2 "add datalinks manager for database database_alias using node hostname port port_number" «ü¥O¡C hostname ¬O Data Links ¦øªA¾¹ªº¦WºÙ¡C¦b¦¹«ü¥O¤¤¥i¨Ï¥Î¥ô¦ó Data Links ¦øªA¾¹ ªº¦³®Ä§O¦W¡C °Ñ·Ó¦¹ Data Links ¦øªA¾¹ªº DATALINK ­È¥²¶·¥Î URL ­È¨Ó«ü©w hostname¡F ¥ç§Y¦b«ü¬£ URL ­Èµ¹ DATALINK ª½Äæ®É¡A¥²¶·¨Ï¥Î "add datalinks manager" «ü¥O¤¤©Ò¨Ï¥Îªº¦WºÙ¡C ¨Ï¥Î¤£¦Pªº§O¦W±N·|³y¦¨ SQL ³¯­z¦¡¥¢±Ñ¡C ------------------------------------------------------------------------ 4.20 ¨Ï¥Î DLFM¡G±q DB2 ¸ê®Æ®w±Ë±ó DB2 Data Links Manager «áªº²M°£°Ê§@ ·í¨Ï¥Î DROP DATALINKS MANAGER «ü¥O±q¸ê®Æ®w±N DB2 Data Links Manager ±Ë±ó ®É¡A «ü¥O¥»¨­¤£·|²M°£Ãö©ó DB2 Data Links Manager ªº¬ÛÃö¸ê°T¡C¨Ï¥ÎªÌ¥i¥H©ú½T ¦a°_©l¸Ñ°£Ãìµ²¥ô¦óÃìµ²¨ì¸ê®Æ®wªºÀɮסA ¥H¤Î³Æ¥÷¸ê°Tªº©U§£¦¬¶°¡C ³o¥i¥H¨Ï¥Î dlfm drop_dlm «ü¥O¨Ó§¹¦¨¡C³o­Ó«ü¥O·|±N¯S©w¸ê®Æ®wªº©Ò¦³¸ê°T«D¦P¨Bªº§R°£¡CDB2 Data Links Manager ¥²¶·¦b°õ¦æ¤¤¡A¦¹«ü¥O¤~·|¦¨¥\¡C «D±`­«­n¡G¦¹«ü¥O¥u¦b±Ë±ó DB2 Data Links Manager ¤§«á¤~¯à¨Ï¥Î¡F §_«h¡A±N·|¥¢¥hÃö©ó DB2 Data Links Manager ªº­«­n¸ê°T¡A¥BµLªk¦^´_¡C ­Y­n¹ï¯S©w¸ê®Æ®w°_©l¸Ñ°£Ãìµ²³B²zµ{§Ç¤Î³Æ¥÷¸ê°Tªº©U§£¦¬¶°¡G 1. ¥H¡uData Links Àɮ׺޲zµ{¦¡¡vºÞ²zªÌ¨­¤Àµn¤J¨t²Î¡C 2. µo¥X¤U¦C«ü¥O¡G dlfm drop_dlm database instance hostname ¨ä¤¤¡G database ¬O»·ºÝ DB2 UDB ¸ê®Æ®wªº¦WºÙ¡F instance ¬O¸ê®Æ®w©Ò¦bªº®×¨Ò¡F hostname ¬O¸ê®Æ®w©Ò¦bªº DB2 UDB ¦øªA¾¹ªº¥D¹q¸£¦WºÙ¡C 3. µn¥X¡C ­Y»Ý§¹¾ãªº¥Îªk¹ê°È½d¨Ò¡AÅã¥ÜÀ³¸Ó¦p¦ó¨Ï¥Î¦¹«ü¥Oªº¤W¤U¤å¡A½Ð°Ñ¾\ Command Reference¡C ¤w¬°¦¹«ü¥O«Ø¥ß¤F¤@­Ó·sªº¿ù»~½X (½Ð°Ñ¾\4.21, DLFM1001E (·sªº¿ù»~°T®§))¡C ------------------------------------------------------------------------ 4.21 DLFM1001E (·sªº¿ù»~°T®§) DLFM1001E: ¦b drop_dlm ³B²zµ{§Ç®Éµo¥Í¿ù»~¡C ­ì¦]¡G Data Links Manager µLªk¹ï«ü©wªº¸ê®Æ®w°_©l¸Ñ°£Ãìµ²¤Î©U§£¦¬¶°³B²zµ{§Ç¡C ³o¥i ¯à¦]¬°¤U¦C¥ô¤@­ì¦]¦Óµo¥Í¡G * Data Links Manager ¤£¦b°õ¦æ¤¤¡C * «ü¥O¤¤«ü©wªº¸ê®Æ®w¡B®×¨Ò¤Î¥D¹q¸£¦WºÙªº²Õ¦XµL®Ä¡C * ¦b Data Links Manager ªº¥ô¤@¤¸¥óªA°È¥¢±Ñ¡C °Ê§@¡G ½Ð°õ¦æ¤U¦C¨BÆJ¡G 1. ½T©w Data Links Manager ¦b°õ¦æ¤¤¡C±Ò°Ê Data Links Manager¡A¦pªG¥¦¤£¦b °õ¦æ¤¤¡C 2. ½T©w¸ê®Æ®w¡B®×¨Ò¤Î¥D¹q¸£¦WºÙªº²Õ¦X©w¸q¤@­Ó¤wµù¥Uªº¸ê®Æ®w¡C±z¥i¦b Data Links Manager ¤W¨Ï¥Î "dlfm list registered databases" «ü¥O¨Ó¹F¨ì¥Øªº¡C 3. ¦pªG¿ù»~¤´µMµo¥Í¡A½Ð°Ñ·Ó db2diag.log Àɮפ¤ªº¸ê°T¡A Àˬd¬O§_¦³¥ô¦ó¤¸¥ó ªA°È (¨Ò¦p¡AConnection Management Service¡B Transaction Management Service µ¥µ¥) ¥¢±Ñ¡Cª`·N db2diag.log ¤¤ªº¿ù»~½X¡A ¨Ã±Ä¨ú¿ù»~½X©³¤U©Ò«Ø ijªº¾A·í°Ê§@¡C ------------------------------------------------------------------------ 4.22 DLFM ³]©w¬[ºcÀɿﶵ dlfm setup dlfm.cfg ¿ï¶µ¤w³Q°£¥h¡C¦b¤å¥ó¤¤­Y¦³´£¤Î¡A½Ð¤©¥H©¿²¤¡C ------------------------------------------------------------------------ 4.23 ¦b AIX ¤W°õ¦æ Data Links/DFS Script dmapp_prestart ®Éµo¥Í¿ù»~ ¦pªG«ü¥O /usr/sbin/cfgdmepi -a "/usr/lib/drivers/dmlfs.ext" ¥¢±Ñ¡A¦Ó¦^ÂнX¬° 1 (¦b±z°õ¦æ Data Links/DFS Script dmapp_prestart)¡A½Ð¦w¸Ë DFS 3.1 ptfset1 ¨Ó­×¥¿ cfgdmepi¡C ------------------------------------------------------------------------ 4.24 Tivoli Space Manager »P Data Links ¾ã¦X DB2 Data Links Manager ²{¦b¤w¨ã¦³ Tivoli Space Manager ¥\¯à¤WªºÀuÂI¡C Tivoli Space Manager Hierarchical Storage Manager (HSM) ±qÄݯ¸µ{¦¡ ·|¦Û°Ê±N ¦X®æÀɮײ¾Âà¦ÜÀx¦sÅé¡A¥HºûÅ@¥»ºÝÀɮרt²Î¤W¯S©w¼h¦¸ªº¥i¥ÎªÅ¶¡¡C ·í¦s¨ú²¾Â઺ Àɮ׮ɡA·|¦Û°Ê­«·s©I¥s³o¨ÇÀɮסA¦Ó¥B®e³\¨Ï¥ÎªÌ²¾Âà¤Î­«·s©I¥s¯S©wªºÀɮסC ¹ï©ó©Ò¨Ï¥ÎÀɮרt²Î¤º§t»Ý­n©w´Á²¾¦Ü²Ä¤T¼hÀx¦sÅé (¨ä¤¤ªºÀɮרt²ÎªÅ¶¡»Ý­n¦b¤@ ¯ë°ò¦¤WºÞ²z) ªº¤j«¬Àɮפ§«È¤á¦Ó¨¥¡A³o­Ó·s¯S©Ê«Ü¦³À°§U¡C Tivoli Space Manager ¥Ø«e´£¨Ñ¤@¨Ç¤èªk¨ÓºÞ²z³\¦h«È¤áªº²Ä¤T¼hÀx¦sÅé¡C Tivoli Space Manager ªº DB2 Data Links Manager ·s¥\¯à´£¨Ñ§ó¤jªº¼u©Ê¨ÓºÞ²z DATALINK ÀɮתŶ¡¡C Tivoli Space Manager ®e³\©w´Á½Õ¾ã Data Links ºÞ²zªºÀɮרt²Î°t¸m¡A ÁקK¥¿±` ¨Ï¥Î´Á¶¡¦]²¨¥G¦Ó¾É­PÀɮרt²Î¶ñº¡ªº­·ÀI¡A¦Ó¤£»Ý­n¦b©Ò¦³ÀÉ®×¥i¯àÀx¦s©ó¨ä¤¤ªº DB2 Data Links Manager Àɮרt²Î¤¤¹w¥ý°t¸m¨¬°÷ªºªÅ¶¡¡C ·s¼W Data Links »P HSM ¤ä´©¨ìÀɮרt²Î ¥H Hierarchical Storage Management (HSM) µn°OÀɮרt²Î®É¡A ½Ð¥ý¥H HSM µn°O¦A¥H DataLinks File Manager µn°O¡C 1. µn°O HSM ®É¡A½Ð¨Ï¥Î«ü¥O "dsmmigfs add /fs"¡C 2. µn°O DLM ®É¡A½Ð¨Ï¥Î«ü¥O "dlfmfsmd/fs"¡C Àɮרt²Îªº Data Links ¤ä´©³z¹L¤U¦Cµn¿ý¡A¤Ï¬M¦b HSM Àɮרt²Îªº /etc/filesystems ¤§¬q¸¨¤¤¡G vfs = dlfs mount = false options = rw,Basefs=fsm nodename = - ·s¼W Data Links ¤ä´©¨ì²{¦sªº HSM Àɮרt²Î µn°O DLM ®É¡A½Ð¨Ï¥Î«ü¥O "dlfmfsmd/fs"¡C ·s¼W HSM ¤ä´©¨ì²{¦sªº Data Links Àɮרt²Î 1. µn°O HSM ®É¡A½Ð¨Ï¥Î«ü¥O "dsmmigfs add /fs"¡C 2. µn°O DLM ®É¡A½Ð¨Ï¥Î«ü¥O "dlfmfsmd/fs"¡C ±q Data Links-HSM Àɮרt²Î²¾°£ Data Links ¤ä´© ²¾°£ Data Links ¤ä´©®É¡A½Ð¨Ï¥Î«ü¥O "dlfmfsmd -j /fs"¡C ±q Data Links-HSM Àɮרt²Î²¾°£ HSM ¤ä´© 1. ²¾°£ HSM ¤ä´©¡A½Ð¨Ï¥Î«ü¥O "dsmmigfs remove /fs"¡C 2. ²¾°£ Data Links ¤ä´©¬O "dlfmfsmd -j /fs"¡C 3. µn°O DLM ®É¡A½Ð¨Ï¥Î«ü¥O "dlfmfsmd/fs"¡C ±q Data Links-HSM Àɮרt²Î²¾°£ Data Links »P HSM ¤ä´© 1. ²¾°£ HSM ¤ä´©¡A½Ð¨Ï¥Î«ü¥O "dsmmigfs remove /fs"¡C 2. ²¾°£ Data Links ¤ä´©®É¡A½Ð¨Ï¥Î«ü¥O "dlfmfsmd -j/fs"¡C 4.24.1 ¥\¯à­­¨î ¥»¥\¯à¦Ü¥Ø«e¶È¤ä´©¦b AIX ¤W¨Ï¥Î¡C FC (Read permission DB) Ãìµ²Àɪº¿ï¾Ü©Ê²¾Âà (dsmmigrate) ¤Î¨ú¦^¥uÀ³¥Ñ root ¨Ï¥ÎªÌ§¹¦¨¡C ¦b Read Permission DB Àɮ׬° DataLink Manager Administrator (dlfm) ªº ±¡ªp¤U¡A¿ï¾Ü©Ê²¾Âà¥u¯à¥ÑÀÉ®×¾Ö¦³ªÌ°õ¦æ¡C­Y­n¦s¨ú³oÃþ«¬ÀɮסA «h»Ý­n¥D ¹q¸£¸ê®Æ®wºÝªº²Å°O¡C °ß¤@¤£»Ý­n²Å°Oªº¨Ï¥ÎªÌ¬° root ¨Ï¥ÎªÌ¡Croot ¨Ï¥ÎªÌ ¹ï Read Permission DB ÀÉ®×°õ¦æ¿ï¾Ü©Ê²¾Âà¤Î¨ú¦^¤ñ¸û®e©ö¡C¶È¦b²Ä¤@¦¸²¾Âà ®É¡A dlfm ¨Ï¥ÎªÌ¤~¯à¨Ï¥Î¦³®Äªº²Å°O²¾Âà FC ÀɮסC­Y¦b¨ú¦^¤§«á¹Á¸Õ²Ä¤G¦¸ ²¾Âà¡A ¦¹§@·~·|¥¢±Ñ¡A¶Ç¦^¿ù»~°T®§ "ANS1028S ¤º³¡µ{¦¡¿ù»~¡C ½ÐÁpµ¸«È¤á ªA°È¥Nªí¡C" «D root ¨Ï¥ÎªÌµLªk¹ï FC ÀÉ®×°õ¦æ dsmmigrate¡C¤@¯ë¦Ó¨¥¡A¦¹ ­­¨î¹ï¦s¨úÀɮצøªA¾¹¤WÀÉ®× ªººÞ²zªÌ¼vÅT¤£¤j¡C stat ©M statfs ¨t²Î©I¥s·|±N Vfs Ãþ«¬Åã¥Ü¬° fsm¡A¦Ó«DÅã¥Ü¬° dlfs¡A ÁöµM dlfs ¸Ë¸ü¦b fsm ¤§¤W¡C ¤W­z¦æ¬°¥Nªí dsmrecalld ±`¾nµ{¦¡ªº¥¿±`¥\¯à¡A¨ä¦bÀɮרt²Î¤W°õ¦æ statfs ¨ÓÀˬd¨ä Vfs Ãþ«¬¬O§_¬° fsm¡C ­YÀɮתº³Ì¤p inode ¸¹½X¬° FC (Read permission DB) Ãìµ²ªº¸¹½X¡A «h«ü¥O "dsmls" ¤£Åã¥Ü¥ô¦ó¿é¥X dsmls «ü¥OÃþ¦ü ls «ü¥O¡A¨ä¦C¥Ü¥Ñ TSM ºÞ²zªºÀɮסC ¤£»Ý­n¨Ï¥ÎªÌ°Ê§@ ------------------------------------------------------------------------ 4.25 ²Ä 4 ³¹ ¦w¸Ë©M¬[ºc DB2 Data Links Manager for AIX 4.25.1 ¤@¯ë¦w¸Ëª`·N¨Æ¶µ 4.25.1.1 ±q DB2 File Manager ª©¥» 5.2 ²¾Âà¨ì DB2 Data Links Manager ª©¥» 7 ¨BÆJ 3 ¤¤ªº¸ê°T¤£¥¿½T¡C¨BÆJ 3 À³¦p¤U©Ò¥Ü¡G "3. ¥H DLFM ºÞ²zªÌ¨­¥÷¡A°õ¦æ /usr/lpp/db2_07_01/adm/db2dlmmg «ü¥O¡C ------------------------------------------------------------------------ ¦w¸Ë»P¬[ºc¸É¥R¸ê®Æ ------------------------------------------------------------------------ 5.1 ²Ä 5 ³¹ ¦b UNIX §@·~¨t²Î¤W¦w¸Ë DB2 ±qÄݯ¸ 5.1.1 HP-UX ®Ö¤ßµ{¦¡¬[ºc°Ñ¼Æ «Øij³]©w HP-UX ®Ö¤ßµ{¦¡°Ñ¼Æ¿ù»~«ü¥X msgmbn ¤Î msgmax À³¸Ó³]©w¬° 65535 ©Î§ó °ª¡C¨â­Ó°Ñ¼Æ³£À³¸Ó³]©w¬° 65535¡C ------------------------------------------------------------------------ 5.2 ²Ä 12 ³¹ °õ¦æ±z¦Û¤vªºÀ³¥Îµ{¦¡ 5.2.1 ¨Ï¥Î Run-Time Client ³sµ²¸ê®Æ®w¤½¥Îµ{¦¡ Run-Time Client ¤£¯à¥Î¨Ó³sµ²¸ê®Æ®w¤½¥Îµ{¦¡ (¶×¤J¡B¶×¥X¡B­«²Õ¡B©R¥O¦æ³B²z ¾¹)¡A ¥B DB2 CLI ·|¦b¸ê®Æ®w¥i¥H¨Ï¥ÎÀɮפ§«e±NÀɮ׳sµ²¨ì¨C¤@­Ó¸ê®Æ®w¡C ±z¥² ¶·§ï¥Î DB2 Administration Client ©Î DB2 Application Development Client¡C ¦b¸ê®Æ®w¥i¥H¨Ï¥Î³o¨Ç¸ê®Æ®w¤½¥Îµ{¦¡©M DB2 CLI ³sµ²Àɮפ§«e¡A¥²¶·±N¸Ó¸ê®Æ®w©M ¥¦­Ì¤§¶¡¶i¦æ³s±µ¡C ºô¸ôÀô¹Ò¤U¡A¦pªG±z¨Ï¥Î¤£¦P§@·~¨t²Îªº¦h­«±qÄݯ¸¡A©Î¬O¤£¦P ªº DB2 ª©¥»©ÎªA°Èµ{¦¡µ¥¯Å¡A±z¥²¶·°¨¤W³sµ²¦U­Ó§@·~¨t²Î©M DB2 ª©¥»²Õ¦Xªº¤½¥Î µ{¦¡¡C 5.2.2 UNIX ±qÄݯ¸¨Ï¥Î ODBC ¦s¨ú DB2 ¦b²Ä 12 ³¹ (¡u°õ¦æ±z¦Û¤vªºÀ³¥Îµ{¦¡¡v) ¤¤´£¨ì¡A ¥H ODBC ±qÄݯ¸À³¥Îµ{¦¡©Î ODBC SDK ¨Ó¦w¸Ë ODBC ÅX°Êµ{¦¡ºÞ²zµ{¦¡¡A «h»Ý­n§ó·s odbcinst.ini¡C ³o¼Ëªº»¡ ªk¤£¤Ó¥¿½T¡C¦]¬°¡A·í±z¦w¸Ë Merant ODBC ÅX°Êµ{¦¡ºÞ²zµ{¦¡²£«~®É¡A«h¤£»Ý­n§ó·s odbcinst.ini¡C ------------------------------------------------------------------------ 5.3 ²Ä 24 ³¹ ³]¸mÁp¦X¨t²Î¨Ó¦s¨ú¦h­«¸ê®Æ¨Ó·½ 5.3.1 Áp¦X¨t²Î DB2 Áp¦X¨t²Î¬O¤@ºØ DBMS ªº¯S®íÃþ«¬¡C Áp¦X¨t²Î¥iÅý±z¬d¸ß¨ÃÂ^¨ú¦ì¦b¨ä¥L DBMS ¤Wªº¸ê®Æ¡A¨Ò¦p Oracle¡BSybase ¤Î Microsoft SQL Server¡C SQL ³¯­z¦¡¥i¥H°Ñ·Ó ¦h­« DBMS ©Î³æ¤@³¯­z¦¡¤¤ªº­Ó§O¸ê®Æ®w¡C ¨Ò¦p¡A±z¥i¥Hµ²¦X¦ì¦b DB2 Universal Database ªí®æ¡BOracle ªí®æ¤Î Sybase ·§²¤ªí¤¤ªº¸ê®Æ¡C ¤ä´©ªº DBMS ¥]¬A Oracle¡BSybase¡BMicrosoft SQL Server (for Windows NT) ¤Î DB2 Universal Database ¨t¦Cªº¦¨­û (¦p DB2 for OS/390¡BDB2 for AS/4000 ¤Î DB2 for Windows)¡C DB2 Áp¦X¨t²Î¥]§t¨ã¦³ DB2 ®×¨Òªº¦øªA¾¹ (¸ê®Æ®w±N¥HÁp¦X¸ê®Æ®w¦øªA) ¥H¤Î¤@­Ó©Î ¦h­Ó¸ê®Æ¨Ó·½¡C Áp¦X¸ê®Æ®w¥]§tÃѧO¸ê®Æ¨Ó·½¤Î¨ä©Ê½èªº¥Ø¿ýµn¿ý¡C ¸ê®Æ¨Ó·½¥]§t DBMS ¤Î¸ê®Æ¡CDB2 Universal Database ¦³³q«H¨ó©w¡AºÙ¬°¥~¼h¡A±z¥i¥H¨Ï¥Î¨Ó¦s¨ú ³o¨Ç¸ê®Æ¨Ó·½¡C ¥~¼h¬O¤@ºØ¾÷¨î¡AÁp¦X¦øªA¾¹¥Î¦¹¾÷¨î¨Ó³q«H¤ÎÂ^¨ú¸ê®Æ¨Ó·½ªº¸ê ®Æ¡C ¼Ê¦W¬O¥Î¨Ó°Ñ·Ó¦ì¦b¸ê®Æ¨Ó·½¤¤ªºªí®æ»P·§²¤ªí¡C À³¥Îµ{¦¡³s±µ¨ìÁp¦X¸ê®Æ ®w¡A´N¹³¥ô¦ó¨ä¥L DB2 ¸ê®Æ®w¡C ±z¨Ï¥Îªº¥~¼h¬O¥H DB2 Universal Database ¥¿¦b °õ¦æªº¥­¥x¬°¨Ì¾Ú¡C ¦bÁp¦X¨t²Î³]©w¤§«á¡A¥i¥H¦s¨ú¸ê®Æ¨Ó·½¤¤ªº¸ê°T¡A§Y¨Ï¦b¤@­Ó¤j«¬¸ê®Æ®w¤¤¡C ¨Ï¥Î ªÌ¤ÎÀ³¥Îµ{¦¡¶Ç°e¬d¸ß¦Ü¤@­ÓÁp¦X¸ê®Æ®w¡A¥¦±q¸ê®Æ¨Ó·½Â^¨ú¸ê®Æ¡C DB2 Áp¦X¨t²Î¦b³¡¥÷­­¨î¤U¾Þ§@¡C¤À´²¦¡­n¨D­­¨î¦b DB2 ª©¥» 7 ¤¤¶i¦æ°ßŪ§@·~¡C ¦¹¥~¡A±z¤£¯à°õ¦æ»P¼Ê¦W¬Û¤Ïªº¤½¥Îµ{¦¡§@·~ (¹³ LOAD¡BREORG¡BREORGCHK¡BIMPORT ¡BRUNSTATS µ¥µ¥)¡C ¦ý¬O¡A±z¥i¥H¨Ï¥Î³z³q¾÷¯à¡A¨Ï¥Î»P¸Ó¸ê®Æ¨Ó·½¬ÛÃöªº SQL ¥Î »y¡A±N DDL ¤Î DML ³¯­z¦¡ª½±µ´£¥X¦Ü DBMS¡C 5.3.1.1 ­­¨î ª©¥» 7.2 ªº·s¥~¼h (¦p Linux ¤Î Solaris ¤Wªº Oracle¡B AIX ¤Î Solaris ¤Wªº Sybase ¤Î NT ¤Î AIX ¤Wªº Microsoft SQL Server) ¤£¥i¥Î©ó FixPak 3¡F±z¥²¶·ÁÊ ¶R DB2 Relational Connect ª©¥» 7.2¡C 5.3.2 ¦w¸Ë DB2 Relational Connect ¥»¸`´£¨Ñ¦b¦øªA¾¹¤W¦w¸Ë DB2 Relational Connect ªº«ü¥O¡A±z±N¥H¸Ó¦øªA¾¹§@¬°Áp ¦X¨t²Î¦øªA¾¹¡C 5.3.2.1 ¦b Windows NT ¦øªA¾¹¤W¦w¸Ë DB2 Relational Connect ¦b±z±N DB2 Relational Connect ¦w¸Ë¦b±zªº Windows NT Áp¦X¦øªA¾¹¤§«e¡G * ½Ð½T©wÁp¦X¦øªA¾¹¤W¦³¦w¸Ë DB2 Universal Database Enterprise Edition ©Î DB2 Universal Database Enterprise -- Extended Edition¡C ­Y±z¥´ºâ±N DB2 ¨t¦C¸ê®Æ®w¨Ö¤J±zªº¤À´²¦¡­n¨D¤¤¡A«h·í±z¦w¸Ë DB2 Universal Database ®É¡A ±z¥²¶·¿ï¨ú Distributed Join for DB2 ¸ê®Æ¨Ó·½¿ï¶µ¡C ­Y­nÅçÃÒ¤w¹ê¦æ¦¹¿ï ¶µ¡A½ÐÀˬd FEDERATED °Ñ¼Æ¬O³]©w¬° YES¡C ±z¥i¥Hµo¥X GET DATABASE MANAGER CONFIGURATION «ü¥OÀˬd¦¹³]©w¡A¥¦·|Åã¥Ü©Ò¦³°Ñ¼Æ¤Î¨ä²{¦æ³]©w­È¡C * ½Ð½T©w±z¤w¦bÁp¦X¦øªA¾¹¤W¦w¸Ë¸ê®Æ¨Ó·½ªº±qÄݯ¸³nÅé (¦p Sybase Open Client)¡C 1. ¥H±z¬°¤F°õ¦æ¦w¸Ë©Ò«Ø¥ßªº¨Ï¥ÎªÌ±b¤áµn¤J¨t²Î¡C 2. Ãö³¬¥ô¦ó°õ¦æ¤¤ªºµ{¦¡¡A¦w¸Ëµ{¦¡¤~¯à¨Ì·Ó­n¨D¨Ó§ó·sÀɮסC 3. ©I¥s¦w¸Ëµ{¦¡¡C±z¥i¥H¦Û°Ê¤è¦¡©Î¥H¤H¤u¤è¦¡¨Ó©I¥s¦w¸Ëµ{¦¡¡C ­Y¦w¸Ëµ{¦¡µL ªk¦Û°Ê±Ò°Ê¡A©Î±z·Q­n¥H¤£¦Pªº»y¨¥°õ¦æ¦w¸Ë¡A½Ð¥H¤H¤u¤è¦¡©I¥s¦w¸Ëµ{¦¡¡C o ­Y­n¦Û°Ê©I¥s¦w¸Ëµ{¦¡¡A½Ð±N DB2 Relational Connect CD ´¡¤JºÏºÐ¾÷ ¤¤¡C¦Û°Ê°õ¦æ¯S©Ê·|¦Û°Ê±Ò°Ê¦w¸Ëµ{¦¡¡C ¨M©w¨t²Î»y¨¥¡A¨Ã±Ò°Ê¸Ó»y¨¥ªº ¦w¸Ëµ{¦¡¡C o ¦Û¦æ©I¥s¦w¸Ëµ{¦¡¡G a. «ö¤@¤U¶}©l¡A¿ï¨ú°õ¦æ¿ï¶µ¡C b. ¦b¶}±ÒÄæ¦ì¤¤¡A¿é¤J¤U¦C«ü¥O¡G x:\setup /i language ¨ä¤¤¡G x: ¥Nªí±zªº CD-ROM ¥úºÐ¾÷¡C language ¥Nªí±z»y¨¥ªº°ê½X (¦p EN ¬O­^¤å)¡C c. «ö¤@¤U½T©w¡C §Y·|¶}±Ò¦w¸Ëµo®g¥x¡C 4. «ö¤@¤U¦w¸Ë¡A¶}©l¦w¸Ëµ{§Ç¡C 5. ¿í´`¦w¸Ëµ{¦¡¤¤ªº´£¥Ü¡C ·íµ{¦¡§¹¦¨®É¡ADB2 Relational Connect »P¨ä¥¦ DB2 ²£«~±N·|¦w¸Ë¦b±zªº¦w¸Ë ¥Ø¿ý¤¤¡C 5.3.2.2 ¦b AIX¡BLinux ¤Î Solaris §@·~Àô¹Ò¦øªA¾¹¤W¦w¸Ë DB2 Relational Connect ¦b±z±N DB2 Relational Connect ¦w¸Ë¦b±zªº AIX¡BLinux ¤Î Solaris §@·~Àô¹ÒÁp¦X ¦øªA¾¹¤§«e¡G * ½Ð½T©wÁp¦X¦øªA¾¹¤W¦³¦w¸Ë DB2 Universal Database Enterprise Edition ©Î DB2 Universal Database -- Extended Edition¡C ­Y±z¥´ºâ±N DB2 ¨t¦C¸ê®Æ®w ¨Ö¤J±zªº¤À´²¦¡­n¨D¤¤¡A«h·í±z¦w¸Ë DB2 Universal Database ®É¡A±z¥²¶·¿ï¨ú Distributed Join for DB2 ¸ê®Æ¨Ó·½¿ï¶µ¡C ­Y­nÅçÃÒ¤w¹ê¦æ¦¹¿ï¶µ¡A½ÐÀˬd FEDERATED °Ñ¼Æ¬O³]©w¬° YES¡C ±z¥i¥Hµo¥X GET DATABASE MANAGER CONFIGURATION «ü¥OÀˬd¦¹³]©w¡A¥¦·|Åã¥Ü©Ò¦³°Ñ¼Æ¤Î¨ä²{¦æ³]©w­È¡C * ½Ð½T©w±z¤w¦bÁp¦X¦øªA¾¹¤W¦w¸Ë¸ê®Æ¨Ó·½ªº±qÄݯ¸³nÅé (¦p Sybase Open Client)¡C ­Y­n±N DB2 Relational Connect ¦w¸Ë¦b±zªº AIX¡BLinux ¤Î Solaris §@·~Àô¹Ò¦øªA ¾¹¡A ½Ð¨Ï¥Î db2setup ¤½¥Îµ{¦¡¡G 1. ¥H®ÚÅv­­¨Ï¥ÎªÌµn¤J¡C 2. ´¡¤J¨Ã¸Ë¸ü±zªº DB2 ²£«~ CD-ROM¡C¦³Ãö¸Ë¸ü CD-ROM ªº¸ê°T¡A ½Ð°Ñ¾\AIX §Ö ³t¤Jªù¡C 3. ¿é¤J cd /cdrom «ü¥O (¨ä¤¤ cdrom ¬O±zªº²£«~ CD-ROM ªº¸Ë¸üÂI)¡A¥HÅܧó¸Ë ¸ü CD-ROM ªº¥Ø¿ý¡C 4. ¿é¤J ./db2setup «ü¥O¡C¦b´X¤ÀÄÁ«á¡A §Y·|¶}±Ò¡uDB2 ¦w¸Ë¤½¥Îµ{¦¡¡vµøµ¡¡C 5. ¿ï¨ú¦w¸Ë¡C§Y·|¶}±Ò¡u¦w¸Ë DB2 V7¡vµøµ¡¡C 6. ¾É¤Þ¦Ü±z±qÄݯ¸ªº DB2 Relational Connect ²£«~¡A¨Ò¦p¡A Relational Connect for Sybase¡A¨Ã«öªÅ®æÁä¥H¿ï¨ú¡C·í±z¿ï¨ú¿ï¶µ®É¡A¨ä®ÇÃä§Y·|¥X²{¬P ¸¹¡C 7. ¿ï¨ú½T©w¡C §Y·|¶}±Ò¡u«Ø¥ß DB2 ªA°È¡vµøµ¡¡C 8. ±z¥i¥H¿ï¾Ü«Ø¥ß DB2 ®×¨Ò¡C¿ï¨ú½T©w¡C §Y·|¶}±Ò¡uºK­n³ø§i¦w¸Ë¡vµøµ¡¡C·|¦Û °Ê¦w¸Ë¨â­Ó¶µ¥Ø¡G Oracle ªº¤À´²¦¡µ²¦X¤Î DB2 Relational Connect ªº¡u²£«~ ¼Ð°O¡v¡C¡u²£«~¼Ð°O¡v¬O¥²­nªº¡A¥iÅý±z³s±µ¨ì Sybase ¸ê®Æ¨Ó·½¡C 9. ¿ï¾ÜÄ~Äò°õ¦æ¡C §Y·|¥X²{¤@µøµ¡¡A«ü¥X³o¬O±z°±¤î Relational Connect ªº³Ì «á¾÷·|¡C ¿ï¾Ü½T©w¥HÄ~Äò°õ¦æ¦w¸Ë¡C¥i¯à­nªá´X¤ÀÄÁªº®É¶¡¤~¯à§¹¦¨¦w¸Ë¡C 10. ·í³qª¾¥X²{®É¡A«ü¥X¦w¸Ë¤w¶¶§Q§¹¦¨¡A½Ð¿ï¨ú½T©w¡C¡uºK­n³ø§i¡v¥X²{®É¡A«ü¥X ­þ¤@­Ó¦w¸Ë¿ï¶µªº¦¨¥\©Î¥¢±Ñ¡F½Ð¦A¦¸¿ï¨ú½T©w¡C ·í¦w¸Ë§¹¦¨®É¡ADB2 Relational Connect »P¨ä¥¦ DB2 ²£«~±N¦w¸Ë¦b¥Ø¿ý¤¤¡C¦b AIX ¤W¡A¦¹¬° /usr/lpp/db2_07_01 ¥Ø¿ý¡C¦b Solaris ¤W¡A ¦¹¬° /opt/IBMdb2/V7.1 ¥Ø¿ý¡C¦b Linux ¤W¡A ¦¹¬° /usr/IBMdb2/V7.1 ¥Ø¿ý¡C ------------------------------------------------------------------------ 5.4 ²Ä 26 ³¹ ¦s¨ú Oracle ¸ê®Æ¨Ó·½ °£¤F¤ä´© AIX ¤Î Windows NT ¤Wªº¥~¼h¡ADB2 Universal Database ¤]¤ä´© Linux ¤Î Solaris §@·~Àô¹Ò¤Wªº Oracle ¥~¼h¡C ¦¹¤ä´©­­©ó Oracle ª©¥» 8¡C ­Y­n¦s¨ú³o¨Ç ¥­¥xªº¥~¼h¡A±z»Ý­n´¡¤J V7.2 DB2 Relational Connect CD¡A¨Ã¿ï¨ú DB2 Relational Connect for Oracle ¸ê®Æ¨Ó·½¡C ¤@¥¹±z¦w¸Ë¤F DB2 Relational Connect¡A±z¥i¥H±N Oracle ¸ê®Æ¨Ó·½·s¼W¨ìÁp¦X¦øªA ¾¹¤¤¡G 1. ¦b DB2 Áp¦X¦øªA¾¹¤W¦w¸Ë¤Î¬[ºc Oracle ±qÄݯ¸³nÅé¡C 2. ­×§ï db2dj.ini Àɮרõo¥X db2set «ü¥O¡A¥H³]©w¸ê®Æ¨Ó·½Àô¹ÒÅܼơC 3. ¹ï©ó UNIX ¥­¥x¤W°õ¦æªº DB2 Áp¦X¦øªA¾¹¡A½Ð°õ¦æ djxlink Script¡A±N Oracle SQL*Net ©Î Net8 ÀÉ®×®wÃìµ²½s¿è¨ì±zªº DB2 Áp¦X¦øªA¾¹¡C 4. ½T©w¤w§ó·s SQL*Net ©Î Net8 tnsnames.ora ÀɮסC 5. ­«·s¨Ï¥Î DB2 ®×¨Ò¡C 6. «Ø¥ß¥~¼h¡C 7. ¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅܼơC 8. «Ø¥ß¦øªA¾¹¡C 9. «Ø¥ß¨Ï¥ÎªÌ¹ï¬M¡C 10. «Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W¡C ¦³Ãö³o¨Ç¨BÆJªº«ü¥Ü¡A¥]¬A³]©wÀô¹ÒÅܼơA¥i¨£©ó¡u²Ä 26 ³¹¡v¡C ³]¸mÁp¦X¨t²Î¨Ó¦s ¨ú DB2 ¦w¸Ë»P¬[ºc¸É¥R¸ê®Æ¤¤ªº Oracle ¸ê®Æ¨Ó·½¡C 5.4.1 ¤å¥ó¿ù»~ ¦b"·s¼W Oracle ¸ê®Æ¨Ó·½¦ÜÁp¦X¨t²Î"¬q¸¨¦³¤U¦C¿ù»~¡G * µ{§Ç¤¤¿òº|¤F¤@­Ó¨BÆJ¡C¥¿½Tªº¨BÆJ¬°¡G 1. °Ñ¦Ò Oracle ´£¨Ñªº¤å¥ó¡A¦b DB2 Áp¦X¦øªA¾¹¤W¦w¸Ë¤Î¬[ºc Oracle ±qÄÝ ¯¸³nÅé¡C 2. ­×§ï db2dj.ini Àɮרõo¥X db2set «ü¥O¡A ¥H³]©w¸ê®Æ¨Ó·½Àô¹ÒÅܼơC db2set «ü¥O·|¥Î±zªº³]©w­È§ó·s DB2 ³]©wÀɵn¿ý¡C ¦³Ãö³]©wÀô¹ÒÅܼƪº¸Ô²Ó«ü¥Ü¥i¨£©ó¡u²Ä 26 ³¹¡v¡C³]¸mÂ÷¦X¨t²Î¨Ó¦s¨ú DB2 ¦w¸Ë»P¬[ºc¸É¥R¸ê®Æ¤¤ªº Oracle ¸ê®Æ¨Ó·½¡C 3. ¹ï©ó UNIX ¥­¥x¤W°õ¦æªº DB2 Áp¦X¦øªA¾¹¡A½Ð°õ¦æ djxlink Script¡A ±N Oracle SQL*Net ©Î Net8 ÀÉ®×®wÃìµ²½s¿è¨ì±zªº DB2 Áp¦X¦øªA¾¹¡C ®Ú¾Ú ±zªº¥­¥x¡Adjxlink Script ªº¦ì¸m¦b¡G /usr/lpp/db2_07_01/bin on AIX /opt/IBMdb2/V7.1/bin Solaris /usr/IBMdb2/V7.1/bin Linux ¥u¦³¦b DB2 Áp¦X¦øªA¾¹¤W¦w¸Ë Oracle ªº±qÄݯ¸³nÅ餧«á¡A¤~°õ¦æ¦¹ Script¡C * ¤å¥ó«ü¥X­n³]©w¡G DB2_DJ_INI = sqllib/cfg/db2dj.ini ³o¬O¤£¥¿½Tªº¡AÀ³¸Ó³]©w¦p¤U¡G DB2_DJ_INI = $INSTHOME/sqllib/cfg/db2dj.ini ------------------------------------------------------------------------ 5.5 ¦s¨ú Sybase ¸ê®Æ¨Ó·½ (·s¼W³¹¸`) ¦b±z±N Sybase ¸ê®Æ¨Ó·½·s¼W¦ÜÁp¦X¦øªA¾¹¤§«e¡A±z¥²¶·±N Sybase Open Client ³n Åé¦w¸Ë¨Ã¬[ºc¦b DB2 Áp¦X¦øªA¾¹¤W¡C ½Ð°Ñ¾\¤å¥ó¤¤ªº¦w¸Ëµ{§Ç¡A¨äÀHªþ¦b Sybase ¸ê®Æ®w³nÅ餤¡A¥H¨ú±o¦p¦ó¦w¸Ë Open Client ³nÅ骺¯S©w©ú²Ó¡C ¦]¬°¬O¦w¸Ëªº¤@³¡ ¥÷¡A½Ð½T©w¥]¬A¤F«¬¿ýÀx¦sµ{§Ç¤Î Sybase Open Client ÀÉ®×®w¡C ­Y­n³]©wÁp¦X¦øªA¾¹¡A¥H¦s¨úÀx¦s¦b Sybase ¸ê®Æ¨Ó·½ªº¸ê®Æ¡A±z¥²¶·¡G 1. ¦w¸Ë DB2 Relational Connect ª©¥» 7.2¡C ½Ð°Ñ¾\5.3.2, ¦w¸Ë DB2 Relational Connect¡C 2. ·s¼W Sybase ¸ê®Æ¨Ó·½¦Ü±zªºÁp¦X¦øªA¾¹¤¤¡C 3. «ü©w Sybase ¦r½X­¶¡C ¥»³¹°Q½×¨BÆJ 2 ¤Î 3¡C ¥»³¹ªº«ü¥Ü¥i¤Þ¥Î¦b Windows NT¡BAIX ¤Î Solaris §@·~Àô¹Ò¡C¯S©w¥­¥xªº¤£¦P³B³Æ µù©ó¨äµo¥Íªº¦a¤è¡C 5.5.1 ·s¼W Sybase ¸ê®Æ¨Ó·½¦ÜÁp¦X¦øªA¾¹ ­Y­n·s¼W Sybase ¸ê®Æ¨Ó·½¦ÜÁp¦X¦øªA¾¹¡A±z¥²¶·¡G 1. ³]©wÀô¹ÒÅܼƨçó·s³]©wÀɵn¿ý¡C 2. ±N DB2 Ãìµ²¦Ü Sybase ±qÄݯ¸³nÅé (¶È AIX »P Solaris) 3. ­«·s¨Ï¥Î DB2 ®×¨Ò¡C 4. «Ø¥ß¨Ã³]©w¤¶­±ÀɮסC 5. «Ø¥ß¥~¼h¡C 6. ¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅܼơC 7. «Ø¥ß¦øªA¾¹¡C 8. ¿ï¥Îªº¡G³]©w CONNECTSTRING ¦øªA¾¹¿ï¶µ¡C 9. «Ø¥ß¨Ï¥ÎªÌ¹ï¬M¡C 10. «Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W¡C ¥»¸`±N¹ï³o¨Ç¨BÆJ§@¸Ô²Óªº¸ÑÄÀ¡C 5.5.1.1 ¨BÆJ 1¡G³]©wÀô¹ÒÅܼƨçó·s³]©wÀɵn¿ý ­×§ï db2dj.ini Àɮרõo¥X db2set «ü¥O¡A ¥H³]©w¸ê®Æ¨Ó·½Àô¹ÒÅܼơCdb2dj.ini ÀÉ®×¥]§t¤F¦w¸Ë¦bÁp¦X¦øªA¾¹¤Wªº Sybase ±qÄݯ¸³nÅ餧¬[ºc¸ê°T¡Cdb2set «ü¥O·|¥Î ±zªº³]©w­È§ó·s DB2 ³]©wÀɵn¿ý¡C ¦b¤À³Îªº¸ê®Æ®w¨t²Î¤¤¡A±z¥i¥H¨Ï¥Î¯S®í®×¨Ò¤¤ªº©Ò¦³¸`ÂI¤§³æ¤@ db2dj.ini ÀɮסA ©Î¨Ï¥Î¯S®í®×¨Ò¤¤ªº¤@©Î¦h­Ó¸`ÂI¤§°ß¤@ªº db2dj.ini ÀɮסC ¥¼¤À³Îªº¸ê®Æ®w¨t²Î ¤¤¡A¨C¤@®×¨Ò¶È¥i¦³¤@­Ó db2dj.ini ÀɮסC ­Y­n³]©wÀô¹ÒÅܼơG 1. ½s¿è¦ì¦b sqllib/cfg ªºÀÉ®× db2dj.ini¡A¨Ã³]©w¤U¦CÀô¹ÒÅܼơG SYBASE="" ¨ä¤¤ ¬O Sybase ±qÄݯ¸¦w¸Ëªº¥Ø¿ý¡C 2. ¥H Sybase Àô¹ÒÅܼƨӧó·s DB2 ®×¨Òªº .profile ÀɮסC ±z¥i¥Hµo¥X¤U¦C«ü¥O ¨Ó°õ¦æ¦¹°Ê§@¡G export PATH="$SYBASE/bin:$PATH" export SYBASE="" ¨ä¤¤ ¬O Sybase ±qÄݯ¸¦w¸Ëªº¥Ø¿ý¡C 3. ­n°õ¦æ DB2 ®×¨Ò .profile¡A½Ð¿é¤J¡G . .profile 4. µo¥X db2set «ü¥O¡A¥Î±zªºÅܧó¨Ó§ó·s DB2 ³]©wÀɵn¿ý¡C ¦¹«ü¥Oªº»yªk db2set¡A¬O¥H±zªº¸ê®Æ®w¨t²Îµ²ºc¬°¨Ì¾Ú¡C ­Y±z¥¿¦b¤U¦C¥ô¦ó¸ê®Æ®w¨t²Îµ²ºc ¤¤¨Ï¥Î db2dj.ini ÀɮסA¤~»Ý­n¦¹¨BÆJ¡G ­Y±z¥¿¦b¥¼¤À³Î¸ê®Æ®w¨t²Î¤¤¨Ï¥Î db2dj.ini ÀɮסA ©Î±z­n db2dj.ini ÀÉ®× ¶È¤Þ¥Î©ó¥Ø«eªº¸`ÂI¡A½Ðµo¥X¡G db2set DB2_DJ_INI = sqllib/cfg/db2dj.ini ­Y±z¥¿¦b¤À³Î¸ê®Æ®w¨t²Î¤¤¨Ï¥Î db2dj.ini ÀɮסA ©Î±z­n db2dj.ini Àɮפ¤ ªº­È¤Þ¥Î©ó¦¹®×¨Òªº©Ò¦³¸`ÂI¡A½Ðµo¥X¡G db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini ­Y±z¥¿¦b¤À³Î¸ê®Æ®w¨t²Î¤¤¨Ï¥Î db2dj.ini ÀɮסA ©Î±z­n db2dj.ini Àɮפ¤ ªº­È¤Þ¥Î©ó¯S©wªº¸`ÂI¡A½Ðµo¥X¡G db2set -i INSTANCEX 3 DB2_DJ_INI = sqllib/cfg/node3.ini ¨ä¤¤¡G INSTANCEX ¥Nªí®×¨Ò¦WºÙ¡C 3 ¥Nªí¦C¥Ü¦b db2nodes.cfg Àɮתº¸`ÂI¸¹½X¡C node3.ini ¥Nªí db2dj.ini Àɮתº­×§ï¤Î§ó¦Wª©¥»¡C 5.5.1.2 ¨BÆJ 2¡G±N DB2 Ãìµ²¦Ü Sybase ±qÄݯ¸³nÅé (¶È AIX »P Solaris) ­Y­n±Ò¥Î¦s¨ú Sybase ¸ê®Æ¨Ó·½¡ADB2 Áp¦X¦øªA¾¹¥²¶·Ãìµ²½s¿è¦Ü±qÄݯ¸ÀÉ®×®w¡CÃì µ²½s¿èµ{§Ç¥HÁp¦X¦øªA¾¹±N³q«Hªº¸ê®Æ¨Ó·½¨Ó«Ø¥ß¨C¤@­Ó¸ê®Æ¨Ó·½ªº¥~¼h¡C·í±z°õ¦æ djxlink Script ®É¡A«Ø¥ß¥~¼hÀÉ®×®w¡C ­Y­nµo¥X djxlink Script Ãþ«¬¡G djxlink 5.5.1.3 ¨BÆJ 3¡G­«·s¨Ï¥Î DB2 ®×¨Ò ­Y­n½T©wÀô¹ÒÅܼƳ]©w©óµ{¦¡¤¤¡A½Ð­«·s¨Ï¥Î DB2 ®×¨Ò¡C ·í±z­«·s¨Ï¥Î®×¨Ò®É¡A´_ ·s DB2 ®×¨Ò¥H±µ¨ü±z©Ò§@ªºÅܧó¡C µo¥X¤U¦C«ü¥O¥H­«·s¨Ï¥Î DB2 ®×¨Ò¡G ¦b DB2 for Windows NT ¦øªA¾¹¤W¡G NET STOP instance_name NET START instance_name ¦b DB2 for AIX ¤Î Solaris ¦øªA¾¹¤W¡G db2stop db2start 5.5.1.4 ¨BÆJ 4¡G«Ø¥ß¨Ã³]©w¤¶­±ÀÉ®× ­Y­n«Ø¥ß¨Ã³]©w¤¶­±ÀɮסA±z¥²¶·«Ø¥ßÀɮרèÏÀÉ®×¥i¦s¨ú¡C 1. ¨Ï¥Î Sybase ´£¨Ñªº¤½¥Îµ{¦¡¨Ó«Ø¥ß¤¶­±ÀɮסA¨ä¥]¬A·Q¦s¨úªº©Ò¦³ Sybase Open Server ªº¸ê®Æ¡C½Ð°Ñ¾\ Sybase ªº¦w¸Ë¤å¥ó¡A¥H¨ú±o¦³Ãö¨Ï¥Î¦¹¤½¥Îµ{¦¡ ªº¸Ô²Ó¸ê°T¡C Windows NT ³q±`±N¦¹ÀɮשR¦W¬° sql.ini¡C ±N±z­è«Ø¥ßªºÀɮסA±q sql.ini ­«·s©R¦W¬° interfaces¡A ¬°¼s¥Î©ó©Ò¦³¥­¥xªºÀɮשR¦W¡C ­Y±z¿ï¾Ü¤£­n±N sql.ini ­«·s©R¦W¬° interfaces¡A ±z¥²¶·¨Ï¥Î IFILE °Ñ¼Æ©Î CONNECTSTRING ¿ï¶µ¡A¨ä¦b¨BÆJ 8 ¤¤¦³»¡©ú¡C ¦b AIX ¤Î Solaris ¨t²Î¤W¡A¦¹Àɮ׬O©R¦W¬° /sqllib/interfaces¡C 2. Åý¤¶­±ÀÉ®×¥i¦s¨ú DB2¡C ¦b DB2 for Windows NT ¦øªA¾¹¤W¡G ±NÀɮשñ¸m¦b DB2 ®×¨Òªº %DB2PATH% ¥Ø¿ý¡C ¦b DB2 for AIX ¤Î Solaris ¦øªA¾¹¤W¡G ±NÀɮשñ¸m¦b DB2 ®×¨Òªº $HOME/sqllib ¥Ø¿ý¡C¨Ï¥Î ln «ü¥O¡AÃìµ²¨ì±q DB2 ®×¨Òªº $HOME/sqllib ¥Ø¿ý¤§ÀɮסC¨Ò¦p¡G ln -s -f /home/sybase/interfaces /home/db2djinst1/sqllib 5.5.1.5 ¨BÆJ 5¡G«Ø¥ß¥~¼h ¨Ï¥Î CREATE WRAPPER ³¯­z¦¡¨Ó«ü©w¥~¼h¡A¨ä±N¥Î¨Ó¦s¨ú Sybase ¸ê®Æ¨Ó·½¡C¥~¼h¬O ¤@ºØ¾÷¨î¡AÁp¦X¦øªA¾¹¥Î¦¹¾÷¨î¨Ó³q«H¤ÎÂ^¨ú¸ê®Æ¨Ó·½ªº¸ê®Æ¡C DB2 ¥]¬A¨â­Ó Sybase ¥~¼h¡GCTLIB ¤Î DBLIB¡C ¤U¦C½d¨ÒÅã¥Ü CREATE WRAPPER ³¯­z¦¡¡G CREATE WRAPPER CTLIB ¨ä¤¤ CTLIB ¬O Sybase Open Client ³nÅé¨Ï¥Îªº¹w³]¥~¼h¦WºÙ¡CCTLIB ¥~¼h¥i¨Ï¥Î©ó Windows NT¡BAIX ¤Î Solaris ¦øªA¾¹¡C ±z¥i¥H¥Î±z¿ï¾Üªº¦WºÙ¨Ó¨ú¥N¹w³]¥~¼h¦WºÙ¡C ¦ý¬O¡A­Y±z³o»ò°µ¡A±z¤]¥²¶·¥]§t CREATE WRAPPER ³¯­z¦¡ªºÁp¦X¦øªA¾¹¤§ LIBRARY °Ñ¼Æ¤Î¥~¼hÀÉ®×®wªº¦WºÙ¡C ½Ð°Ñ¾\ DB2 SQL Reference ¤¤ªº CREATE WRAPPER ³¯­z¦¡¡A¥H¨ú±o¦³Ãö¥~¼h±`¦¡®w¦WºÙªº¸Ô ²Ó¸ê°T¡C 5.5.1.6 ¨BÆJ 6¡G¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅÜ¼Æ ­Y­n¦b¦s¨ú Sybase ¸ê®Æ¨Ó·½®É¼W¶i®Ä¯à¡A½Ð³]©w DB2_DJ_COMM Àô¹ÒÅܼơC¦¹ÅܼƷ| §PÂ_¬O§_­n¦bÁp¦X¦øªA¾¹°_©l³]©w®É¡A¸ü¤J¥~¼h¡C ³]©w DB2_DJ_COMM Àô¹ÒÅܼƥH¥] ¬A¥~¼hÀÉ®×®w¡A »P±z¦b«e¤@¨BÆJ«ü©wªº¥~¼h¬Û²Å¡F¨Ò¦p¡G ¦b DB2 for Windows NT ¦øªA¾¹¤W¡G db2set DB2_DJ_COMM='ctlib.dll' ¦b DB2 for AIX ¦øªA¾¹¤W¡G db2set DB2_DJ_COMM='libctlib.a' ¦b DB2 for Solaris ¦øªA¾¹¤W¡G db2set DB2_DJ_COMM='libctlib.so' ½Ð½T©wµ¥¸¹ (=) ªº¨âÃä³£¨S¦³ªÅ®æ¡C ½Ð°Ñ¾\ DB2 SQL Reference¡A¥H¨ú±o¦³Ãö¥~¼h±`¦¡®w¦WºÙªº¸Ô²Ó¸ê°T¡C ½Ð°Ñ¾\ Administration Guide¡A¥H¨ú±o¦³Ãö DB2_DJ_COMM Àô¹ÒÅܼƪº¸ê°T¡C 5.5.1.7 ¨BÆJ 7¡G«Ø¥ß¦øªA¾¹ ¨Ï¥Î CREATE SERVER ³¯­z¦¡¨Ó©w¸q¨C¤@­Ó·Q­n±q¨ä¤¤¦s¨ú¸ê®Æ¨Ó·½ªº Sybase ¦øªA ¾¹¡A ¨Ò¦p¡G CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIB OPTIONS (NODE 'sybnode', DBNAME'sybdb') ¨ä¤¤¡G SYBSERVER ¥Nªí±z«ü©wµ¹ Sybase ¦øªA¾¹ªº¦WºÙ¡C¦¹¦WºÙ¥²¶·¬O°ß¤@ªº¡C SYBASE ¥Nªí±z­n¬[ºc¦s¨úªº¸ê®Æ¨Ó·½Ãþ«¬¡CSybase ¬O°ß¤@¦³¤ä´©ªº¸ê®Æ¨Ó·½¡C 12.0 ¥Nªí±z­n¦s¨úªº Sybase ª©¥»¡C¤ä´©ªºª©¥»¦³ 10.0¡B11.0¡B11.1¡B11.5¡B11.9 ¤Î 12.0¡C CTLIB ¥Nªí±z¦b CREATE WRAPPER ³¯­z¦¡¤¤«ü©wªº¥~¼h¦WºÙ¡C 'sybnode' ¥Nªí SYBSERVER ±`¾nªº¸`ÂI¦WºÙ¡C¦b¤¶­±Àɮפ¤¨ú±o¸`ÂI­È¡C ¦¹­È¦³°Ï¤À¤j¤p ¼g¡C ÁöµM¸`ÂI¦WºÙ¬O«ü©w¬°¿ï¶µ¡A¦ý¦¹¬° Sybase ¸ê®Æ¨Ó·½©Ò»Ýªº¡C½Ð°Ñ¾\ DB2 SQL Reference¡A¥H¨ú±o¨ä¥L¿ï¶µªº¸ê°T¡C 'sybdb' ¥Nªí±z·Q­n¦s¨úªº Sybase ¸ê®Æ®w¦WºÙ¡C 5.5.1.8 ¿ï¥Îªº¡G¨BÆJ 8¡G³]©w CONNECTSTRING ¦øªA¾¹¿ï¶µ «ü©w¹O®ÉÁ{¬É­È¡B¤¶­±Àɮתº¸ô®|»P¦WºÙ¤Î¤¶­±Àɮתº¤À«Ê¤j¤p¡C Sybase Open Client ¨Ï¥Î¹O®ÉÁ{¬É­È¨Ó§ÃÂ_°õ¦æ®É¶¡¤Óªøªº¬d¸ß»P¦^À³¡C±z¥i¥H¨Ï¥Î CREATE SERVER OPTION DDL ³¯­z¦¡ªº CONNECTSTRING ¿ï¶µ¡A³]©w DB2 ªºÁ{¬É­È¡C¨Ï¥Î CONNECTSTRING ¨Ó«ü©w¡G * SQL ¬d¸ßªº¹O®É´Á¶¡¡C * µn¤J¦^À³ªº¹O®É´Á¶¡¡C * ¦WºÙ¤¶­±ªº¸ô®|¦WºÙ¡C * ¤À«Ê¤j¤p¡C .-;-------------------------------. V | >>----+---------------------------+--+------------------------->< +-TIMEOUT-- = --¬í----------+ +-LOGIN_TIMEOUT-- = --¬í----+ +-IFILE-- = --"string"------+ +-PACKET_SIZE-- = --¦ì¤¸²Õ--+ '-;-------------------------' TIMEOUT «ü©w DB2 Universal Database µ¥«Ý¥ô¦ó SQL ³¯­z¦¡ªº Sybase Open Client ¤§¦^À³ªº¬í¼Æ¡Cseconds ­È¦b DB2 Universal Database ¾ã¼Æ½d³ò¤¤¡A¬O¤@­Ó¥¿ ¾ã¼Æ¡C±z«ü©wªº¹O®É­È¬O¨Ì¾Ú±z¨Ï¥Îªº¥~¼h¡C Windows NT¡BAIX ¤Î Solaris ¦ø ªA¾¹³£¥i¥H§Q¥Î DBLIB ¥~¼h¡CDBLIB ¥~¼hªº¹w³]­È¬O 0¡C ¦b Windows NT¡BAIX ¤Î Solaris ¦øªA¾¹¤W¡ADBLIB ªº¹w³]­È·|¨Ï DB2 Universal Database µL­­´Á ¦aµ¥«Ý¦^À³¡C LOGIN_TIMEOUT «ü©w DB2 Universal Database µ¥«Ý Sybase Open Client ¤§¦^À³µn¤J­n¨Dªº¬í ¼Æ¡C¹w³]­È»P TIMEOUT ¬Û¦P¡C IFILE «ü©w Sybase Open Client ¤¶­±Àɮתº¸ô®|¦WºÙ¡C ¦b string ¤¤ÃѧOªº¸ô®|¥² ¶·¥HÂù¤Þ¸¹ (") §t¬A¡C ¦b Windows NT ¦øªA¾¹¤W¡A¹w³]­È¬O %DB2PATH%¡C ¦b AIX ¤Î Solaris ¦øªA¾¹¤W¡A¹w³]­È¬O sqllib/interfaces¡A¦b±zªº DB2 Universal Database ®×¨Òªº°_©l¥Ø¿ý¤¤¡C PACKET_SIZE «ü©w¤¶­±Àɮתº¤À«Ê¤j¤p (¦ì¤¸²Õ)¡C ­Y¸ê®Æ¨Ó·½¤£¤ä´©«ü©wªº¤À«Ê¤j¤p¡A³s½u ±N·|¥¢±Ñ¡C ·í¨C¤@­Ó°O¿ý³£«Ü¤j®É (¨Ò¦p¡A±N¦C¼Æ´¡¤J¤j«¬ªí®æ¤¤)¡A¼W¥[¤À«Ê ¤j¤p¥i©úÅã¦a¼W¥[®Ä¯à¡C ¦ì¤¸²Õ¤j¤p¬O¤@­Ó¼Æ­È¡C½Ð°Ñ¾\ Sybase °Ñ¦Ò¤â¥U¥H ¨ú±o¸Ô²Ó¸ê°T¡C ½d¨Ò¡G ¦b Windows NT ¦øªA¾¹¤W¡A¨Ï¥Î¤U¦C«ü¥O¡A±N¹O®É­È³]©w¬° 60 ¬í¡A¨Ã±N¤¶­±Àɮ׳] ©w¦Ü C:\etc\interfaces ¤¤¡G CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;LOGIN_TIMEOUT=5;IFILE="C:\etc\interfaces";' ¦b AIX »P Solaris ¦øªA¾¹¤W¡A¨Ï¥Î¤U¦C«ü¥O¡A±N¹O®É­È³]©w¬° 60 ¬í¡A¨Ã±N¤¶­±ÀÉ ®×³]©w¦Ü /etc/interfaces ¤¤¡G CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;PACKET_SIZE=4096;IFILE="/etc/interfaces";' 5.5.1.9 ¨BÆJ 9¡G«Ø¥ß¨Ï¥ÎªÌ¹ï¬M ­YÁp¦X¦øªA¾¹¤¤ªº¨Ï¥ÎªÌ ID »P³q¦æ½X¡A»P Sybase ¤¤ªº¨Ï¥ÎªÌ ID »P³q¦æ½X¤£¦P¡A ½Ð¨Ï¥Î CREATE USER MAPPING ³¯­z¦¡¡A¨Ï¥»ºÝ¨Ï¥ÎªÌ ID »P Sybase ¸ê®Æ¨Ó·½¤¤©w¸q ªº¨Ï¥ÎªÌ ID »P³q¦æ½X¬Û¤¬¹ï¬M¡F¨Ò¦p¡G CREATE USER MAPPING FOR DB2USER SERVER SYBSERVER OPTIONS ( REMOTE_AUTHID 'sybuser', REMOTE_PASSWORD 'dayl1te') ¨ä¤¤¡G DB2USER ¥Nªí±z¥Î¨Ó¹ï¬M¨Ï¥ÎªÌ ID (©w¸q©ó Sybase ¸ê®Æ¨Ó·½¤¤) ªº¥»ºÝ¨Ï¥ÎªÌ ID¡C SYBSERVER ¥Nªí±z¦b CREATE SERVER ³¯­z¦¡¤¤©w¸qªº Sybase ¸ê®Æ¨Ó·½¦WºÙ¡C 'sybuser' ¥Nªí±z­n¹ï¬M DB2USER ªº Sybase ¸ê®Æ¨Ó·½ªº¨Ï¥ÎªÌ ID¡C¦¹­È¦³°Ï¤À¤j¤p¼g¡C 'dayl1te' ¥Nªí»P 'sybuser' ¬ÛÃöªº³q¦æ½X¡C¦¹­È¦³°Ï¤À¤j¤p¼g¡C ½Ð°Ñ¾\ DB2 SQL Reference¡A¥H¨ú±o¨ä¥L¿ï¶µªº¸Ô²Ó¸ê°T¡C 5.5.1.10 ¨BÆJ 10¡G«Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W «ü©w¦b±zªº Sybase ¸ê®Æ¨Ó·½¤¤ªº¨C¤@­Ó·§²¤ªí©Îªí®æªº¼Ê¦W¡C ·í±z¬d¸ß Sybase ¸ê ®Æ¨Ó·½®É¡A±N¨Ï¥Î³o¨Ç¼Ê¦W¡C Sybase ¼Ê¦W¦³°Ï¤À¤j¤p¼g¡C±Nºõ¥Ø¤Îªí®æ¦WºÙ¥HÂù¤Þ ¸¹ (") §t¬A¡C¤U¦C½d¨ÒÅã¥Ü CREATE NICKNAME ³¯­z¦¡¡G CREATE NICKNAME SYBSALES FOR SYBSERVER."salesdata"."europe" ¨ä¤¤¡G SYBSALES ¥Nªí Sybase ªí®æ©Î·§²¤ªíªº±M¥Î¼Ê¦W¡C SYBSERVER."salesdata"."europe" ¥Nªí¿í´`¤U¦C®æ¦¡ªº¤T³¡¤ÀÃѧO¦r¡G data_source_name."remote_schema_name"."remote_table_name" °w¹ï±z·Q­n«Ø¥ß¼Ê¦Wªº¨C¤@­Óªí®æ©Î·§²¤ªí¡A­«½Æ¦¹¨BÆJ¡C ·í±z«Ø¥ß¼Ê¦W®É¡ADB2 ±N ¨Ï¥Î³s½u¨Ó¬d¸ß¸ê®Æ¨Ó·½«¬¿ý¡C ¦¹¬d¸ß·|´ú¸Õ³s±µ¨ì¸ê®Æ¨Ó·½ªºª¬ºA¡C ­Y³s½uµLªk ¹B§@¡A±z·|±µ¦¬¨ì¤@­Ó¿ù»~°T®§¡C ½Ð°Ñ¾\ DB2 SQL Reference¡A¥H¨ú±o¦³Ãö CREATE NICKNAME ³¯­z¦¡ªº¸Ô²Ó¸ê°T¡C¦³Ãö ¤@¯ë¼Ê¦W¤ÎÅçÃÒ¸ê®ÆÃþ«¬¹ï¬Mªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 Administration Guide¡C 5.5.2 «ü©w Sybase ¦r½X­¶ ¦¹¨BÆJ¶È¦b DB2 Áp¦X¦øªA¾¹¤Î Sybase ¦øªA¾¹°õ¦æ¤£¦Pªº¦r½X­¶®É¤~»Ý­n¡C¨Ï¥Î»P DB2 ¬Û¦Pªº¦r½X¶°¤§¸ê®Æ¨Ó·½¤£»Ý­nÂà´«¡C ¤U¦Cªí®æ´£¨Ñ ¤@¯ë¡u°ê®a»y¨¥¤ä´© (NLS)¡v¦r½X­¶ªº¦Pµ¥ Sybase ¿ï¶µ¡C ±zªº Sybase ¸ê®Æ¨Ó·½¬[ºc¥²¶·»P¨ä»y·N¬Û ²Å¡A©ÎªÌ±qÄݯ¸µ{¦¡½X¥²¶·¯à°÷°»´ú¤£²Åªº»y·N¡A¨Ã±N¨ä¼Ð¥Ü¬°¿ù»~¡B©Î¨Ï¥Î¨ä¥»¨­ ªº»y·N¨Ó¹ï¬M¸ê®Æ¡C ­Y±q­ì©l¦r½X­¶¨ì¥Ø¼Ð¦r½X­¶¡A³£§ä¤£¨ìÂà´«ªí¡A«h DB2 ·|µo ¥X¿ù»~°T®§¡C ½Ð°Ñ¾\±zªº Sybase ¤å¥ó¥H¨ú±o¸Ô²Ó¸ê°T¡C ªí 1. ¡uSybase ¦r½X­¶¡v¿ï¶µ ¦r½X­¶ ¦Pµ¥ Sybase ¿ï¶µ 850 cp850 897 sjis 819 iso_1 912 iso_2 1089 iso_6 813 iso_7 916 iso_8 920 iso_9 ------------------------------------------------------------------------ 5.6 ¨Ï¥Î ODBC ¦s¨ú Microsoft SQL Server ¸ê®Æ¨Ó·½ (·s¼W³¹¸`) ¦b±z±N Microsoft SQL Server ¸ê®Æ¨Ó·½·s¼W¦Ü DB2 Áp¦X¦øªA¾¹¤§«e¡A ±z¥²¶·±N ODBC ÅX°Êµ{¦¡¦w¸Ë¨Ã¬[ºc¦bÁp¦X¦øªA¾¹¤W¡C ½Ð°Ñ¾\¤å¥ó¤¤ªº¦w¸Ëµ{§Ç¡A¨äÀHªþ¦b ODBC ÅX°Êµ{¦¡¡A¥H¨ú±o¦p¦ó¦w¸Ë ODBC ÅX°Êµ{¦¡ªº¯S©w©ú²Ó¡C ­Y­n³]©wÁp¦X¦øªA¾¹¥H¦s¨úÀx¦s¦b Microsoft SQL Server ¸ê®Æ¨Ó·½ªº¸ê®Æ¡A±z¥² ¶·¡G 1. ¦bÁp¦X¦øªA¾¹¤W¦w¸Ë¨Ã¬[ºc ODBC ÅX°Êµ{¦¡¡C ½Ð°Ñ¾\¤å¥ó¤¤ªº¦w¸Ëµ{§Ç¡A¨äÀH ªþ¦b ODBC ÅX°Êµ{¦¡¡A¥H¨ú±o¦p¦ó¦w¸Ë ODBC ÅX°Êµ{¦¡ªº¯S©w©ú²Ó¡C ¦b DB2 for Windows NT ¦øªA¾¹¤W¡G ¨Ï¥Î ODBC ¸Ë¸mºÞ²zµ{¦¡¬[ºc¨t²Î DSN¡C ¦b DB2 for AIX ¦øªA¾¹¤W¡G ¦w¸Ë MERANT ´£¨Ñªº°õ¦æºüª©¥»¡A«ü©w MERANT ÀÉ®×®w¥Ø¿ý¬° LIBPATH ¤¤ ªº²Ä¤@­Óµn¿ý¡A¨Ã³]©w .odbc.ini ÀɮסC¦b°_©l¥Ø¿ý«Ø¥ß .odbc.ini °_ ©l¥Ø¿ý¡C 2. ¦w¸Ë DB2 Relational Connect ª©¥» 7.2¡C ½Ð°Ñ¾\5.3.2, ¦w¸Ë DB2 Relational Connect¡C 3. ·s¼W Microsoft SQL Server ¸ê®Æ¨Ó·½¦Ü±zªºÁp¦X¦øªA¾¹¤¤¡C 4. «ü©w Microsoft SQL Server ¦r½X­¶¡C ¥»³¹°Q½×¨BÆJ 3 ¤Î 4¡C ¥»³¹ªº«ü¥Ü¥i¤Þ¥Î¦b Windows NT ¤Î AIX ¥­¥x¡C ¯S©w¥­¥xªº¤£¦P³B³Æµù©ó¨äµo¥Íªº ¦a¤è¡C 5.6.1 ·s¼W Microsoft SQL Server ¸ê®Æ¨Ó·½¦ÜÁp¦X¦øªA¾¹ ¦b±z¦w¸Ë ODBC ÅX°Êµ{¦¡¤Î DB2 Relational Connect ¤§«á¡A¨Ï¥Î¤U¦C¨BÆJ¡A±N Microsoft SQL Server ¸ê®Æ¨Ó·½·s¼W¨ì±zªº¤¤¡G 1. ³]©wÀô¹ÒÅÜ¼Æ (¶È AIX)¡C 2. °õ¦æ Shell Script (¶È AIX)¡C 3. ¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅܼơC 4. ­«·s¨Ï¥Î DB2 ®×¨Ò (¶È AIX)¡C 5. «Ø¥ß¥~¼h¡C 6. «Ø¥ß¦øªA¾¹¡C 7. «Ø¥ß¨Ï¥ÎªÌ¹ï¬M¡C 8. «Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W¡C 9. ¿ï¥Îªº¡GÀò±o ODBC °lÂÜ¡C ¤U¦C¦U¸`±N¹ï³o¨Ç¨BÆJ§@¸Ô²Óªº¸ÑÄÀ¡C 5.6.1.1 ¨BÆJ 1¡G³]©wÀô¹ÒÅÜ¼Æ (¶È AIX) ­×§ï db2dj.ini Àɮרõo¥X db2set «ü¥O¡A ¥H³]©w¸ê®Æ¨Ó·½Àô¹ÒÅܼơCdb2dj.ini ÀÉ®×¥]§t¸ê°T¥Øªº¡A¥H³s±µ Microsoft SQL Server ¸ê®Æ¨Ó·½¡Cdb2set «ü¥O·|¥Î±zªº ³]©w­È§ó·s DB2 ³]©wÀɵn¿ý¡C ¦b¤À³Îªº¸ê®Æ®w¨t²Î¤¤¡A±z¥i¥H¨Ï¥Î¯S®í®×¨Ò¤¤ªº©Ò¦³¸`ÂI¤§³æ¤@ db2dj.ini ÀɮסA ©Î¨Ï¥Î¯S®í®×¨Ò¤¤ªº¤@©Î¦h­Ó¸`ÂI¤§°ß¤@ªº db2dj.ini ÀɮסC ¥¼¤À³Îªº¸ê®Æ®w¨t²Î ¤¤¡A¨C¤@®×¨Ò¶È¥i¦³¤@­Ó db2dj.ini ÀɮסC ­Y­n³]©wÀô¹ÒÅܼơG 1. ½s¿è¦ì¦b sqllib/cf$HOME/sqllib/cfg/g ªºÀÉ®× db2dj.ini¡A¨Ã³]©w¤U¦CÀô¹Ò ÅܼơG ODBCINI=$HOME/.odbc.ini DJX_ODBC_LIBRARY_PATH=/lib LIBPATH=/lib DB2ENVLIST=LIBPATH µo¥X db2set «ü¥O¡A¥Î±zªºÅܧó¨Ó§ó·s DB2 ³]©wÀɵn¿ý¡Cdb2set ªº»yªk¡A¬O¥H±zªº ¸ê®Æ®w¨t²Îµ²ºc¬°¨Ì¾Ú¡C * ­Y±z¥¿¦b¥¼¤À³Î¸ê®Æ®w¨t²Î¤¤¨Ï¥Î db2dj.ini ÀɮסA ©Î­Y±z¦b¤À³Îªº¸ê®Æ®w¨t ²Î¤¤¨Ï¥Î db2dj.ini ÀɮסA¥B±z­n db2dj.ini Àɮפ¤ªº­È¶È¤Þ¥Î©ó¥Ø«eªº¸` ÂI¡A½Ðµo¥X¤U¦C«ü¥O¡G db2set DB2_DJ_INI=/db2dj.ini * ­Y±z¥¿¦b¤À³Î¸ê®Æ®w¨t²Î¤¤¨Ï¥Î db2dj.ini ÀɮסA ©Î±z­n db2dj.ini Àɮפ¤ ªº­È¤Þ¥Î©ó¦¹®×¨Òªº©Ò¦³¸`ÂI¡A½Ðµo¥X¤U¦C«ü¥O¡G db2set -g DB2_DJ_INI=/db2dj.ini * ­Y±z¥¿¦b¤À³Î¸ê®Æ®w¨t²Î¤¤¨Ï¥Î db2dj.ini ÀɮסA ©Î±z­n db2dj.ini Àɮפ¤ ªº­È¤Þ¥Î©ó¯S©wªº¸`ÂI¡A½Ðµo¥X¤U¦C«ü¥O¡G db2set -i INSTANCEX 3 DB2_DJ_INI=$HOME/sqllib/cfg/node3.ini ¨ä¤¤¡G INSTANCEX ¥Nªí®×¨Ò¦WºÙ¡C 3 ¥Nªí¦C¥Ü¦b db2nodes.cfg Àɮתº¸`ÂI¸¹½X¡C node3.ini ¥Nªí db2dj.ini Àɮתº­×§ï¤Î§ó¦Wª©¥»¡C 5.6.1.2 ¨BÆJ 2¡G°õ¦æ Shell Script (¶È AIX) djxlink.sh Shell Script Ãìµ²±qÄݯ¸ÀÉ®×®w¦Ü¥~¼hÀÉ®×®w¡C ­Y­n°õ¦æ Shell Script¡G djxlink 5.6.1.3 ¨BÆJ 3¡G¿ï¥Îªº¡G³]©w DB2_DJ_COMM Àô¹ÒÅÜ¼Æ ­Y±zµo²{¨äªá¶O¹L¦hªº®É¶¡¨Ó¦s¨ú Microsoft SQL Server ¸ê®Æ¨Ó·½¡A ±z¥i¥H¦bÁp¦X ¦øªA¾¹°_©l³]©w¡A¦Ó«D¦b±z¹Á¸Õ¦s¨ú¸ê®Æ¨Ó·½®É¡A³]©w DB2_DJ_COMM Àô¹ÒÅܼƨӤU¸ü ¥~¼h¡A ¦p¦¹«K¥i¼W¶i®Ä¯à¡C ³]©w DB2_DJ_COMM Àô¹ÒÅܼƥH¥]¬A¥~¼hÀÉ®×®w¡A»P±z¦b ²Ä 5 ¨BÆJ«ü©wªº¥~¼h¬Û²Å¡C¨Ò¦p¡G ¦b DB2 for Windows NT ¦øªA¾¹¤W¡G db2set DB2_DJ_COMM=djxmssql3.dll ¦b DB2 for AIX ¦øªA¾¹¤W¡G db2set DB2_DJ_COMM=libmssql3.a ½Ð½T©wµ¥¸¹ (=) ªº¨âÃä³£¨S¦³ªÅ®æ¡C ½Ð°Ñ¾\ DB2 SQL Reference¡A¥H¨ú±o¦³Ãö¥~¼h±`¦¡®w¦WºÙªº¸Ô²Ó¸ê°T¡C 5.6.1.4 ¨BÆJ 4¡G­«·s¨Ï¥Î DB2 ®×¨Ò (¶È AIX) ­Y­n½T©wÀô¹ÒÅܼƳ]©w©óµ{¦¡¤¤¡A½Ð­«·s¨Ï¥Î DB2 ®×¨Ò¡C ·í±z­«·s¨Ï¥Î®×¨Ò®É¡A´_ ·s DB2 ®×¨Ò¥H±µ¨ü±z©Ò§@ªºÅܧó¡C µo¥X¤U¦C«ü¥O¡A­«·s¨Ï¥Î DB2 ®×¨Ò¡G db2stop db2start 5.6.1.5 ¨BÆJ 5¡G«Ø¥ß¥~¼h DB2 Universal Database ¦³¨âºØ³q«H¨ó©w¡AºÙ¬°¥~¼h¡A±z¥i¥H¨Ï¥Î¨Ó¦s¨ú Microsoft SQL Server ¸ê®Æ¨Ó·½¡C¥~¼h¬O¤@ºØ¾÷¨î¡AÁp¦X¦øªA¾¹¥Î¦¹¾÷¨î¨Ó³q«H¤ÎÂ^¨ú¸ê®Æ¨Ó·½ ªº¸ê®Æ¡C ±z¨Ï¥Îªº¥~¼h¬O¥H DB2 Universal Database ¥¿¦b°õ¦æªº¥­¥x¬°¨Ì¾Ú¡C ¨Ï ¥Îªí 2 §@¬°«ü«n¡A¥H¿ï¨ú¾A·íªº¥~¼h¡C ªí 2. ODBC ÅX°Êµ{¦¡ ODBC ÅX°Êµ{¦¡ ¥­¥x ¥~¼h¦WºÙ ODBC 3.0 (©Î§ó·sª©¥») ÅX°Êµ{¦¡ Windows NT DJXMSSQL3 MERANT DataDirect Connect ODBC 3.6 AIX MSSQLODBC3 ÅX°Êµ{¦¡ ¨Ï¥Î CREATE WRAPPER ³¯­z¦¡¨Ó«ü©w¥~¼h¡A¨ä±N¥Î¨Ó¦s¨ú Microsoft SQL Server ¸ê ®Æ¨Ó·½¡C ¤U¦C½d¨ÒÅã¥Ü CREATE WRAPPER ³¯­z¦¡¡G CREATE WRAPPER DJXMSSQL3 ¨ä¤¤ DJXMSSQL3 ¬O DB2 for Windows NT ¦øªA¾¹ (¨Ï¥Î ODBC 3.0 ÅX°Êµ{¦¡) ¤W¨Ï¥Î ªº¹w³]¥~¼h¦WºÙ¡C ­Y±z¦³ DB2 for AIX ¦øªA¾¹¡A±z¥i¥H«ü©w MSSQLODBC3 ¥~¼h¦W ºÙ¡C ±z¥i¥H¥Î±z¿ï¾Üªº¦WºÙ¨Ó¨ú¥N¹w³]¥~¼h¦WºÙ¡C ¦ý¬O¡A­Y±z³o»ò°µ¡A±z¥²¶·¥]§t CREATE WRAPPER ³¯­z¦¡ªºÁp¦X¦øªA¾¹¥­¥x¤§ LIBRARY °Ñ¼Æ¤Î¥~¼hÀÉ®×®wªº¦WºÙ¡C ¨Ò ¦p¡G ¦b DB2 for Windows NT ¦øªA¾¹¤W¡G CREATE WRAPPER wrapper_name LIBRARY 'djxmssql3.dll' ¨ä¤¤ wrapper_name ¬O±z·Q­n´£¨Ñµ¹¥~¼hªº¦WºÙ¡A ¦Ó 'djxmssql3.dll' ¬O±`¦¡ ®w¦WºÙ¡C ¦b DB2 for AIX ¦øªA¾¹¤W¡G CREATE WRAPPER wrapper_name LIBRARY 'libmssql3.a' ¨ä¤¤ wrapper_name ¬O±z·Q­n´£¨Ñµ¹¥~¼hªº¦WºÙ¡A ¦Ó 'libdjxmssql.a' ¬O±`¦¡ ®w¦WºÙ¡C ½Ð°Ñ¾\ DB2 SQL Reference ¤¤ªº CREATE WRAPPER ³¯­z¦¡¡A¥H¨ú±o¦³Ãö¥~¼h±`¦¡®w¦W ºÙªº¸Ô²Ó¸ê°T¡C 5.6.1.6 ¨BÆJ 6¡G«Ø¥ß¦øªA¾¹ ¨Ï¥Î CREATE SERVER ³¯­z¦¡¨Ó©w¸q±z·Q­n³s±µªº¨C¤@­Ó Microsoft SQL Server ¸ê®Æ ¨Ó·½¡C¨Ò¦p¡G CREATE SERVER sqlserver TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3 OPTIONS (NODE 'sqlnode', DBNAME 'database_name') ¨ä¤¤¡G sqlserver ¥Nªí±z«ü©wµ¹ Microsoft SQL Server ¦øªA¾¹ªº¦WºÙ¡C ¦¹¦WºÙ¥²¶·¬O°ß¤@ªº¡C MSSQLSERVER ¥Nªí±z­n¬[ºc¦s¨úªº¸ê®Æ¨Ó·½Ãþ«¬¡C 7.0 ¥Nªí±z­n¦s¨úªº Microsoft SQL Server ª©¥»¡CDB2 Universal Database ¤ä´© Microsoft SQL Server ª©¥» 6.5 »P 7.0¡C DJXMSSQL3 ¥Nªí±z¦b CREATE WRAPPER ³¯­z¦¡¤¤©w¸qªº¥~¼h¦WºÙ¡C 'sqlnode' ¥Nªí°Ñ·Ó Microsoft SQL Server ªº¨t²Î DSN ¦WºÙ¡C¦¹­È¦³°Ï¤À¤j¤p¼g¡C±z­n ¦s¨úªº Microsoft SQL Server ª©¥»¡C DB2 Universal Database ¤ä´© Microsoft SQL Server ª©¥» 6.5 »P 7.0¡C ÁöµM¸`ÂI¦WºÙ (¨t²Î DSN ¦WºÙ) ¬O«ü©w¬° CREATE SERVER ³¯­z¦¡¤¤ªº¿ï¶µ¡A¦ý ¦¹¬° Microsoft SQL Server ¸ê®Æ¨Ó·½©Ò»Ýªº¡C ½Ð°Ñ¾\ DB2 SQL Reference¡A¥H¨ú±o±z¥i¥H¨Ï¥Î CREATE WRAPPER ³¯­z¦¡ªº¨ä¥L ¿ï¶µ¡C 'database_name' ¥Nªí±z­n³s±µªº¸ê®Æ®w¤§¦WºÙ¡C ÁöµM¸ê®Æ®w¦WºÙ¬O«ü©w¬° CREATE SERVER ³¯­z¦¡¤¤ªº¿ï¶µ¡A¦ý¦¹¬° Microsoft SQL Server ¸ê®Æ¨Ó·½©Ò»Ýªº¡C 5.6.1.7 ¨BÆJ 7¡G«Ø¥ß¨Ï¥ÎªÌ¹ï¬M ­YÁp¦X¦øªA¾¹¤¤ªº¨Ï¥ÎªÌ ID »P³q¦æ½X¡A»P Microsoft SQL Server ¤¤ªº¨Ï¥ÎªÌ ID »P³q¦æ½X¤£¦P¡A½Ð¨Ï¥Î CREATE USER MAPPING ³¯­z¦¡¡A¨Ï¥»ºÝ¨Ï¥ÎªÌ ID »P Microsoft SQL Server ¸ê®Æ¨Ó·½¤¤©w¸qªº¨Ï¥ÎªÌ ID »P³q¦æ½X¬Û¤¬¹ï¬M¡F¨Ò¦p¡G CREATE USER MAPPING FOR db2user SERVER server_name OPTIONS (REMOTE_AUTHID 'mssqluser', REMOTE_PASSWORD 'dayl1te') ¨ä¤¤¡G db2user ¥Nªí±z¥Î¨Ó¹ï¬M¨Ï¥ÎªÌ ID (©w¸q©ó Microsoft SQL Server ¸ê®Æ¨Ó·½¤¤) ªº¥» ºÝ¨Ï¥ÎªÌ ID¡C server_name ¥Nªí±z¦b CREATE SERVER ³¯­z¦¡¤¤©w¸qªº¦øªA¾¹¦WºÙ¡C 'mssqluser' ¥Nªí Microsoft SQL Server ¸ê®Æ¨Ó·½ªº¨Ï¥ÎªÌ ID¡A±z­n¥Î¦¹¨Ó¹ï¬M db2user¡C ¦¹­È¦³°Ï¤À¤j¤p¼g¡C 'dayl1ite' ¥Nªí»P 'mssqluser' ¬ÛÃöªº³q¦æ½X¡C¦¹­È¦³°Ï¤À¤j¤p¼g¡C ½Ð°Ñ¾\ DB2 SQL Reference¡A¥H¨ú±o±z¥i¥H¨Ï¥Î CREATE USER MAPPING ³¯­z¦¡ªº¨ä¥L ¿ï¶µ¡C 5.6.1.8 ¨BÆJ 8¡G«Ø¥ßªí®æ»P·§²¤ªíªº¼Ê¦W «ü©w±z·Q­n¦s¨úªº Microsoft SQL Server ¸ê®Æ¨Ó·½¤¤¡A¨C¤@­Ó·§²¤ªí¤Îªí®æ¤§¼Ê ¦W¡C ·í±z¬d¸ß Microsoft SQL Server ¸ê®Æ¨Ó·½®É¡A±N¨Ï¥Î³o¨Ç¼Ê¦W¡C ¨Ï¥Î CREATE NICKNAME ³¯­z¦¡¨Ó«ü©w¼Ê¦W¡C ¼Ê¦W¦³°Ï¤À¤j¤p¼g¡C¤U¦C½d¨ÒÅã¥Ü CREATE NICKNAME ³¯­z¦¡¡G CREATE NICKNAME mssqlsales FOR server_name.salesdata.europe ¨ä¤¤¡G mssqlsales ¥Nªí Microsoft SQL Server ªí®æ©Î·§²¤ªíªº±M¥Î¼Ê¦W¡C server_name.salesdata.europe ¥Nªí¿í´`¤U¦C®æ¦¡ªº¤T³¡¤ÀÃѧO¦r¡G data_source_server_name.remote_schema_name.remote_table_name «Øij±z¦bªº remote_schema_name ¤Î remote_table_name ³¡¥÷¨Ï¥ÎÂù¤Þ¸¹¡C ·í±z«Ø¥ß¼Ê¦W®É¡ADB2 ·|¹Á¸Õ¦s¨ú¸ê®Æ¨Ó·½«¬¿ýªí®æ (Microsoft SQL Server °Ñ·Ó³o ¨Çªí®æ§@¬°¨t²Îªí®æ)¡C³o·|´ú¸Õ³s±µ¨ì¸ê®Æ¨Ó·½ªºª¬ºA¡C­Y³s½u¥¢±Ñ¡A±z·|±µ¦¬¨ì¤@ ­Ó¿ù»~°T®§¡C °w¹ï±z·Q­n«Ø¥ß¼Ê¦Wªº©Ò¦³¸ê®Æ®wªí®æ¤Î·§²¤ªí¡A­«½Æ¦¹¨BÆJ¡C ¦³Ãö CREATE NICKNAME ³¯­z¦¡ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 SQL Reference¡C ¦³Ãö¤@¯ë ¼Ê¦W¤ÎÅçÃÒ¸ê®ÆÃþ«¬¹ï¬Mªº¸Ô²Ó¸ê°T¡A ½Ð°Ñ¾\ DB2 Administration Guide¡C 5.6.1.9 ¨BÆJ 9¡G¿ï¥Îªº¡GÀò±o ODBC °lÂÜ ­Y±z¦s¨ú¸ê®Æ¨Ó·½®É¹J¨ì°ÝÃD¡A±z¥i¥H¨ú±o ODBC °lÂܸê°T¡A¥H¤ÀªR¨Ã¸Ñ¨M³o¨Ç°Ý ÃD¡C ­Y­n½T©w ODBC °lÂܪº¹B§@¥¿±`¡A½Ð¨Ï¥Î¡uODBC ¸ê®Æ¨Ó·½ºÞ²zªÌ¡v´£¨Ñªº°lÂÜ ¤u¨ã¡C±Ò°Ê°lÂÜ·|¼vÅT¨t²Î®Ä¯à¡A¦]¦¹·í±z¤w¸Ñ¨M°ÝÃD®É¡AÀ³¸ÓÃö³¬°lÂÜ¡C 5.6.2 ½Æ¬d Microsoft SQL Server ¦r½X­¶ Microsoft SQL Server ¤ä´©³\¦h DB2 UDB ¤ä´©ªº¤@¯ë¡u°ê®a»y¨¥¤ä´© (NLS)¡v¦r½X ­¶¿ï¶µ¡C ¨Ï¥Î»P DB2 ¬Û¦Pªº¦r½X¶°¤§¸ê®Æ¨Ó·½¤£»Ý­nÂà´«¡C ªí®æ 3 ¦C¥Ü DB2 Universal Database ¤Î Microsoft SQL Server §¡¦³¤ä´©ªº¦r½X­¶¡C ªí 3. DB2 UDB ¤Î Microsoft SQL Server ¦r½X­¶¿ï¶µ ¦r½X­¶ ¤ä´©ªº»y¨¥ 1252 ISO ¦r¶° 850 ¦hºØ»y¨¥ 437 ­^¤å 874 ®õ»y 932 ¤é¤å 936 ²Å餤¤å 949 Áú»y 950 ÁcÅ餤¤å 1250 ¥D­n¼Ú¬w»y 1251 ´µ©Ô¤Ò»y 1253 §Æþ»y 1254 ¤g¦Õ¨ä»y 1255 §Æ§B¨Ó¤å 1256 ªü©Ô§B»y ·í DB2 Áp¦X¦øªA¾¹»P Microsoft SQL Server °õ¦æ¤£¦Pªº¡u°ê®a»y¨¥¤ä´© (NLS)¡v¦r ½X­¶®É¡A±zªº Microsoft SQL Server ¸ê®Æ¨Ó·½¬[ºc¥²¶·»P¨ä»y·N¬Û²Å¡A©ÎªÌ±qÄݯ¸ µ{¦¡½X¥²¶·¯à°÷°»´ú¤£²Åªº»y·N¡A¨Ã±N¨ä¼Ð¥Ü¬°¿ù»~¡B©Î¨Ï¥Î¨ä¥»¨­ªº»y·N¨Ó¹ï¬M¸ê ®Æ¡C­Y±q­ì©l¦r½X­¶¨ì¥Ø¼Ð¦r½X­¶¡A³£§ä¤£¨ìÂà´«ªí¡A«h DB2 ·|µo¥X¿ù»~°T®§¡C ½Ð °Ñ¾\±zªº Microsoft SQL Server ¤å¥ó¡A¥H¨ú±o¸Ô²Ó¸ê°T¡C ------------------------------------------------------------------------ ºÞ²z ³¡¥÷¥Ø¿ý * Administration Guide: Planning (µL¤¤¤åª©) o 6.1 Chapter 8. Physical Database Design + 6.1.1 Partitioning Keys o 6.2 Designing Nodegroups o 6.3 Chapter 9. Designing Distributed Databases + 6.3.1 Updating Multiple Databases o 6.4 Chapter 13. High Availability in the Windows NT Environment + 6.4.1 Need to Reboot the Machine Before Running DB2MSCS Utility o 6.5 Chapter 14. DB2 and High Availability on Sun Cluster 2.2 o 6.6 Veritas Support on Solaris o 6.7 Appendix B. Naming Rules + 6.7.1 Notes on Greater Than 8-Character User IDs and Schema Names + 6.7.2 User IDs and Passwords o 6.8 Appendix D. Incompatibilities Between Releases + 6.8.1 Windows NT DLFS Incompatible with Norton's Utilities + 6.8.2 SET CONSTRAINTS Replaced by SET INTEGRITY o 6.9 Appendix E. National Language Support + 6.9.1 National Language Versions of DB2 Version 7 + 6.9.1.1 Control Center and Documentation Filesets + 6.9.2 Locale Setting for the DB2 Administration Server + 6.9.3 DB2 UDB Supports the Baltic Rim Code Page (MS-1257) on Windows Platforms + 6.9.4 Deriving Code Page Values + 6.9.5 Country Code and Code Page Support + 6.9.6 Character Sets * Administration Guide: Implementation(µL¤¤¤åª©) o 7.1 Adding or Extending DMS Containers (New Process) o 7.2 Chapter 1. Administering DB2 using GUI Tools o 7.3 Chapter 3. Creating a Database + 7.3.1 Creating a Table Space + 7.3.1.1 Using Raw I/O on Linux + 7.3.2 Creating a Sequence + 7.3.3 Comparing IDENTITY Columns and Sequences + 7.3.4 Creating an Index, Index Extension, or an Index Specification o 7.4 Chapter 4. Altering a Database + 7.4.1 Adding a Container to an SMS Table Space on a Partition + 7.4.2 Altering an Identity Column + 7.4.3 Altering a Sequence + 7.4.4 Dropping a Sequence + 7.4.5 Switching the State of a Table Space + 7.4.6 Modifying Containers in a DMS Table Space o 7.5 Chapter 5. Controlling Database Access + 7.5.1 Sequence Privileges + 7.5.2 Data Encryption o 7.6 Chapter 8. Recovering a Database + 7.6.1 How to Use Suspended I/O + 7.6.2 Incremental Backup and Recovery + 7.6.2.1 Restoring from Incremental Backup Images + 7.6.3 Parallel Recovery + 7.6.4 Backing Up to Named Pipes + 7.6.5 Backup from Split Image + 7.6.6 On Demand Log Archive + 7.6.7 Log Mirroring + 7.6.8 Cross Platform Backup and Restore Support on Sun Solaris and HP + 7.6.9 DB2 Data Links Manager Considerations/Backup Utility Considerations + 7.6.10 DB2 Data Links Manager Considerations/Restore and Rollforward Utility Considerations + 7.6.11 Restoring Databases from an Offline Backup without Rolling Forward + 7.6.12 Restoring Databases and Table Spaces, and Rolling Forward to the End of the Logs + 7.6.13 DB2 Data Links Manager and Recovery Interactions + 7.6.14 Detection of Situations that Require Reconciliation o 7.7 Appendix C. User Exit for Database Recovery o 7.8 Appendix D. Issuing Commands to Multiple Database Partition Servers o 7.9 Appendix I. High Speed Inter-node Communications + 7.9.1 Enabling DB2 to Run Using VI * Administration Guide: Performance (µL¤¤¤åª©) o 8.1 Chapter 3. Application Considerations + 8.1.1 Specifying the Isolation Level + 8.1.2 Adjusting the Optimization Class + 8.1.3 Dynamic Compound Statements o 8.2 Chapter 4. Environmental Considerations + 8.2.1 Using Larger Index Keys o 8.3 Chapter 5. System Catalog Statistics + 8.3.1 Collecting and Using Distribution Statistics + 8.3.2 Rules for Updating Catalog Statistics + 8.3.3 Sub-element Statistics o 8.4 Chapter 6. Understanding the SQL Compiler + 8.4.1 Replicated Summary Tables + 8.4.2 Data Access Concepts and Optimization o 8.5 Chapter 8. Operational Performance + 8.5.1 Managing the Database Buffer Pool + 8.5.2 Managing Multiple Database Buffer Pools o 8.6 Chapter 9. Using the Governor o 8.7 Chapter 13. Configuring DB2 + 8.7.1 Sort Heap Size (sortheap) + 8.7.2 Sort Heap Threshold (sheapthres) + 8.7.3 Maximum Percent of Lock List Before Escalation (maxlocks) + 8.7.4 Configuring DB2/DB2 Data Links Manager/Data Links Access Token Expiry Interval (dl_expint) + 8.7.5 MIN_DEC_DIV_3 Database Configuration Parameter + 8.7.6 Application Control Heap Size (app_ctl_heap_sz) + 8.7.7 Database System Monitor Heap Size (mon_heap_sz) + 8.7.8 Maximum Number of Active Applications (maxappls) + 8.7.9 Recovery Range and Soft Checkpoint Interval (softmax) + 8.7.10 Track Modified Pages Enable (trackmod) + 8.7.11 Change the Database Log Path (newlogpath) + 8.7.12 Location of Log Files (logpath) + 8.7.13 Maximum Storage for Lock List (locklist) o 8.8 Appendix A. DB2 Registry and Environment Variables + 8.8.1 Table of New and Changed Registry Variables o 8.9 Appendix C. SQL Explain Tools * Administering Satellites Guide and Reference(µL¤¤¤åª©) o 9.1 Setting up Version 7.2 DB2 Personal Edition and DB2 Workgroup Edition as Satellites + 9.1.1 Prerequisites + 9.1.1.1 Installation Considerations + 9.1.2 Configuring the Version 7.2 System for Synchronization + 9.1.3 Installing FixPak 2 or Higher on a Version 6 Enterprise Edition System + 9.1.3.1 Upgrading Version 6 DB2 Enterprise Edition for Use as the DB2 Control Server + 9.1.4 Upgrading a Version 6 DB2 Control Center and Satellite Administration Center * Command Reference(µL¤¤¤åª©) o 10.1 db2batch - Benchmark Tool o 10.2 db2cap (new command) + db2cap - CLI/ODBC Static Package Binding Tool o 10.3 db2ckrst (new command) + db2ckrst - Check Incremental Restore Image Sequence o 10.4 db2gncol (new command) + db2gncol - Update Generated Column Values o 10.5 db2inidb - Initialize a Mirrored Database o 10.6 db2look - DB2 Statistics Extraction Tool o 10.7 db2updv7 - Update Database to Version 7 Current Fix Level o 10.8 New Command Line Processor Option (-x, Suppress printing of column headings) o 10.9 True Type Font Requirement for DB2 CLP o 10.10 ADD DATALINKS MANAGER o 10.11 ARCHIVE LOG (new command) + Archive Log o 10.12 BACKUP DATABASE + 10.12.1 Syntax Diagram + 10.12.2 DB2 Data Links Manager Considerations o 10.13 BIND o 10.14 CALL o 10.15 DROP DATALINKS MANAGER (new command) + DROP DATALINKS MANAGER o 10.16 EXPORT o 10.17 GET DATABASE CONFIGURATION o 10.18 GET ROUTINE (new command) + GET ROUTINE o 10.19 GET SNAPSHOT o 10.20 IMPORT o 10.21 LIST HISTORY o 10.22 LOAD o 10.23 PING (new command) + PING o 10.24 PUT ROUTINE (new command) + PUT ROUTINE o 10.25 RECONCILE o 10.26 REORGANIZE TABLE o 10.27 RESTORE DATABASE + 10.27.1 Syntax + 10.27.2 DB2 Data Links Manager Considerations o 10.28 ROLLFORWARD DATABASE o 10.29 Documentation Error in CLP Return Codes * Data Movement Utilities Guide and Reference(µL¤¤¤åª©) o 11.1 Chapter 2. Import + 11.1.1 Using Import with Buffered Inserts o 11.2 Chapter 3. Load + 11.2.1 Pending States After a Load Operation + 11.2.2 Load Restrictions and Limitations + 11.2.3 totalfreespace File Type Modifier o 11.3 Chapter 4. AutoLoader + 11.3.1 rexecd Required to Run Autoloader When Authentication Set to YES * Replication «ü«n»P°Ñ¦Ò¤â¥U o 12.1 §Û¼g¤Î«D IBM ¦øªA¾¹ o 12.2 ¦b Windows 2000 ¤Wªº§Û¼g o 12.3 Àx¦s SQL Àɮ׮ɪº¤wª¾¿ù»~ o 12.4 DB2 ºûÅ@ o 12.5 Web ¤Wªº Data Difference Utility o 12.6 ²Ä 3 ³¹ ¸ê®Æ§Û¼g¹ê°È½d¨Ò + 12.6.1 §Û¼g¹ê°È o 12.7 ²Ä 5 ³¹ §Û¼g³W¹º + 12.7.1 ªí®æ¤Îª½Äæ¦WºÙ + 12.7.2 DATALINK §Û¼g + 12.7.3 LOB ­­¨î + 12.7.4 ³W¹º§Û¼g o 12.8 ²Ä 6 ³¹ ³]©w§Û¼gÀô¹Ò + 12.8.1 ÀH³B§ó·s (Update-anywhere) ¥ý¨M±ø¥ó + 12.8.2 ³]©w§Û¼gÀô¹Ò o 12.9 ²Ä 8 ³¹ °ÝÃD§PÂ_ o 12.10 ²Ä 9 ³¹ AS/400 ªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ o 12.11 ²Ä 10 ³¹ OS/390 ªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ + 12.11.1 DB2 DataPropagator for OS/390 ªº¥ý¨M±ø¥ó + 12.11.2 OS/390 ¤Wªº UNICODE ©M ASCII ½s½X¤èªk + 12.11.2.1 ¿ï¾Ü½s½X¤èªk + 12.11.2.2 ³]©w½s½X¤èªk o 12.12 ²Ä 11 ³¹ UNIX ¥­¥xªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ + 12.12.1 ¦b UNIX ©M Windows ¤W³]©w¡uÂ^¨úµ{¦¡¡v©M¡u¤Þ¥Îµ{¦¡¡v ªºÀô¹ÒÅÜ¼Æ o 12.13 ²Ä 14 ³¹ ªí®æµ²ºc o 12.14 ²Ä 15 ³¹ Â^¨úµ{¦¡©M¤Þ¥Îµ{¦¡°T®§ o 12.15 ªþ¿ý A. ±qÀ³¥Îµ{¦¡¤º±Ò°ÊÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ * System Monitor Guide and Reference(µL¤¤¤åª©) o 13.1 db2ConvMonStream * Troubleshooting Guide(µL¤¤¤åª©) o 14.1 Starting DB2 on Windows 95, Windows 98, and Windows ME When the User Is Not Logged On o 14.2 Chapter 2. Troubleshooting the DB2 Universal Database Server * ¦b 64 ¦ì¤¸ªº¥­¥x¤W¨Ï¥Î DB2 Universal Database o 15.1 ²Ä 5 ³¹ ¬[ºc + 15.1.1 LOCKLIST + 15.1.2 shmsys:shminfo_shmmax o 15.2 ²Ä 6 ³¹ ­­¨î * XML Extender Administration and Programming(µL¤¤¤åª©) * MQSeries o 17.1 ¦w¸Ë»P¬[ºc DB2 MQSeries Function + 17.1.1 ¦w¸Ë MQSeries + 17.1.2 ¦w¸Ë MQSeries AMI + 17.1.3 ±Ò¥Î DB2 MQSeries Function o 17.2 MQSeries ¶Ç°T¼Ë¦¡ o 17.3 °T®§µ²ºc o 17.4 MQSeries ¥\¯à·§Æ[ + 17.4.1 ­­¨î + 17.4.2 ¿ù»~½X o 17.5 ¥Îªk¹ê°È¤â¥U + 17.5.1 °ò¥»¶Ç°T + 17.5.2 ¶Ç°e°T®§ + 17.5.3 Â^¨ú°T®§ + 17.5.4 À³¥Îµ{¦¡¹ïÀ³¥Îµ{¦¡³s±µ + 17.5.4.1 Request/Reply ³q«H + 17.5.4.2 µo§G/­q¾\ o 17.6 enable_MQFunctions + enable_MQFunctions o 17.7 disable_MQFunctions + disable_MQFunctions ------------------------------------------------------------------------ Administration Guide: Planning (µL¤¤¤åª©) ------------------------------------------------------------------------ 6.1 Chapter 8. Physical Database Design 6.1.1 Partitioning Keys In the "Nodegroup Design Considerations" subsection of the "Designing Nodegroups" section , the following text from the "Partitioning Keys" sub-subsection stating the points to be considered when defining partitioning keys should be deleted only if DB2_UPDATE_PART_KEY=ON: Note: If DB2_UPDATE_PART_KEY=OFF, then the restrictions still apply. Note: In FixPak 3 and later, the default value will be ON. * You cannot update the partitioning key column value for a row in the table. * You can only delete or insert partitioning key column values. ------------------------------------------------------------------------ 6.2 Designing Nodegroups Within the section titled "Designing Nodegroups," the subsection titled "Nodegroup Design Considerations," and the subsection titled "Replicated Summary Tables," disregard the last sentence of the second paragraph: The REPLICATED keyword can only be specified for a summary table that is defined with the REFRESH DEFERRED option. ------------------------------------------------------------------------ 6.3 Chapter 9. Designing Distributed Databases 6.3.1 Updating Multiple Databases In the section "Updating Multiple Databases", the list of setup steps has an inaccuracy. Step 4, which now reads as follows: Precompile your application program to specify a type 2 connection (that is, specify CONNECT 2 on the PRECOMPILE PROGRAM command), and one-phase commit (that is, specify SYNCPOINT ONEPHASE on the PRECOMPILE PROGRAM command), as described in the Application Development Guide. should be changed to: Precompile your application program to specify a type 2 connection (that is, specify CONNECT 2 on the PRECOMPILE PROGRAM command), and two-phase commit (that is, specify SYNCPOINT TWOPHASE on the PRECOMPILE PROGRAM command), as described in the Application Development Guide. ------------------------------------------------------------------------ 6.4 Chapter 13. High Availability in the Windows NT Environment 6.4.1 Need to Reboot the Machine Before Running DB2MSCS Utility The DB2MSCS utility is used to perform the required setup to enable DB2 for failover support under the Microsoft Cluster Service environment. For the DB2MSCS utility to run successfully, the Cluster Service must be able to locate the resource DLL, db2wolf.dll, which resides under the %ProgramFiles%\SQLLIB\bin directory. The DB2 UDB Version 7 Installation Program sets the PATH system environment variable to point to the %ProgramFiles%\SQLLIB\bin directory. However, it is not required that you reboot the machine after installation if you are running on the Windows 2000 operating system. If you want to run the DB2MSCS utility, you must reboot the machine so that the PATH environment variable is updated for the Cluster Service. ------------------------------------------------------------------------ 6.5 Chapter 14. DB2 and High Availability on Sun Cluster 2.2 DB2 Connect is supported on Sun Cluster 2.2 if: * The protocol to the host is TCP/IP (not SNA) * Two-phase commit is not used. This restriction is relaxed if the user configures the SPM log to be on a shared disk (this can be done through the spm_log_path database manager configuration parameter), and the failover machine has an identical TCP/IP configuration (the same host name, IP address, and so on). ------------------------------------------------------------------------ 6.6 Veritas Support on Solaris DB2 now supports Veritas, which provides cluster support for DB2 High Availability on Solaris. Description Brings online, takes offline, and monitors a DB2 UDB instance. Entry Points Online Use db2start to bring up instance. Offline Use db2stop to bring down instance. Monitor Determines if specified DB2 instance is up. Uses appropriate process monitoring and (optional) database monitoring. Clean Removes DB2 instance resources. Attribute Type Definition probeDatabase string Database to be monitored instanceOwner string Instance owner name instanceHome string Home directory of instance owner probeTable string Table in probeDatabase to monitor monitorLevel integer 1 implies process monitoring, 2 implies db mon nodeNumber integer Nodenumber of instance to start (unset is EE) Type Defninition type DB2UDB ( static int CleanTimeout = 240 static int MonitorTimeout = 30 static int OfflineTimeout = 240 static int OnlineRetryLimit = 2 static int OnlineTimeout = 120 static int OnlineWaitLimit = 1 static int RestartLimit = 3 static int ToleranceLimit = 1 static str ArgList[] = { probeDatabase, instanceOwner, instanceHome, probeTable, monitorLevel, nodeNumber } NameRule = resource.db2udb str probeDatabase str instanceOwner str instanceHome str probeTable int monitorLevel int nodeNumber ) Sample Configuration DB2UDB db2_resource_n0 ( probeDatabase = sample probeTable = vcstable instanceOwner = stevera instanceHome = "/export/home/stevera" monitorLevel = 2 ) Installation o Create the directory /opt/VRTSvcs/bin/DB2UDB. o Copy the files online, offline, monitor, clean, DB2UDBAgent into /opt/VRTSvcs/bin/DB2UDB and ensure that they are marked executable. o Copy the file db2udb.type.cf into /etc/VRTSvcs/conf/config. o Stop the cluster (for example, hastop -all). o Add the line include db2udb.type.cf into the file main.cf after the line include types.cf o Verify the cluster configuration is valid with /opt/VRTSvcs/bin/hacf -verify /etc/VRTSvcs/conf/config You are now ready to create the DB2 resources necessary to control DB2 instances. ------------------------------------------------------------------------ 6.7 Appendix B. Naming Rules 6.7.1 Notes on Greater Than 8-Character User IDs and Schema Names * DB2 Version 7 products on Windows 32-bit platforms support user IDs that are up to 30 characters long. However, because of native support of Windows NT and Windows 2000, the practical limit for user ID is 20 characters. * DB2 Version 7 supports non-Windows 32-bit clients connecting to Windows NT and Windows 2000 with user IDs longer than 8 characters when user ID and password are being specified explicitly. This excludes connections using Client or DCE authentication. * DCE authentication on all platforms continues to have the 8-character user ID limit. * The authid returned in the SQLCA from a successful CONNECT or ATTACH is truncated to 8 characters. The SQLWARN fields contain warnings when truncation occurs. For more information, refer to the description of the CONNECT statement in the SQL Reference. * The authid returned by the command line processor (CLP) from a successful CONNECT or ATTACH is truncated to 8 characters. An ellipsis (...) is appended to the authid to indicate truncation. * DB2 Version 7 supports schema names with length up to 30 bytes, with the following exceptions: o Tables with schema names longer than 18 bytes cannot be replicated. o User defined types (UDTs) cannot have schema names longer than 8 bytes. 6.7.2 User IDs and Passwords Within the section titled "User IDs and Passwords," change the reference to "A through Z" to: Single-byte uppercase and lowercase Latin letters (A...Z, a...z). Support for other letters and characters depends on the code page being used. See the appendix titled "National Language Support (NLS)" for more information on code page support. ------------------------------------------------------------------------ 6.8 Appendix D. Incompatibilities Between Releases 6.8.1 Windows NT DLFS Incompatible with Norton's Utilities The Windows NT Data Links File System is incompatible with Norton Utilities. When a file is deleted from a drive controlled by DLFS, a kernel exception results: error 0x1E (Kernel Mode Exception Not Handled). The exception being 0xC00000005 (Access Violation). This access violation happens because the Norton Utilities driver gets loaded after the DLFS filter driver gets loaded. A temporary work-around is to load the DLFSD driver, after the Norton Utilities driver is loaded. This work-around can be done by changing the DLFSD driver startup to manual. Click on Start and select Settings--> Control Panel-->Devices-->DLFSD and set it to manual. A batch file, that can be added to the startup folder, can be created which loads the DLFSD driver and the DLFM Service on system startup. The contents of the batch file are as follows: net start dlfsd net start "dlfm service" Name this batch file start_dlfs.bat, and copy it into the C:\WINNT\Profiles\Administrator\Start Menu\Programs\Startup directory. Only the administrator has the privilege to load the DLFS filter driver and the DLFM service. 6.8.2 SET CONSTRAINTS Replaced by SET INTEGRITY The SET CONSTRAINTS statement has been replaced by the SET INTEGRITY statement. For backwards compatibility, both statements are accepted in DB2 UDB V7. ------------------------------------------------------------------------ 6.9 Appendix E. National Language Support 6.9.1 National Language Versions of DB2 Version 7 DB2 Version 7 is available in English, French, German, Italian, Spanish, Brazilian Portuguese, Japanese, Korean, Simplified Chinese, Traditional Chinese, Danish, Finnish, Norwegian, Swedish, Czech, Dutch, Hungarian, Polish, Turkish, Russian, Bulgarian, and Slovenian. On UNIX-based platforms, the DB2 product messages and library can be installed in several different languages. The DB2 installation utility lays down the message catalog file sets into the most commonly used locale directory for a given platform as shown in the following tables. ªí 4 provides information for AIX, HP-UX, and Solaris. Table 5 provides information for Linux, Linux/390, SGI, and Dynix. Table 4. AIX, HP-UX, Solaris Operating SystemAIX HP-UX Solaris Language Locale Cde Locale Cde Locale Cde Pg Pg Pg French fr_FR 819 fr_FR.iso88591 819 fr 819 Fr_FR 850 fr_FR.roman8 1051 German de_DE 819 de_DE.iso88591 819 de 819 De_DE 850 de_DE.roman8 1051 Italian it_IT 819 it_IT.iso88591 819 it 819 It_IT 850 it_IT.roman8 1051 Spanish es_ES 819 es_ES.iso88591 819 es 819 Es_ES 850 es_ES.roman8 1051 Brazilian Portu-pt_BR 819 pt_BR 819 guese Japanese ja_JP 954 ja_JP.eucJP 954 ja 954 Ja_JP 932 Korean ko_KR 970 ko_KR.eucKR 970 ko 970 Simplified zh_CN 1383 zh_CN.hp15CN 1383 zh 1383 Chinese Zh_ 1386 CN.GBK Traditional zh_TW 964 zh_TW.eucTW 964 zh_TW 964 Chinese Zh_TW 950 zh_TW.big5 950 zh_TW.BIG5 950 Danish da_DK 819 da_DK.iso88591 819 da 819 Da_DK 850 da_DK.roman8 1051 Finnish fi_FI 819 fi_FI.iso88591 819 fi 819 Fi_FI 850 fi_FI.roman8 1051 Norwegian no_NO 819 no_NO.iso88591 819 no 819 No_NO 850 no_NO.roman8 1051 Sweden sv_SE 819 sv_SE.iso88591 819 sv 819 Sv_SE 850 sv_SE.roman8 1051 Czech cs_CZ 912 Hungarian hu_HU 912 Polish pl_PL 912 Dutch nl_NL 819 Nl_NL 850 Turkish tr_TR 920 Russian ru_RU 915 Bulgarian bg_BG 915 bg_BG.iso88595 915 Slovenian sl_SI 912 sl_SI.iso88592 912 sl_SI 912 Table 5. Linux, Linux/390, SGI, Dynix Operating Linux Linux/390 SGI Dynix System Language Locale Cde Locale Cde Locale Cde Locale Cde Pg Pg Pg Pg French fr 819 fr 819 fr 819 German de 819 de 819 de 819 Italian es 819 Spanish Brazilian Portuguese Japanese ja_JP.ujis 954 ja_JP.ujis954 ja_JP.EUC 954 Korean ko 970 ko 970 ko_KO.euc 970 Simplified zh 1386 zh 1386 Chinese zh_CN.GBK zh_CN.GBK Traditional zh_TW.Big5 950 zh_TW.Big5950 Chinese Danish Finnish Norwegian Sweden Czech Hungarian Polish Dutch nl 819 Turkish Russian Bulgarian Slovenian If your system uses the same code pages but different locale names than those provided above, you can still see the translated messages by creating a link to the appropriate message directory. For example, if your AIX machine default locale is ja_JP.IBM-eucJP and the code page of ja_JP.IBM-eucJP is 954, you can create a link from /usr/lpp/db2_07_01/msg/ja_JP.IBM-eucJP to /usr/lpp/db2_07_01/msg/ja_JP by issuing the following command: ln -s /usr/lpp/db2_07_01/msg/ja_JP /usr/lpp/db2_07_01/msg/ja_JP.IBM-eucJP After the execution of this command, all DB2 messages come up in Japanese. 6.9.1.1 Control Center and Documentation Filesets The Control Center, Control Center Help and documentation filesets are placed in the following directories on the target workstation: * DB2 for AIX: o /usr/lpp/db2_07_01/cc/%L o /usr/lpp/db2_07_01/java/%L o /usr/lpp/db2_07_01/doc/%L o /usr/lpp/db2_07_01/qp/$L o /usr/lpp/db2_07_01/spb/%L * DB2 for HP-UX: o /opt/IBMdb2/V7.1/cc/%L o /opt/IBMdb2/V7.1/java/%L o /opt/IBMdb2/V7.1/doc/%L * DB2 for Linux: o /usr/IBMdb2/V7.1/cc/%L o /usr/IBMdb2/V7.1/java/%L o /usr/IBMdb2/V7.1/doc/%L * DB2 for Solaris: o /opt/IBMdb2/V7.1/cc/%L o /usr/IBMdb2/V7.1/java/%L o /opt/IBMdb2/V7.1/doc/%L Control Center file sets are in Unicode code page. Documentation and Control Center help file sets are in a browser-recognized code set. If your system uses a different locale name than the one provided, you can still run the translated version of the Control Center and see the translated version of help by creating links to the appropriate language directories. For example, if your AIX machine default locale is ja_JP.IBM-eucJP, you can create links from /usr/lpp/db2_07_01/cc/ja_JP.IBM-eucJP to /usr/lpp/db2_07_01/cc/ja_JP and from /usr/lpp/db2_07_01/doc/ja_JP.IBM-eucJP to /usr/lpp/db2_07_01/doc/ja_JP by issuing the following commands: * ln -s /usr/lpp/db2_07_01/cc/ja_JP /usr/lpp/db2_07_01/cc/ja_JP.IBM-eucJP * ln -s /usr/lpp/db2_07_01/doc/ja_JP /usr/lpp/db2_07_01/doc/ja_JP.IBM-eucJP After the execution of these commands, the Control Center and help text come up in Japanese. Note: The Web Control Center is not supported running natively on Linux/390 or NUMA-Q. It can be used from a client workstation to manage databases on these platforms. 6.9.2 Locale Setting for the DB2 Administration Server Please ensure that the locale of the DB2 Administration Server instance is compatible to the locale of the DB2 instance. Otherwise, the DB2 instance cannot communicate with the DB2 Administration Server. If the LANG environment variable is not set in the user profile of the DB2 Administration Server, the DB2 Administration Server will be started with the default system locale. If the default system locale is not defined, the DB2 Administration Server will be started with code page 819. If the DB2 instance uses one of the DBCS locales, and the DB2 Administration Server is started with code page 819, the instance will not be able to communicate with the DB2 Administration Server. The locale of the DB2 Administration Server and the locale of the DB2 instance must be compatible. For example, on a Simplified Chinese Linux system, "LANG=zh_CN" should be set in the DB2 Administration Server's user profile. 6.9.3 DB2 UDB Supports the Baltic Rim Code Page (MS-1257) on Windows Platforms DB2 UDB supports the Baltic Rim code page, MS-1257, on Windows 32-bit operating systems. This code page is used for Latvian, Lithuanian, and Estonian. 6.9.4 Deriving Code Page Values Within the section titled "Deriving Code Page Values," change the first paragraph, from: However, it is not necessary to set the DB2CODEPAGE registry variable, because DB2 will determine the appropriate code page value from the operating system. to: Normally, you do not need to set the DB2CODEPAGE registry variable because DB2 automatically derives the code page information from the operating system. 6.9.5 Country Code and Code Page Support Within the section titled "Country Code and Code Page Support," add the following information to the table: Code Country Page Group Code-Set Tr. Code Locale OS Country Name ---- ----- -------- -- --- ----- ---- --------------- 943 D-1 IBM-943 JP 81 ja_JP.PCK Sun Japan 6.9.6 Character Sets Within the section titled "Character Sets" and the subsection "Character Set for Identifiers," replace the last two sentences in the first paragraph with the following: Use special characters #, @, and $ with care in an NLS environment because they are not included in the NLS host (EBCDIC) invariant character set. Characters from the extended character set can also be used, depending on the code page that is being used. If you are using the database in a multiple code page environment, you must ensure that all code pages support any elements from the extended character set you plan to use. ------------------------------------------------------------------------ Administration Guide: Implementation(µL¤¤¤åª©) ------------------------------------------------------------------------ 7.1 Adding or Extending DMS Containers (New Process) DMS containers (both file containers and raw device containers) which are added (during tablespace creation or after) or extended are now done so in parallel through the prefetchers. To achieve an increase in parallelism of these create / resize container operations, one can increase the number of prefetchers running in the system. The only process which is not done in parallel is the logging of these actions and, in the case of creating containers, the tagging of the containers. Note: Parallelism of the CREATE TABLESPACE / ALTER TABLESPACE (with respect to adding new containers to an existing tablespace) will no longer increase when the number of prefetchers equals the number of containers being added. ------------------------------------------------------------------------ 7.2 Chapter 1. Administering DB2 using GUI Tools Within the section titled "The Alert Center", remove the last two sentences in the section. Within the section titled "Performance Monitor", remove the second bullet item from the "Define performance variables" list in the subsection "Monitoring Performance at a Point in Time." Also later in this same subsection, the last few paragraphs in the section should be rewritten as follows: For each, a variety of performance variables can be monitored. The Performance Variable Reference Help, available from the Help menu of any Snapshot Monitor window, provides a description of all the performance variables. These variables are organized into categories. The following categories exist: * Instance: Agents, Connections, Sort * Database: Lock and Deadlock, Buffer Pool and I/O, Connections, Sort, SQL Statement Activity * Table: Table * Table space: Buffer Pool and I/O * Database Connections: Buffer Pool and I/O, Lock and Deadlock, Sort, SQL Statement Activity For detailed information on how to generate snapshots, see the online help. In this same section, remove the last sentence in the subsection titled "Action Required When an Object Appears in the Alert Center." ------------------------------------------------------------------------ 7.3 Chapter 3. Creating a Database 7.3.1 Creating a Table Space 7.3.1.1 Using Raw I/O on Linux Linux has a pool of raw device nodes that must be bound to a block device before raw I/O can be performed on it. There is a raw device controller that acts as the central repository of raw to block device binding information. Binding is performed using a utility named raw, which is normally supplied by the Linux distributor. Before you set up raw I/O on Linux, you require the following: * one or more free IDE or SCSI disk partitions * Linux kernel 2.4.0 or later (However, some Linux distributions offer raw I/O on 2.2 kernels.) * a raw device controller named /dev/rawctl or /dev/raw. If not, create a symbolic link: # ln -s /dev/your_raw_dev_ctrl /dev/rawctl * the raw utility, which is usually provided with the Linux distribution * DB2 Version 7.1 FixPak 3 or later Note: Of the distributions currently supporting raw I/O, the naming of raw device nodes is different: Distribution Raw device nodes Raw device controller ------------ -------------------- --------------------- RedHat 6.2 /dev/raw/raw1 to 255 /dev/rawctl SuSE 7.0 /dev/raw1 to 63 /dev/raw DB2 supports either of the above raw device controllers, and most other names for raw device nodes. Raw devices are not supported by DB2 on Linux/390. To configure raw I/O on Linux: In this example, the raw partition to be used is /dev/sda5. It should not contain any valuable data. Step Calculate the number of 4 096-byte pages in this partition, rounding 1. down if necessary. For example: # fdisk /dev/sda Command (m for help): p Disk /dev/sda: 255 heads, 63 sectors, 1106 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 1 523 4200997 83 Linux /dev/sda2 524 1106 4682947+ 5 Extended /dev/sda5 524 1106 4682947 83 Linux Command (m for help): q # The number of pages in /dev/sda5 is num_pages = floor( ((1106-524+1)*16065*512)/4096 ) num_pages = 11170736 Step Bind an unused raw device node to this partition. This needs to be 2. done every time the machine is rebooted, and requires root access. Use raw -a to see which raw device nodes are already in use: # raw /dev/raw/raw1 /dev/sda5 /dev/raw/raw1: bound to major 8, minor 5 Step Set global read permissions on the raw device controller and the 3. disk partition. Set global read and write permissions on the raw device: # chmod a+r /dev/rawctl # chmod a+r /dev/sdb1 # chmod a+rw /dev/raw/raw1 Step Create the table space in DB2, specifying the raw device, not the 4. disk partition. For example: CREATE TABLESPACE dms1 MANAGED BY DATABASE USING (DEVICE '/dev/raw/raw1' 11170736) Table spaces on raw devices are also supported for all other page sizes supported by DB2. 7.3.2 Creating a Sequence Following the section titled "Defining an Identity Column on a New Table," add the following section, "Creating a Sequence": A sequence is a database object that allows the automatic generation of values. Sequences are ideally suited to the task of generating unique key values. Applications can use sequences to avoid possible concurrency and performance problems resulting from the generation of a unique counter outside the database. Unlike an identity column attribute, a sequence is not tied to a particular table column nor is it bound to a unique table column and only accessible through that table column. A sequence can be created, or altered, so that it generates values in one of these ways: * Increment or decrement monotonically without bound * Increment or decrement monotonically to a user-defined limit and stop * Increment or decrement monotonically to a user-defined limit and cycle back to the beginning and start again The following is an example of creating a sequence object: CREATE SEQUENCE order_seq START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCYCLE CACHE 24 In this example, the sequence is called order_seq. It will start at 1 and increase by 1 with no upper limit. There is no reason to cycle back to the beginning and restart from 1 because there is no assigned upper limit. The number associated with the CACHE parameter specifies the maximum number of sequence values that the database manager preallocates and keeps in memory. The sequence numbers generated have the following properties: * Values can be any exact numeric data type with a scale of zero. Such data types include: SMALLINT, BIGINT, INTEGER, and DECIMAL. * Consecutive values can differ by any specified integer increment. The default increment value is 1. * Counter value is recoverable. The counter value is reconstructed from logs when recovery is required. * Values can be cached to improve performance. Preallocating and storing values in the cache reduces synchronous I/O to the log when values are generated for the sequence. In the event of a system failure, all cached values that have not been committed are never used and considered lost. The value specified for CACHE is the maximum number of sequence values that could be lost. If a database that contains one or more sequences is recovered to a prior point in time, then this could cause the generation of duplicate values for some sequences. To avoid possible duplicate values, a database with sequences should not be recovered to a prior point in time. Sequences are only supported in a single node database. There are two expressions used with a sequence. The PREVVAL expression returns the most recently generated value for the specified sequence for a previous statement within the current session. The NEXTVAL expression returns the next value for the specified sequence. A new sequence number is generated when a NEXTVAL expression specifies the name of the sequence. However, if there are multiple instances of a NEXTVAL expression specifying the same sequence name within a query, the counter for the sequence is incremented only once for each row of the result. The same sequence number can be used as a unique key value in two separate tables by referencing the sequence number with a NEXTVAL expression for the first table, and a PREVVAL expression for any additional tables. For example: INSERT INTO order (orderno, custno) VALUES (NEXTVAL FOR order_seq, 123456); INSERT INTO line_item (orderno, partno, quantity) VALUES (PREVVAL FOR order_seq, 987654, 1) The NEXTVAL or PREVVAL expressions can be used in the following locations: * INSERT statement, VALUES clause * SELECT statement, SELECT list * SET assignment statement * UPDATE statement, SET clause * VALUES or VALUES INTO statement 7.3.3 Comparing IDENTITY Columns and Sequences Following the new section titled "Creating a Sequence", add the following section: While there are similarities between IDENTITY columns and sequences, there are also differences. The characteristics of each can be used when designing your database and applications. An identity column has the following characteristics: * An identity column can be defined as part of a table only when the table is created. Once a table is created, you cannot alter it to add an identity column. (However, existing identity column characteristics may be altered.) * An identity column automatically generates values for a single table. * When an identity column is defined as GENERATED ALWAYS, the values used are always generated by the database manager. Applications are not allowed to provide their own values during the modification of the contents of the table. A sequence object has the following characteristics: * A sequence object is a database object that is not tied to any one table. * A sequence object generates sequential values that can be used in any SQL statement. * Since a sequence object can be used by any application, there are two expressions used to control the retrieval of the next value in the specified sequence and the value generated previous to the statement being executed. The PREVVAL expression returns the most recently generated value for the specified sequence for a previous statement within the current session. The NEXTVAL expression returns the next value for the specified sequence. The use of these expressions allows the same value to be used across several SQL statements within several tables. While these are not all of the characteristics of these two items, these characteristics will assist you in determining which to use depending on your database design and the applications using the database. 7.3.4 Creating an Index, Index Extension, or an Index Specification Within the section titled "Creating an Index, Index Extension, or an Index Specification", add the following note in the paragraph beginning with the sentence: "Any column that is part of an index key is limited to 255 bytes." µù: The DB2_INDEX_2BYTEVARLEN registry variable can be used to allow columns with a length greater than 255 bytes to be specified as part of an index key. ------------------------------------------------------------------------ 7.4 Chapter 4. Altering a Database Under the section "Altering a Table Space", the following new sections are to be added: 7.4.1 Adding a Container to an SMS Table Space on a Partition You can add a container to an SMS table space on a partition (or node) that currently has no containers. The contents of the table space are rebalanced across all containers. Access to the table space is not restricted during the rebalancing. If you need to add more than one container, you should add them all at the same time. To add a container to an SMS table space using the command line, enter the following: ALTER TABLESPACE ADD ('') ON NODE () The partition specified by number, and every partition (or node) in the range of partitions, must exist in the nodegroup on which the table space is defined. A partition_number may only appear explicitly or within a range in exactly one on-nodes-clause for the statement. The following example shows how to add a new container to partition number 3 of the nodegroup used by table space "plans" on a UNIX based operating system: ALTER TABLESPACE plans ADD ('/dev/rhdisk0') ON NODE (3) Following the section titled "Changing Table Attributes," add the following sections: 7.4.2 Altering an Identity Column Modify the attributes of an existing identity column with the ALTER TABLE statement. For more information on this statement, including its syntax, refer to the SQL Reference. There are several ways to modify an identity column so that it has some of the characteristics of sequences. There are some tasks that are unique to the ALTER TABLE and the identity column: * RESTART resets the sequence associated with the identity column to the value specified implicitly or explicitly as the starting value when the identity column was originally created. * RESTART WITH resets the sequence associated with the identity column to the exact numeric constant value. The numeric constant could be any positive or negative value with no non-zero digits to the right of any decimal point that could be assigned to the identity column. 7.4.3 Altering a Sequence Modify the attributes of an existing sequence with the ALTER SEQUENCE statement. For more information on this statement, including its syntax, refer to the SQL Reference. The attributes of the sequence that can be modified include: * Changing the increment between future values * Establishing new minimum or maximum values * Changing the number of cached sequence numbers * Changing whether the sequence will cycle or not * Changing whether sequence numbers must be generated in order of request * Restarting the sequence There are two tasks that are not found as part of the creation of the sequence. They are: * RESTART. Resets the sequence to the value specified implicitly or explicitly as the starting value when the sequence was created. * RESTART WITH numeric-constant. Resets the sequence to the exact numeric constant value. The numeric constant can be any positive or negative value with no non-zero digits to the right of any decimal point. After restarting a sequence or changing to CYCLE, it is possible to generate duplicate sequence numbers. Only future sequence numbers are affected by the ALTER SEQUENCE statement. The data type of a sequence cannot be changed. Instead, you must drop the current sequence and then create a new sequence specifying the new data type. All cached sequence values not used by DB2 are lost when a sequence is altered. 7.4.4 Dropping a Sequence To delete a sequence, use the DROP statement. For more information on this statement, including its syntax, refer to the SQL Reference. A specific sequence can be dropped by using: DROP SEQUENCE sequence_name where the sequence_name is the name of the sequence to be dropped and includes the implicit or explicit schema name to exactly identify an existing sequence. Sequences that are system-created for IDENTITY columns cannot be dropped using the DROP SEQUENCE statement. Once a sequence is dropped, all privileges on the sequence are also dropped. 7.4.5 Switching the State of a Table Space The SWITCH ONLINE clause of the ALTER TABLESPACE statement can be used to move table spaces in an OFFLINE state to an ONLINE state if the containers associated with that table space have become accessible. The table space is moved to an ONLINE state while the rest of the database is still up and being used. An alternative to the use of this clause is to disconnect all applications from the database and then to have the applications connect to the database again. This moves the table space from an OFFLINE state to an ONLINE state. To switch the table space to an ONLINE state using the command line, enter: ALTER TABLESPACE SWITCH ONLINE 7.4.6 Modifying Containers in a DMS Table Space DMS tables spaces are now created and resized in parallel, which offers a performance benefit. The degree of parallelism is equal to the number of prefetchers plus 1. ------------------------------------------------------------------------ 7.5 Chapter 5. Controlling Database Access Following the section titled "Index Privileges," add the following section: 7.5.1 Sequence Privileges The creator of a sequence automatically receives the USAGE privilege. The USAGE privilege is needed to use NEXTVAL and PREVVAL expressions for the sequence. To allow other users to use the NEXTVAL and PREVVAL expressions, sequence privileges must be granted to PUBLIC. This allows all users to use the expressions with the specified sequence. Following the section titled "Monitoring Access to Data Using the Audit Facility," add the following section: 7.5.2 Data Encryption One part of your security plan may involve encrypting your data. To do this, you can use encryption and decryption built-in functions: ENCRYPT, DECRYPT_BIN, DECRYPT_CHAR, and GETHINT. For more information on these functions, including their syntax, refer to the SQL Reference section of the Release Notes. The ENCRYPT function encrypts data using a password-based encryption method. These functions also allow you to encapsulate a password hint. The password hint is embedded in the encrypted data. Once encrypted, the only way to decrypt the data is by using the correct password. Developers that choose to use these functions should plan for the management of forgotten passwords and unusable data. The result of the ENCRYPT functions is the same data type as the first argument. Only VARCHARs can be encrypted. The declared length of the result is one of the following: * The length of the data argument plus 42 when the optional hint parameter is specified. * The length of the data argument plus 10 when the optional hint parameter is not specified. The DECRYPT_BIN and DECRYPT_CHAR functions decrypt data using password-based decryption. The result of the DECRYPT_BIN and DECRYPT_CHAR functions is the same data type as the first argument. The declared length of the result is the length of the original data. The GETHINT function returns an encapsulated password hint. A password hint is a phrase that will help data owners remember passwords. For example, the word "Ocean" can be used as a hint to remember the password "Pacific". The password that is used to encrypt the data is determined in one of two ways: * Password Argument. The password is a string that is explicitly passed when the ENCRYPT function is invoked. The data is encrypted and decrypted with the given password. * Special Register Password. The SET ENCRYPTION PASSWORD statement encrypts the password value and sends the encrypted password to the database manager to store in a special register. ENCRYPT, DECRYPT_BIN and DECRYPT_CHAR functions invoked without a password parameter use the value in the ENCRYPTION PASSWORD special register. The initial or default value for the special register is an empty string. Valid lengths for passwords are between 6 and 127 inclusive. Valid lengths for hints are between 0 and 32 inclusive. When the ENCRYPTION PASSWORD special register is set from the client, the password is encrypted at the client, sent to the database server, and then decrypted. To ensure that the password is not left readable, it is also re-encrypted at the database server. DECRYPT_BIN and DECRYPT_CHAR functions must decrypt the special register before use. The value found in the ENCRYPTION PASSWORD is also not left readable. Gateway security is not supported. ------------------------------------------------------------------------ 7.6 Chapter 8. Recovering a Database 7.6.1 How to Use Suspended I/O In Chapter 8."Recovering a Database", the following new section on using the suspended I/O function is to be added: Note: The information below about the db2inidb utility supercedes the information in the Version 7.2 What's New book. db2inidb is a new tool shipped with DB2 that can perform crash recovery and put a database in rollforward pending state. Suspended I/O supports continuous system availability by providing a full implementation for online split mirror handling, that is, splitting a mirror without shutting down the database. If a customer cannot afford doing offline or online backups on a large database, backups or system copies can be done from a mirror image by using suspended I/O and split mirror. Depending on how the storage devices are being mirrored, the uses of db2inidb will vary. The following uses assume that the entire database is mirrored consistently through the storage system. In a multi-node environment, the db2inidb tool must be run on every partition before the split image can be used from any of the partitions. The db2inidb tool can be run on all partitions simultaneously. 1. Making a Clone Database The objective here is to have a clone of the primary database to be used for read-only purposes. The following procedure describes how a clone database may be made: a. Suspend I/O on the primary system by entering the following command: db2 set write suspend for database b. Use the operating system level command to split the mirror from the primary database. c. Resume I/O on primary system by entering the following command: db2 set write resume for database After running the command, the database on the primary system should be back to a normal state. d. Attach to the mirrored database from another machine. e. Start the database instance by entering the following command: db2start f. Start the DB2 crash recovery by entering the following command: db2inidb database_name AS SNAPSHOT Note: This command will rollback the changes made by transactions that are inflight at the time of the split. You can also use this process for an offline backup, but if restored on the primary system, this backup cannot be used to roll forward, because the log chain will not match. 2. Using the Split Mirror as a Standby Database As the mirrored (standby) database is continually rolling forward through the logs, new logs that are being created by the primary database, are constantly fetched from the primary system. The following procedure describes how the split mirror can be used as a standby database: a. Suspend I/O writes on the primary database. b. Split the mirror from the primary system. c. Resume the I/O writes on the primary database so that the primary database goes back to normal processing. d. Attach the mirrored database to another instance. e. Place the mirror in roll-forward pending and roll forward the mirror. Run the db2inidb tool (db2inidb as standby) to remove the suspend write state and to place the mirrored database in a roll-forward pending state. f. Copy logs by setting up a user exit program to retrieve log files from the primary system to ensure that the latest logs will be available for this mirrored database. g. Roll forward the database to the end of the logs. h. Go back to step f and repeat this process until the primary database is down. 3. Using the Split Mirror as a Backup Image The following procedure describes how to use the mirrored system as a backup image to restore over the primary system: a. Use operating system commands to copy the mirrored data and logs on top of the primary system. b. Start the database instance by entering the following command: db2start c. Run the following command to place the mirrored database in a roll-forward pending state and to remove the suspend write state. db2inidb database_alias AS MIRROR d. Roll forward the database to the end of the logs. 7.6.2 Incremental Backup and Recovery In Chapter 8,"Recovering a Database," the following is a new section about incremental backup and recovery: As the size of databases, and particularly warehouses, continues to expand into the terabyte and petabyte range, the time and hardware resources required to back up and recover these databases are also growing substantially. Full database and table space backups are not always the best approach when dealing with large databases, because the storage requirements for multiple copies of such databases are enormous. Consider the following issues: * When a small percentage of the data in a warehouse changes, it should not be necessary to back up the entire database. * Appending table spaces to existing databases and then taking only table space backups is risky, because data outside of the backed up table spaces may change. DB2 now supports incremental backup and recovery (but not of long field or large object data). An incremental backup is a backup image that contains only pages that have been updated since the previous backup was taken. In addition to updated data and index pages, each incremental backup image also contains all of the initial database meta-data (such as database configuration, table space definitions, database history, and so on) that is normally stored in full backup images. Two types of incremental backup are supported: * Incremental. An incremental backup image is a copy of all database data that has changed since the most recent successful full backup operation. This is also known as a cumulative backup image, because a series of incremental backups taken over time will each have the contents of the previous incremental backup image. The predecessor of an incremental backup image is always the most recent successful full backup of the same object. * Delta. A delta, or incremental delta, backup image is a copy of all database data that has changed since the last successful backup (full, incremental, or delta) of the table space in question. This is also known as a differential, or non-cumulative, backup image. The predecessor of a delta backup image is the most recent successful backup containing a copy of each of the table spaces in the delta backup image. The key difference between incremental and delta backup images is their behavior when successive backups are taken of an object that is continually changing over time. Each successive incremental image contains the entire contents of the previous incremental image, plus any data that has changed, or is new, since the previous backup was produced. Delta backup images contain only the pages that have changed since the previous image was produced. Combinations of database and table space incremental backups are permitted, in both online and offline modes of operation. Be careful when planning your backup strategy, because combining database and table space incremental backups implies that the predecessor of a database backup (or a table space backup of multiple table spaces) is not necessarily a single image, but could be a unique set of previous database and table space backups taken at different times. To rebuild the database or the table space to a consistent state, the recovery process must begin with a consistent image of the entire object (database or table space) to be restored, and must then apply each of the appropriate incremental backup images in the order described below (see the "Restore Method" section). To enable the tracking of database updates, DB2 supports a new database configuration parameter, TRACKMOD, which can have one of two accepted values: * NO. Incremental backup is not permitted with this configuration. Database page updates are not tracked or recorded in any way. * YES. Incremental backup is permitted with this configuration. When update tracking is enabled, the change becomes effective at the first successful connection to any database in the instance. A full database backup is necessary before an incremental backup can be taken. The default TRACKMOD setting for existing databases is NO; for new databases, it is YES. The granularity of the tracking is at the table space level for both SMS and DMS table spaces. Although minimal, the tracking of updates to the database can have an impact on the run-time performance of transactions that update or insert data. 7.6.2.1 Restoring from Incremental Backup Images A restore operation from incremental backup images always consists of the following steps: 1. Identifying the incremental target image.The DBA must first determine the final image to be restored, and request an incremental restore operation from the DB2 restore utility. This image is known as the target image of the incremental restore, because it will be the last image to be restored. An incremental restore command against this image may initiate the creation of a new database with the configuration and table space definitions from this target image. The incremental target image is specified using the TAKEN AT parameter in the RESTORE DATABASE command. 2. Restoring the most recent full database or table space image to establish a baseline against which each of the subsequent incremental backup images can be applied. 3. Restoring each of the required full or table space incremental backup images, in the order in which they were produced, on top of the baseline image restored in Step 2. 4. Repeating Step 3 until the target image from Step 1 is read a second time. The target image is accessed twice during a complete incremental restore operation. During the first access, only initial data is read from the image; none of the user data is read. The complete image is read and processed only during the second access. The target image of the incremental restore operation must be accessed twice to ensure that the database is initially configured with the correct history, database configuration, and table space definitions for the database that will be created during the restore operation. In cases where a table space has been dropped since the initial full database backup image was taken, the table space data for that image will be read from the backup images but ignored during incremental restore processing. For example: 1. db2 restore database sample incremental taken at where: points to the last incremental backup image to be restored 2. db2 restore database sample incremental taken at where: points to the initial full database (or table space) image 3. db2 restore database sample incremental taken at where: points to each incremental backup image in creation sequence 4. Repeat Step 3, restoring each incremental backup image up to and including image In cases where a database restore operation is being attempted, and table space incremental backup images have been produced, the table space images must be restored in the chronological order of their backup time stamps. 7.6.3 Parallel Recovery DB2 now uses multiple agents to perform both crash recovery and database rollforward recovery. You can expect better performance during these operations, particularly on symmetric multi-processor (SMP) machines; using multiple agents during database recovery takes advantage of the extra CPUs that are available on SMP machines. The new agent type introduced by this enhancement is db2agnsc. DB2 chooses the number of agents to be used for database recovery based on the number of CPUs on the machine. For SMP machines, the number of agents used is (number of CPUs + 1). On a machine with a single CPU, three agents are used for more efficient reading of logs, processing of log records, and prefetching of data pages. DB2 distributes log records to these agents so that they can be reapplied concurrently, where appropriate. The processing of log records is parallelized at the page level (log records on the same data page are processed by the same agent); therefore, performace is enhanced, even if all the work was done on one table. 7.6.4 Backing Up to Named Pipes Support is now available for database backup to (and database restore from) local named pipes on UNIX based systems. Both the writer and the reader of the named pipe must be on the same machine. The pipe must exist and be located on a local file system. Because the named pipe is treated as a local device, there is no need to specify that the target is a named pipe. Following is an AIX example: 1. Create a named pipe: mkfifo /u/dbuser/mypipe 2. Use this pipe as the target for a database backup operation: db2 backup db sample to /u/dbuser/mypipe 3. Restore the database: db2 restore db sample into mynewdb from /u/dbuser/mypipe 7.6.5 Backup from Split Image DB2 now supports a full offline database backup on the split mirrored copy of a database. Online backup is not supported and is not necessary because the database, which is in rollforward pending state, is unavailable. When a split mirrored backup image is restored, it must be rolled forward because there may have been active transactions when the split occurred. Note: For DB2 Version 7.1 FixPak 3 and DB2 Version 7.2 this support will be limited to databases that contain DMS table spaces only. If an attempt is made to back up a database after a split and the database contains any SMS table spaces, the backup will fail. Once a database has been split, the db2inidb utility must be used to specify one of the following options: * Snapshot. This initiates crash recovery, making the database consistent. A new log chain starts, and the database will not be able to roll forward through any of the logs from the original database. The database is available for any operation, including backup. * Standby. This places the database in rollforward pending state. Crash recovery is not performed, and the database remains inconsistent. * Mirror. This causes a mirrored copy of the database to replace the original database. The database is placed in rollforward pending state, and the WRITE SUSPEND state is turned off. Crash recovery is not performed, and the database remains inconsistent. Following are some usage scenarios: * Making a database clone. The objective here is to have a read-only clone of the primary database that can be used, for example, to create reports. To do this, follow these steps: 1. Suspend I/O on the primary system: db2 set write suspend for database 2. Split the mirror. Use operating system level commands to split the mirror from the primary database. 3. Resume I/O on the primary system: db2 set write resume for database The database on the primary system should now be back to a normal state. 4. Mount the split mirrors of the database to another host. 5. Start the instance: db2start 6. Start DB2 crash recovery: db2inidb as snapshot You can also use this process for an offline backup, but if restored on the primary system, this backup cannot be used to roll forward, because the log chain will not match. * Using the split mirror as a standby database. The idea here is that the mirrored (standby) database is continually rolling forward through the logs, and even new logs that are being created by the primary database are continually fetched from the primary system. To use the split mirror as a standby database, follow these steps: 1. Suspend I/O on the primary system: db2 set write suspend for database 2. Split the mirror. Use operating system level commands to split the mirror from the primary database. 3. Resume I/O on the primary system: db2 set write resume for database The database on the primary system should now be back to a normal state. 4. Mount the split mirrors of the database to another host. 5. Remove the suspend write state and put the mirrored database in rollforward pending state. db2inidb as standby 6. Copy logs. Set up a user exit program to retrieve log files from the primary system's archive location, so that the latest logs will be available for this mirrored database. 7. Rollforward the mirror to the end of the logs. db2 rollforward db to end of logs 8. Repeat the process from step 6 until the primary database is down. * Using the split mirror to recover the primary system. The following procedure describes how to use the mirrored system as a backup image to restore the primary system: 1. Copy over. Use operating system commands to copy the mirrored data and logs on top of the primary system. 2. Start the instance: db2start 3. Put the restored mirror in rollforward pending state and roll the mirror forward to the end of the logs: db2inidb as mirror * Taking a backup without performing crash recovery. Performing an offline backup on the split mirror without performing crash recovery means that you can restore this backup image on top of the primary system. To do this, follow these steps: 1. Suspend I/O on the primary system: db2 set write suspend for database 2. Split the mirror. Use operating system level commands to split the mirror from the primary database. 3. Resume I/O on the primary system: db2 set write resume for database The database on the primary system should now be back to a normal state. 4. Mount the split mirrors of the database to another host. 5. Start the instance: db2start 6. Put the mirrored database in rollforward pending state: db2inidb as standby 7. Invoke a database backup operation: db2 backup database This results in an implicit database connection, but does not initiate DB2 crash recovery. 7.6.6 On Demand Log Archive DB2 now supports the closing (and, if the user exit option is enabled, the archiving) of the active log for a recoverable database at any time. This allows you to collect a complete set of log files up to a known point, and then to use these log files to update a standby database. Note: On demand log archiving does not guarantee the log files will be archived immediately; it truncates the log file and issues an archive request, but it is still subject to delays associated with the user exit program You can initiate on demand log archiving by invoking the new DB2 ARCHIVE LOG command, or by calling the new db2ArchiveLog API. 7.6.7 Log Mirroring In Chapter 8,"Recovering a Database," the following new section on using the suspended I/O function is to be added: DB2 now supports log mirroring at the database level. Mirroring log files helps protect a database from: * Accidental deletion of an active log * Data corruption caused by hardware failure If you are concerned that your active logs may be damaged (as a result of a disk crash), you should consider using a new DB2 registry variable, DB2_NEWLOGPATH2, to specify a secondary path for the database to manage copies of the active log, mirroring the volumes on which the logs are stored. The DB2_NEWLOGPATH2 registry variable allows the database to write an identical second copy of log files to a different path. It is recommended that you place the secondary log path on a physically separate disk (preferably one that is also on a different disk controller). That way, the disk controller cannot be a single point of failure. Note: Because Windows NT and OS/2 do not allow "mounting" a device under an arbitrary path name, it is not possible (on these platforms) to specify a secondary path on a separate device. DB2_NEWLOGPATH2 can be enabled (set to 1) or disabled (set to 0). The default value is zero. If this variable is set to 1, the secondary path name is the current value of the LOGPATH variable concatenated with the character 2. For example, in an SMP environment, if LOGPATH is /u/dbuser/sqllogdir/logpath, the secondary log path will be /u/dbuser/sqllogdir/logpath2. In an MPP environment, if LOGPATH is /u/dbuser/sqllogdir/logpath, DB2 will append the node indicator to the path and use /u/dbuser/sqllogdir/logpath/NODE0000 as the primary log path. In this case, the secondary log path will be /u/dbuser/sqllogdir/logpath2/NODE0000. When DB2_NEWLOGPATH2 is first enabled, it will not actually be used until the current log file is completed on the next database startup. This is similar to how NEWLOGPATH is currently used. If there is an error writing to either the primary or secondary log path, the database will mark the failing path as "bad", write a message to the db2diag.log file, and write subsequent log records to the remaining "good" log path only. DB2 will not attempt to use the "bad" path again until the current log file is completed. When DB2 needs to open the next log file, it will verify that this path is valid, and if so, will begin to use it. If not, DB2 will not attempt to use the path again until the next log file is accessed for the first time. There is no attempt to synchronize the log paths, but DB2 keeps information about access errors that occur, so that the correct paths are used when log files are archived. If a failure occurs while writing to the remaining "good" path, the database abends. 7.6.8 Cross Platform Backup and Restore Support on Sun Solaris and HP Support is now available for cross platform backup and restore support between Sun Solaris and HP. When you transfer the backup image between systems, you must transfer it in binary mode. On the target system, the database must be created with the same code page/territory as the system on which the original database was created. 7.6.9 DB2 Data Links Manager Considerations/Backup Utility Considerations Replace the second paragraph in this section with: When files are linked, the Data Links servers schedule them to be copied asynchronously to an archive server such as ADSM, or to disk. When the backup utility runs, DB2 ensures that all files scheduled for copying have been copied. At the beginning of backup processing, DB2 contacts all Data Links servers that are specified in the DB2 configuration file. If a Data Links server has one or more linked files and is not running, or stops running during the backup operation, the backup will not contain complete DATALINK information. The backup operation will complete successfully. Before the Data Links server can be marked as available to the database again, backup processing for all outstanding backups must complete successfully. If a backup is initiated when there are already twice the value of num_db_backups (see below) outstanding backups waiting to be completed on the Data Links server, the backup operation will fail. That Data Links server must be restarted and the outstanding backups completed before additional backups are allowed. 7.6.10 DB2 Data Links Manager Considerations/Restore and Rollforward Utility Considerations Replace paragraphs beginning with: When you restore a database or table space and do not specify the WITHOUT DATALINK... and When you restore a database or table space and you do specify the WITHOUT DATALINK option... with: When you restore a database or table space, the following conditions must be satisfied for the restore operation to succeed: o If any Data Links Server recorded in the backup file is not running, the restore operation will still complete successfully. Tables with DATALINK column information that are affected by the missing Data Links server will be put into datalink reconcile pending state after the restore operation (or the rollforward operation, if used) completes. Before the Data Links servers can be marked as available to the database again, this restore processing must complete successfully. o If any Data Links Server recorded in the backup file stops running during the restore operation, the restore operation will fail. The restore can be restarted with the Data Links Server down (see above). o If a previous database restore operation is still incomplete on any Data Links server, subsequent database or table space restore operations will fail until those Data Links servers are restarted, and the incomplete restore is completed. o Information about all DATALINK columns that are recorded in the backup file must exist in the appropriate Data Links servers' registration tables. If all the information about the DATALINK columns is not recorded in the registration tables, the table with the missing DATALINK column information is put into datalink reconcile not possible state after the restore operation (or the roll-forward operation, if used) completes. If the backup is not recorded in the registration tables, it may mean that the backup file that is provided is earlier than the value for num_db_backups and has already been "garbage collected". This means that the archived files from this earlier backup have been removed and cannot be restored. All tables that have DATALINK columns are put into datalink reconcile pending state. If the backup is not recorded in the registration tables, it may mean that backup processing has not yet been completed because the Data Links server is not running. All tables that have DATALINK columns are put into datalink reconcile pending state. When the Data Links server is restarted, backup processing will be completed before restore processing. The table remains available to users, but the values in the DATALINK columns may not reference the files accurately (for example, a file may not be found that matches a value for the DATALINK column). If you do not want this behavior, you can put the table into check pending state by issuing the "SET CONSTRAINTS for tablename TO DATALINK RECONCILE PENDING" statement. If, after a restore operation, you have a table in datalink reconcile not possible state, you can fix the DATALINK column data in one of the ways suggested under "Removing a Table from the Datalink_Reconcile_Not_Possible State". The note at the bottom of the first paragraph remains the same. Add the following at the end of this section: It is strongly recommended that the datalink.cfg file be archived to cover certain unusual recovery cases, since the datalink.cfg file in the database backup image only reflects the datalink.cfg as of the backup time. Having the latest datalink.cfg file is required to cover all recovery cases. Therefore, the datalink.cfg file must be backed up after every ADD DATALINKS MANAGER or DROP DATALINKS MANAGER command invocation. This would help to retrieve the latest datalink.cfg file, if the latest datalink.cfg file is not available on disk. If the latest datalink.cfg file is not available on disk, replace the existing datalink.cfg file (restored from a backup image) with the latest datalink.cfg file that was archived before running a rollforward operation. Do this after the database is restored. 7.6.11 Restoring Databases from an Offline Backup without Rolling Forward You can only restore without rolling forward at the database level, not the table space level. To restore a database without rolling forward, you can either restore a nonrecoverable database (that is, a database that uses circular logging), or specify the WITHOUT ROLLING FORWARD parameter on the RESTORE DATABASE command. If you use the restore utility with the WITHOUT DATALINK option, all tables with DATALINK columns are placed in datalink reconcile pending (DRP) state, and no reconciliation is performed with the Data Links servers during the restore operation. If you do not use the WITHOUT DATALINK option, and a Data Links server recorded in the backup file is no longer defined to the database (that is, it has been dropped using the DROP DATALINKS MANAGER command), tables that contain DATALINK data referencing the dropped Data Links server are put in DRP state by the restore utility. If you do not use the WITHOUT DATALINK option, all the Data Links servers are available, and all information about the DATALINK columns is fully recorded in the registration tables, the following occurs for each Data Links server recorded in the backup file: * All files linked after the backup image that was used for the database restore operation are marked as unlinked (because they are not recorded in the backup image as being linked). * All files that were unlinked after the backup image, but that were linked before the backup image was taken, are marked as linked (because they are recorded in the backup image as being linked). If the file was subsequently linked to another table in another database, the restored table is put into the datalink reconcile pending state. Note: The above cannot be done if the backup image that was used for the database restore operation was taken when at least one Data Links server was not running, since the DATALINK information in the backup is incomplete. The above is also not done if the backup image that was used for the database restore operation was taken after a database restore with or without rollforward. In both cases, all tables with DATALINK columns are placed in datalink reconcile pending state, and no reconciliation is performed with the Data Links servers during the restore operation. 7.6.12 Restoring Databases and Table Spaces, and Rolling Forward to the End of the Logs If you restore, then roll forward the database or table space to the end of the logs (meaning that all logs are provided), a reconciliation check is not required unless at least one of the Data Links servers recorded in the backup file is not running during the restore operation. If you are not sure whether all the logs were provided for the roll-forward operation, or think that you may need to reconcile DATALINK values, do the following: 1. Issue the SQL statement for the table (or tables) involved: SET CONSTRAINTS FOR tablename TO DATALINK RECONCILE PENDING This puts the table into datalink reconcile pending state and check pending state. 2. If you do not want a table to be in check pending state, issue the following SQL statement: SET CONSTRAINTS FOR tablename IMMEDIATE CHECKED This takes the table out of check pending state, but leaves it in datalink reconcile pending state. You must use the reconcile utility to take the table out of this state. It may happen that the backup file contains DATALINK data that refers to a DB2 Data Links Manager (that is, a DB2 Data Links Manager was registered to the database when the backup was taken) that has been dropped from the database. For each table space being rolled forward that contains at least one table with DATALINK data referencing the dropped DB2 Data Links Manager, all tables are put in DRP state by the rollforward utility. 7.6.13 DB2 Data Links Manager and Recovery Interactions The following table shows the different types of recovery that you can perform, the DB2 Data Links Manager processing that occurs during restore and roll-forward processing, and whether you need to run the Reconcile utility after the recovery is complete: Type of Recovery DB2 Data Links Manager DB2 Data Links Manager Reconcile Processing during Restore Processing during Rollforward Non-recoverable database (logretain=NO) Database restore Fast reconcile is performed N/A Can be optionally of a complete run if problem with backup, all Data file links is Links Servers up suspected Database restore Tables put in N/A Required using WITHOUT Datalink_Reconcile _Pending DATALINK option state Database restore Fast reconcile is performed NA Required for tables of a complete only on those tables in in table spaces backup, at least table spaces that do not with links to the one Data Links have links to a Data Links Data Links server server down server that is down, other that is down tables put in Datalink_Reconcile_Pending state Database restore Fast reconcile is not NA Required of an incomplete performed, all tables with backup, all Data DATALINK columns put in Links servers up Datalink_Reconcile_Pending state Recoverable database (logretain=YES) Database restore Fast reconcile is performed N/A Optional using WITHOUT ROLLING FORWARD option, using a complete backup, all Data Links servers up Database restore Tables put in N/A Required using WITHOUT Datalink_Reconcile _Pending ROLLING FORWARD state and WITHOUT DATALINK options, using a complete or incomplete backup, Data Links servers up or down Database restore Fast reconcile is performed N/A Required on tables using WITHOUT only on those tables in in table spaces ROLLING FORWARD table spaces that do not with links to the option, using a have links to the Data Data Links servers complete backup, Links servers that are that are down at least one Datadown, other tables put in Links server downDatalink_Reconcile_Pending state Database restore Fast reconcile is not N/A Required using WITHOUT performed, all tables with ROLLING FORWARD DATALINK columns put into option, using an Datalink_Reconcile_Pending incomplete state backup, Data Links servers up or down Database restore No action No action Optional and roll forward to end of logs, using a complete backup, all Data Links servers up Database restore No action No action Optional and roll forward to end of logs, using a complete backup, at least one Data Links server down during roll forward processing Database restore No action All tables with DATALINK Required for all and roll forward columns put into tables with to end of logs, Datalink_Reconcile_Pending DATALINK columns using a complete state or an incomplete backup, any Data Links server down during restore Database restore No action No action Optional and roll forward to end of logs, using an incomplete backup, all Data Links servers up during restore Database restore No action All tables in table spaces Required and roll forward with links to a Data Links to end of logs, server where the backup is using a complete unknown put in or an incomplete Datalink_Reconcile_Pending backup, all Data state Links servers up, backup unknown at any Data Links server Table space No action No action Optional restore and roll forward to end of logs, using a complete backup, all Data Links servers up Table space No action No action Optional restore and roll forward to end of logs, using a complete backup, at least one Data Links server down during roll forward processing Table space No action All tables in table spaces Required for tables restore and roll with links to any Data in table spaces forward to end of Links server that is down with links to any logs, using a put into Data Links server complete or an Datalink_Reconcile_Pending that is down incomplete state backup, any Data Links server down during restore processing Table space No action No action Optional restore and roll forward to end of logs, using an incomplete backup, all Data Links servers up Database restore No action Tables put in Required and roll forward Datalink_Reconcile _Pending to a point in state time, using a complete or an incomplete backup, Data Links servers up or down during restore and/or roll forward processing Table space No action Tables put in Required restore and roll Datalink_Reconcile _Pending forward to a state point in time, using a complete or an incomplete backup, Data Links servers up or down during restore and/or rollfoward processing Database restore Tables put in N/A Optional, but to a different Datalink_Reconcile tables in database name, _Not_Possible state Datalink_Reconcile alias, hostname, _Not_Possible state or instance with must be manually no roll forward fixed (NOTE1) Database restore No action Tables put in Optional, but to a different Datalink_Reconcile tables in database name, _Not_Possible state Datalink_Reconcile alias, hostname _Not_Possible state or instance, and must be manually roll forward fixed Database restore Tables put in No action Required from an unusable Datalink_Reconcile _Pending backup (image hasstate been garbage-collected on the Data Links server) with no roll forward (NOTE1), with or without WITHOUT DATALINK option Database restore No action Tables put in Required from an unusable Datalink_Reconcile _Pending backup (image has state been garbage-collected on the Data Links server), and roll forward, with or without WITHOUT DATALINK option Table space No action Tables put in Required restore from an Datalink_Reconcile _Pending unusable backup state (image has been garbage-collected on the Data Links server), and roll forward Note: 1. A restore using an offline backup and the WITHOUT ROLLING FORWARD option (logretain is on), or a restore using an offline backup (logretain is off). 2. A complete backup is a backup taken when all required Data Links servers were running. An incomplete backup is a backup taken when at least one required Data Links server was not running. 3. Fast reconcile processing will not be performed if the backup image that was used for the database restore operation was taken after a database restore, with or without rollforward. In this case, all tables with DATALINK columns are put in Datalink_Reconcile_Pending state. 7.6.14 Detection of Situations that Require Reconciliation Following are some situations in which you may need to run the reconcile utility: * The entire database is restored and rolled forward to a point in time. Because the entire database is rolled forward to a committed transaction, no tables will be in check pending state (due to referential constraints or check constraints). All data in the database is brought to a consistent state. The DATALINK columns, however, may not be synchronized with the metadata in the DB2 Data Links Manager, and reconciliation is required. In this situation, tables with DATALINK data will already be in DRP state. You should invoke the reconcile utility for each of these tables. * A particular Data Links server running the DB2 Data Links Manager loses track of its metadata. This can occur for different reasons. For example: o The Data Links server was cold started. o The Data Links server metadata was restored to a back-level state. In some situations, such as during SQL UPDATEs and DELETEs, DB2 may be able to detect a problem with the metadata in a Data Links server. In these situations, the SQL statement would fail. You would put the table in DRP state by using the SET CONSTRAINTS statement, then run the reconcile utility on that table. * A file system is not available (for example, because of a disk crash) and is not restored to the current state. In this situation, files may be missing. * A DB2 Data Links Manager is dropped from a database, and there are DATALINK FILE LINK CONTROL values referencing that DB2 Data Links Manager. You should run the reconcile utility on such tables. ------------------------------------------------------------------------ 7.7 Appendix C. User Exit for Database Recovery Under the section "Archive and Retrieve Considerations", the following paragraph is no longer true and should be removed from the list: A user exit may be interrupted if a remote client loses its connection to the DB2 server. That is, while handling the archiving of logs through a user exit, one of the other SNA-connected clients dies or powers off resulting in a signal (SIGUSR1) being sent to the server. The server passes the signal to the user exit causing an interrupt. The user exit program can be modified to check for an interrupt and then continue. The Error Handling section has a Notes list that should replace the contents of Note 3 with the following information: * User exit program requests are suspended for five minutes. During this time, all requests are ignored including the log file request that caused the return code. Following the five minute suspension in processing requests, the next request is processed. If no error occurs with the processing of this request, then processing of new user exit program requests continues and DB2 will reissue the archive request for the log files that either failed to archive previously, or were suspended. If a return code of greater than 8 is generated during the retry, requests are suspended for an additional five minutes. The five minute suspensions continue until the problem is corrected or the database is stopped and restarted. Once all applications disconnect from the database and the database is reopened, DB2 will issue the archive request for any log file that might not have been successfully archived in the previous use of the database. If the user exit program fails to archive log files, your disk can be filled with log files and performance may be degraded because of extra work to format these log files. Once the disk becomes full, the database manager will not accept further application requests for database changes. If the user exit program was called to retrieve log files, roll-forward recovery is suspended but not stopped unless a stop was specified in the ROLLFORWARD DATABASE utility. If a stop was not specified, you can correct the problem and resume recovery. ------------------------------------------------------------------------ 7.8 Appendix D. Issuing Commands to Multiple Database Partition Servers At the bottom of the section "Specifying the Command to Run", add the following: When you run any korn-shell shell-script which contains logic to read from stdin in the background, you should explicitly redirect stdin to a source where the process can read without getting stopped on the terminal (SIGTTIN message). To redirect stdin, you can run a script with the following form: shell_script 8.5 AND C <= 10. The estimate of the r_2 value using linear interpolation must be changed to the following: 10 - 8.5 r_2 *= ---------- x (number of rows with value > 8.5 and <= 100.0) 100 - 8.5 10 - 8.5 r_2 *= ---------- x (10 - 7) 100 - 8.5 1.5 r_2 *= ---- x (3) 91.5 r_2 *= 0 The paragraph following this new example must also be modified to read as follows: The final estimate is r_1 + r_2 *= 7, and the error is only -12.5%. 8.3.2 Rules for Updating Catalog Statistics Within the section titled "Rules for Updating Column Statistics", the last bulleted-list item in the first list item should be replaced by the following: HIGH2KEY must be greater than LOW2KEY whenever there are more than 3 distinct values in the corresponding column. In the case of 3 or less distinct values in the column, HIGH2KEY can be equal to LOW2KEY. 8.3.3 Sub-element Statistics In FixPak 1, an option is provided to collect and use sub-element statistics. These are statistics about the content of data in columns when the data has a structure in the form of a series of sub-fields or sub-elements delimited by blanks. For example, suppose a database contains a table DOCUMENTS in which each row describes a document, and suppose that in DOCUMENTS there is a column called KEYWORDS containing a list of relevant keywords relating to this document for text retrieval purposes. The values in KEYWORDS might be as follows: 'database simulation analytical business intelligence' 'simulation model fruitfly reproduction temperature' 'forestry spruce soil erosion rainfall' 'forest temperature soil precipitation fire' In this example, each column value consists of 5 sub-elements, each of which is a word (the keyword), separated from the others by one blank. For queries that specify LIKE predicates on such columns using the % match_all character: SELECT .... FROM DOCUMENTS WHERE KEYWORDS LIKE '%simulation%' it is often beneficial for the optimizer to know some basic statistics about the sub-element structure of the column, namely: SUB_COUNT The average number of sub-elements. SUB_DELIM_LENGTH The average length of each delimiter separating each sub-element, where a delimiter, in this context, is one or more consecutive blank characters. In the KEYWORDS column example, SUB_COUNT is 5, and SUB_DELIM_LENGTH is 1, because each delimiter is a single blank character. In FixPak 1, the system administrator controls the collection and use of these statistics by means of an extension to the DB2_LIKE_VARCHAR registry variable. This registry variable affects how the DB2 UDB optimizer deals with a predicate of the form: COLUMN LIKE '%xxxxxx' where xxxxxx is any string of characters; that is, any LIKE predicate whose search value starts with a % character. (It may or may not end with a % character). These are referred to as "wildcard LIKE predicates" below. For all predicates, the optimizer has to estimate how many rows match the predicate. For wildcard LIKE predicates, the optimizer assumes that the COLUMN being matched has a structure of a series of elements concatenated together to form the entire column, and estimates the length of each element based on the length of the string, excluding leading and trailing % characters. The new syntax is: db2set DB2_LIKE_VARCHAR=[Y|N|S|num1][,Y|N|num2] where - the first term (preceding the comma) means the following, but only for columns that do not have positive sub-element statistics S Use the algorithm as used in DB2 Version 2. N Use a fixed-length sub-element algorithm. Y (default) Use a variable-length sub-element algorithm with a default value for the algorithm parameter. num1 Use a variable-length sub-element algorithm, and use num1 as the algorithm parameter. - the second term (following the comma) means: N (default) Do not collect or use sub-element statistics. Y Collect sub-element statistics. Use a variable-length sub-element algorithm that uses those statistics, together with a default value for the algorithm parameter in the case of columns with positive sub-element statistics. num2 Collect sub-element statistics. Use a variable-length sub-element algorithm that uses those statistics, together with num2 as the algorithm parameter in the case of columns with positive sub-element statistics. If the value of DB2_LIKE_VARCHAR contains only the first term, no sub-element statistics are collected, and any that have previously been collected are ignored. The value specified affects how the optimizer calculates the selectivity of wildcard LIKE predicates in the same way as before; that is: * If the value is S, the optimizer uses the same algorithm as was used in DB2 Version 2, which does not presume the sub-element model. * If the value is N, the optimizer uses an algorithm that presumes the sub-element model, and assumes that the COLUMN is of a fixed length, even if it is defined as variable length. * If the value is Y (the default) or a floating point constant, the optimizer uses an algorithm that presumes the sub-element model and recognizes that the COLUMN is of variable length, if so defined. It also infers sub-element statistics from the query itself, rather than from the data. This algorithm involves a parameter (the "algorithm parameter") that specifies how much longer the element is than the string enclosed by the % characters. * If the value is Y, the optimizer uses a default value of 1.9 for the algorithm parameter. * If the value is a floating point constant, the optimizer uses the specified value for the algorithm parameter. This constant must lie within the range of 0 to 6.2. If the value of DB2_LIKE_VARCHAR contains two terms, and the second is Y or a floating point constant, sub-element statistics on single-byte character set string columns of type CHAR, VARCHAR, GRAPHIC, or VARGRAPHIC are collected during a RUNSTATS operation and used during compilation of queries involving wildcard LIKE predicates. The optimizer uses an algorithm that presumes the sub-element model and uses the SUB_COUNT and SUB_DELIM_LENGTH statistics, as well as an algorithm parameter, to calculate the selectivity of the predicate. The algorithm parameter is specified in the same way that the inferential algorithm is specified, that is: * If the value is Y, the optimizer uses a default value of 1.9 for the algorithm parameter. * If the value is a floating point constant, the optimizer uses the specified value for the algorithm parameter. This constant must lie within the range of 0 to 6.2. If, during compilation, the optimizer finds that sub-element statistics have not been collected on the column involved in the query, it will use the "inferential" sub-element algorithm; that is, the one used when only the first term of DB2_LIKE_VARCHAR is specified. Thus, in order for the sub-element statistics to be used by the optimizer, the second term of DB2_LIKE_VARCHAR must be set both during RUNSTATS and compilation. The values of the sub-element statistics can be viewed by querying SYSIBM.SYSCOLUMNS. For example: select substr(NAME,1,16), SUB_COUNT, SUB_DELIM_LENGTH from sysibm.syscolumns where tbname = 'DOCUMENTS' The SUB_COUNT and SUB_DELIM_LENGTH columns are not present in the SYSSTAT.COLUMNS statistics view, and therefore cannot be updated. Note: RUNSTATS may take longer if this option is used. For example, RUNSTATS may take between 15 and 40% longer on a table with five character columns, if the DETAILED and DISTRIBUTION options are not used. If either the DETAILED or the DISTRIBUTION option is specified, the percentage overhead is less, even though the absolute amount of overhead is the same. If you are considering using this option, you should assess this overhead against improvements in query performance. ------------------------------------------------------------------------ 8.4 Chapter 6. Understanding the SQL Compiler The following sections require changes: 8.4.1 Replicated Summary Tables The following information will replace or be added to the existing information already in this section: Replicated summary tables can be used to assist in the collocation of joins. For example, if you had a star schema where there is a large fact table spread across twenty nodes, then the joins between the fact table and the dimension tables are most efficient if these tables are collocated. By placing all of the tables in the same nodegroup, at most there would one dimension table partitioned correctly for a collocated join. All other dimension tables would not be able to be used in a collocated join because the join column(s) on the fact table would not correspond to the fact table's partitioning key. For example, you could have a table called FACT (C1, C2, C3, ...) partitioned on C1; and a table called DIM1 (C1, dim1a, dim1b, ...) partitioned on C1; and a table called DIM2 (C2, dim2a, dim2b, ...) partitioned on C2; and so on. From this example, you could see that the join between FACT and DIM1 is perfect because the predicate DIM1.C1 = FACT.C1 would be collocated. Both of these tables are partitioned on column C1. The join between DIM2 with the predicate WHERE DIM2.C2 = FACT.C2 cannot be collocated because FACT is partitioned on column C1 and not on column C2. In this case, it would be good to replicate DIM2 in the fact table's nodegroup. In this way we can do the join locally on each partition. Note: The replicated summary tables discussion here has to do with intra-database replication. Inter-database replication has to do with subscriptions, control tables, and data located in different databases and on different operating systems. If you are interested in inter-database replication refer to the Replication «ü«n»P°Ñ¦Ò¤â¥U for more information. When creating a replicated summary table, the source table could be a single-node nodegroup table or a multi-node nodegroup table. In most cases, the table is small and can be placed in a single-node nodegroup. You may place a limit on the data to be replicated by specifying only a subset of the columns from the table, or by limiting the number of rows through the predicates used, or by using both methods when creating the replicated summary table. Note: The data capture option is not required for replicated summary tables to function. The replicated summary table could also be created in a multi-node nodegroup. The nodegroup is the same as the nodegroup in which you have placed your large tables. In this case, copies of the source table are created on all of the partitions of the nodegroup. Joins between a large fact table and the dimension tables have a better chance of being done locally in this environment rather than having to broadcast the source table to all partitions. Indexes on replicated tables are not created automatically. Indexes are created and may be different from those identified in the source table. Note: You cannot create unique indexes (or put on any constraints) on the replicated tables. This will prevent constraint violations that are not present on the source tables. These constraints are disallowed even if there is the same constraint on the source table. After using the REFRESH statement, you should run RUNSTATS on the replicated table as you would any other table. The replicated tables can be referenced directly within a query. However, you cannot use the NODENUMBER() predicate with a replicated table to see the table data on a particular partition. To see if a created replicated summary table was used (given a query that referenced the source table), you can use the EXPLAIN facility. First, you would ensure the EXPLAIN tables existed. Then, you would create an explain plan for the SELECT statement you are interested in. Finally, you would use db2exfmt utility to format the EXPLAIN output. The access plan chosen by the optimizer may or may not use the replicated summary table depending on the information that needs to be joined. Not using the replicated summary table could occur if the optimizer determined that it would be cheaper to broadcast the original source table to the other partitions in the nodegroup. 8.4.2 Data Access Concepts and Optimization The section "Multiple Index Access" under "Index Scan Concepts" has changed. Add the following information before the note at the end of the section: To realize the performance benefits of dynamic bitmaps when scanning multiple indexes, it may be necessary to change the value of the sort heap size (sortheap) database configuration parameter, and the sort heap threshold (sheapthres) database manager configuration parameter. Additional sort heap space is required when dynamic bitmaps are used in access plans. When sheapthres is set to be relatively close to sortheap (that is, less than a factor of two or three times per concurrent query), dynamic bitmaps with multiple index access must work with much less memory than the optimizer anticipated. The solution is to increase the value of sheapthres relative to sortheap. The section "Search Strategies for Star Join" under "Predicate Terminology" has changed. Add the following information at the end of the section: The dynamic bitmaps created and used as part of the Star Join technique uses sort heap memory. See Chapter 13, "Configuring DB2" in the Administration Guide: Performance manual for more information on the Sort Heap Size (sortheap) database configuration parameter. ------------------------------------------------------------------------ 8.5 Chapter 8. Operational Performance 8.5.1 Managing the Database Buffer Pool Within the section titled "Managing the Database Buffer Pool", add the following information after the paragraph that begins "When creating the buffer pool, by default the page size is 4 KB.": When working with Windows 2000, buffer pool sizes up to 64 GB in size are supported less the size of DB2 and the operating system. (This assumes that DB2 is the primary product on the system.) This support is available through Microsoft Address Windowing Extensions (AWE). Although AWE can be used with buffer pools of any size, if you require AWE use on larger buffer pools there are other recommended Windows products. Windows 2000 Advanced Server provides support for up to 8 GB of memory. Windows 2000 Data Center Server provides support for up to 64 GB of memory. DB2 and Windows 2000 must be configured correctly to support AWE buffer pools. The buffer pool that will take advantage of AWE must exist in the database. To have a 3 GB user space allocated, use the /3GB Windows 2000 boot option. This allows a larger AWE window size to be used. To enable access to more than 4 GB of memory via the AWE memory interface, use the /PAE Windows 2000 boot option. To verify that you have the correct boot option selected, under Control, select System, then select "Startup and Recovery". From the drop-down list you can see the available boot options. If the boot option (/3GB or /PAE) you want is selected, then you are ready to proceed to the next task in setting up AWE support. If the option you want is not available for selection, you must add the option to the boot.ini file on the system drive. The boot.ini file contains a list of actions to be done when the operating system is started. Add /3GB, or /PAE, or both (separated by blanks) at the end of the list of existing parameters. Once you have saved this changed file, you can verify and select the correct boot option as mentioned above. Windows 2000 also has to be modified to associate the "lock pages in memory"-right with the user under which DB2 is installed. To set the "lock pages in memory"-right, once you have logged on to Windows 2000 as the user who installed DB2, under the Start menu on Windows 2000 select the "Administrative Tools" folder, and then the "Local Security Policy" program. Under the local policies, you can select the user rights assignment for the "lock pages in memory"-right. DB2 requires the setting of the DB2_AWE registry variable. To set this registry variable correctly, you will need to know the buffer pool ID of the buffer pool you wish to allow support of AWE. You also need to know the number of physical pages and the address window pages to allocate. The number of physical pages to allocate should be some value less than the total available physical pages. The actual number chosen will depend on your working environment. For example, if you have an environment where only DB2 and database applications are used on your system, then you can choose to have from one-half to one GB less than the total size of the physical pages as the value used with the DB2_AWE variable. If you have an environment where other non-database applications are using the system, then you will have to increase the value you subtract from the total to allow more physical pages for those other applications. The number used in the DB2_AWE registry variable is the number of physical pages to be used in support of AWE and for use by DB2. The upper limit on the address window pages is 1.5 GB, or 2.5 GB when the /3GB Windows 2000 boot option is in effect. For information on setting the DB2 registry variable DB2_AWE, see the table of new and changed registry variables in "Appendix A. DB2 Registry and Environment Variables" later in this section. 8.5.2 Managing Multiple Database Buffer Pools Within the section titled "Managing Multiple Database Buffer Pools", add the following paragraph after the paragraph that begins "When working with your database design, you may have determined that tables with 8 KB page sizes are best.": When working with Windows 2000, the DB2_AWE registry variable can be used to override the buffer pool size settings in the catalog and configuration files. Use of this registry variable allows buffer pool sizes of up to approximately 64 GB. Within the same section, replace the paragraph just before the note with the following: The reason for allowing the database manager to start with minimal-sized values is to allow you to connect to the database. You can then reconfigure the buffer pool sizes, or perform other critical tasks, with the goal of restarting the database with correct buffer pool sizes. Do not consider operating the database for an extended time in such a state. Within the section titled "Reorganizing Catalogs and User Tables", the last sentence (with a short list) in the paragraph that begins "The REORG utility allows you to specify a temporary table space..." can be replaced by: Using the same table space to reorganize tables is faster but greater logging occurs and there must be enough space for the reorganized table. If you specify a temporary table space, it is generally recommended that you specify an SMS temporary table space. A DMS temporary table space is not recommended since you can only have on REORG in progress using this type of table space. Within the section titled "Extending Memory", add the following paragraph after the third paragraph in this section: When allocating Windows 2000 Address Windowing Extensions (AWE) buffer pools using the DB2_AWE registry variable, the extended storage cache cannot be used. ------------------------------------------------------------------------ 8.6 Chapter 9. Using the Governor Within the section titled "Creating the Governor Configuration File", the first sentence in the first paragraph following the schedule action discussion should be replaced with: If more than one rule applies to an application, all of the rules are applied. Depending on the rule and the limits being set, the action associated with the rule limit encountered first is the action that is first to be applied. ------------------------------------------------------------------------ 8.7 Chapter 13. Configuring DB2 The following parameters require changes: 8.7.1 Sort Heap Size (sortheap) The "Recommendation" section has changed. The information here should now read: When working with the sort heap, you should consider the following: * Appropriate indexes can minimize the use of the sort heap. * Hash join buffers and dynamic bitmaps (used for index ANDing and Star Joins) use sort heap memory. Increase the size of this parameter when these techniques are used. * Increase the size of this parameter when frequent large sorts are required. * ... (the rest of the items are unchanged) 8.7.2 Sort Heap Threshold (sheapthres) The second last paragraph in the description of this parameter has changed. The paragraph should now read: Examples of those operations that use the sort heap include: sorts, dynamic bitmaps (used for index ANDing and Star Joins), and operations where the table is in memory. The following information is to be added to the description of this parameter: There is no reason to increase the value of this parameter when moving from a single-node to a multi-node environment. Once you have tuned the database and database manager configuration parameters on a single node (in a DB2 EE) environment, the same values will in most cases work well in a multi-node (in a DB2 EEE) environment. The Sort Heap Threshold parameter, as a database manager configuration parameter, applies across the entire DB2 instance. The only way to set this parameter to different values on different nodes or partitions, is to create more than one DB2 instance. This will require managing different DB2 databases over different nodegroups. Such an arrangement defeats the purpose of many of the advantages of a partitioned database environment. 8.7.3 Maximum Percent of Lock List Before Escalation (maxlocks) The following change pertains to the Recommendation section of the "Maximum Percent of Lock List Before Escalation (maxlocks)" database configuration parameter. Recommendation: The following formula allows you to set maxlocks to allow an application to hold twice the average number of locks: maxlocks = 2 * 100 / maxappls Where 2 is used to achieve twice the average and 100 represents the largest percentage value allowed. If you have only a few applications that run concurrently, you could use the following formula as an alternative to the first formula: maxlocks = 2 * 100 / (average number of applications running concurrently) One of the considerations when setting maxlocks is to use it in conjunction with the size of the lock list (locklist). The actual limit of the number of locks held by an application before lock escalation occurs is: maxlocks * locklist * 4096 / (100 * 36) Where 4096 is the number of bytes in a page, 100 is the largest percentage value allowed for maxlocks, and 36 is the number of bytes per lock. If you know that one of your applications requires 1000 locks, and you do not want lock escalation to occur, then you should choose values for maxlocks and locklist in this formula so that the result is greater than 1000. (Using 10 for maxlocks and 100 for locklist, this formula results in greater than the 1000 locks needed.) If maxlocks is set too low, lock escalation happens when there is still enough lock space for other concurrent applications. If maxlocks is set too high, a few applications can consume most of the lock space, and other applications will have to perform lock escalation. The need for lock escalation in this case results in poor concurrency. You may use the Database System Monitor to help you track and tune this configuration parameter. 8.7.4 Configuring DB2/DB2 Data Links Manager/Data Links Access Token Expiry Interval (dl_expint) Contrary to the documentation, if dl_expint is set to "-1", the access control token expires. The workaround for this is to set dl_expint to its maximum value, 31536000 (seconds). This corresponds to an expiration time of one year, which should be adequate for all applications. 8.7.5 MIN_DEC_DIV_3 Database Configuration Parameter The addition of the MIN_DEC_DIV_3 database configuration parameter is provided as a quick way to enable a change to computation of the scale for decimal division in SQL. MIN_DEC_DIV_3 can be set to YES or NO. The default value for MIN_DEC_DIV_3 is NO. The MIN_DEC_DIV_3 database configuration parameter changes the resulting scale of a decimal arithmetic operation involving division. If the value is NO, the scale is calculated as 31-p+s-s'. Refer to the SQL Reference, Chapter 3, "Decimal Arithmetic in SQL" for more information. If set to YES, the scale is calculated as MAX(3, 31-p+s-s'). This causes the result of decimal division to always have a scale of at least 3. Precision is always 31. Changing this database configuration parameter may cause changes to applications for existing databases. This can occur when the resulting scale for decimal division would be impacted by changing this database configuration parameter. Listed below are some possible scenarios that may impact applications. These scenarios should be considered before changing the MIN_DEC_DIV_3 on a database server with existing databases. * If the resulting scale of one of the view columns is changed, a view that is defined in an environment with one setting could fail with SQLCODE -344 when referenced after the database configuration parameter is changed. The message SQL0344N refers to recursive common table expressions, however, if the object name (first token) is a view, then you will need to drop the view and create it again to avoid this error. * A static package will not change behavior until the package is rebound, either implicitly or explicitly. For example, after changing the value from NO to YES, the additional scale digits may not be included in the results until rebind occurs. For any changed static packages, an explicit rebind command can be used to force a rebind. * A check constraint involving decimal division may restrict some values that were previously accepted. Such rows now violate the constraint but will not be detected until the one of the columns involved in the check constraint row is updated or the SET INTEGRITY command with the IMMEDIATE CHECKED option is processed. To force checking of such a constraint, perform an ALTER TABLE command in order to drop the check constraint and then perform an ALTER TABLE command to add the constraint again. Note: DB2 Version 7 also has the following limitations: 1. The command GET DB CFG FOR DBNAME will not display the MIN_DEC_DIV_3 setting. The best way to determine the current setting is to observe the side-effect of a decimal division result. For example, consider the following statement: VALUES (DEC(1,31,0)/DEC(1,31,5)) If this statement returns sqlcode SQL0419N, then the database does not have MIN_DEC_DIV_3 support or it is set to OFF. If the statement returns 1.000, then MIN_DEC_DIV_3 is set to ON. 2. MIN_DEC_DIV_3 does not appear in the list of configuration keywords when you run the following command: ? UPDATE DB CFG 8.7.6 Application Control Heap Size (app_ctl_heap_sz) The text for this parameter should now read: For partitioned databases and non-partitioned databases with intra-parallelism enabled (intra_parallel=ON), this is the size of the shared memory area allocated for the application control heap. For non-partitioned databases where intra-parallelism is disabled (intra_parallel=OFF), this is the maximum private memory that will be allocated for the heap. There is one application control heap per connection per partition. The application control heap is required primarily for sharing information between agents working on behalf of the same request, and, in a partitioned database environment, for storing executable sections representing SQL statements. Usage of this heap is minimal for non-partitioned databases when running queries with a degree of parallelism less than or equal to 1. This heap is also used to store descriptor information for declared temporary tables. The descriptor information for all declared temporary tables that have not been explicitly dropped is kept in this heap's memory and cannot be dropped until the declared temporary table is dropped. The "Recommendation" portion remains unchanged. 8.7.7 Database System Monitor Heap Size (mon_heap_sz) The default for the OS/2 and Windows NT Database server with local and remote clients and Satellite database server with local clients has changed from 24 to 32. The range is unchanged. 8.7.8 Maximum Number of Active Applications (maxappls) The upper range limit for all platforms has changed from 64 000 to 60 000. The default value is unchanged. 8.7.9 Recovery Range and Soft Checkpoint Interval (softmax) The unit of measure is changed to the percentage of the size of one primary log file. 8.7.10 Track Modified Pages Enable (trackmod) Configuration Type: Database Parameter Type: Configurable Default [Range]: Off [ On; Off ] When this parameter is set to ON, the database manager will track which pages in the database have changed since the most recent full backup was taken. This allows the backup utility to determine which pages should be included in an incremental backup without having to examine every page individually. For SMS tablespaces, the granularity of this tracking is at the tables pace level. For DMS table spaces, the granularity is at the extent level for data and index pages and at the table space level for other page types. After setting this parameter to ON, you must take a full database backup in order to have a baseline against which incremental backups can be taken. 8.7.11 Change the Database Log Path (newlogpath) Configuration Type: Database Parameter Type: Configurable Default [Range]: Null [ any valid path or device] Related Parameters: Location of Log Files (logpath); Database is Consistent (database_consistent) This parameter allows you to specify a string of up to 242 bytes to change the location where the log files are stored. The string can point to either a path name, or to a raw device. If the string points to a path name, it must be a fully qualified path name, not a relative path name. Note: In a partitioned database environment, the node number is automatically appended to the path. This is done to maintain the uniqueness of the path in multiple logical node configurations. To specify a device, specify a string that the operating system identifies as a device. For example, on Windows NT, \\.\d: or \\.\PhysicalDisk5 Note: You must have Windows NT Version 4.0 with Service Pack 3 installed to be able to write logs to a device. On UNIX-based platforms, /dev/rdblog8 Note: You can only specify a device on AIX, Windows 2000, Windows NT, Solaris, HP-UX, NUMA-Q, and Linux platforms. The new setting does not become the value of logpath until both of the following occur: * The database is in a consistent state, as indicated by the database_consistent parameter. * All users are disconnected from the database. When the first new connection is made to the database, the database manager will move the logs to the new location specified by logpath. There might be log files in the old log path. These log files might not have been archived. You might need to archive these log files manually. Also, if you are running replication on this database, replication might still need the log files from before the log path change. If the database is configured with the User Exit Enable (userexit) database configuration parameter set to "Yes", and if all the log files have been archived either by DB2 automatically or by yourself manually, then DB2 will be able to retrieve the log files to complete the replication process. Otherwise, you can copy the files from the old log path to the new log path. Recommendation: Ideally, the log files will be on a physical disk which does not have high I/O. For instance, avoid putting the logs on the same disk as the operating system or high volume databases. This will allow for efficient logging activity with a minimum of overhead such as waiting for I/O. You can use the database system monitor to track the number of I/Os related to database logging. For more information, refer to the following monitor element descriptions in the System Monitor Guide and Reference: * log_reads (number of log pages read) * log_writes (number of log pages written) The preceding data elements return the amount of I/O activity related to database logging. You can use an operating system monitor tool to collect information about other disk I/O activity, then compare the two types of I/O activity. 8.7.12 Location of Log Files (logpath) Configuration Type: Database Parameter Type: Informational Related Parameters: Change the Database Log Path (newlogpath) This parameter contains the current path being used for logging purposes. You cannot change this parameter directly as it is set by the database manager after a change to the newlogpath parameter becomes effective. When a database is created, the recovery log file for it is created in a subdirectory of the directory containing the database. The default is a subdirectory named SQLOGDIR under the directory created for the database. 8.7.13 Maximum Storage for Lock List (locklist) The maximum value is increased from 60 000 to 524 288. ------------------------------------------------------------------------ 8.8 Appendix A. DB2 Registry and Environment Variables The following registry variables are new or require changes: 8.8.1 Table of New and Changed Registry Variables Table 6. Registry Variables Variable Name Operating Values System Description DB2MAXFSCRSEARCH All Default=5 Values: -1, 1 to 33554 Specifies the number of free space control records to search when adding a record to a table. The default is to search five free space control records. Modifying this value allows you to balance insert speed with space reuse. Use large values to optimize for space reuse. Use small values to optimize for insert speed. Setting the value to -1 forces the database manager to search all free space control records. DLFM_TSM_MGMTCLASS AIX, Windows Default: the default TSM NT, Solaris management class Values: any valid TSM management class Specifies which TSM management class to use to archive and retrieve linked files. If there is no value set for this variable, the default TSM management class is used. DB2_CORRELATED_PREDICATES All Default=YES Values: YES or NO The default for this variable is YES. When there are unique indexes on correlated columns in a join, and this registry variable is YES, the optimizer attempts to detect and compensate for correlation of join predicates. When this registry variable is YES, the optimizer uses the KEYCARD information of unique index statistics to detect cases of correlation, and dynamically adjusts the combined selectivities of the correlated predicates, thus obtaining a more accurate estimate of the join size and cost. DB2_VI_DEVICE Windows NT Default=null Values: nic0 or VINIC Specifies the symbolic name of the device or Virtual Interface Provider Instance associated with the Network Interface Card (NIC). Independent hardware vendors (IHVs) each produce their own NIC. Only one (1) NIC is allowed per Windows NT machine; Multiple logical nodes on the same physical machine will share the same NIC. The symbolic device name "VINIC" must be in upper case and can only be used with Synfinity Interconnect. All other currently supported implementations use "nic0" as the symbolic device name. DB2_SELECTIVITY ALL Default=NO Values: YES or NO This registry variable controls where the SELECTIVITY clause can be used. See the SQL Reference, Language Elements, Search Conditions for complete details on the SELECTIVITY clause. When this registry variable is set to YES, the SELECTIVITY clause can be specified when the predicate is a basic predicate where at least one expression contains host variables. DB2_UPDATE_PART_KEY ALL Default=YES Values: YES or NO For FixPak 3 and later, the default value is YES. This registry variable specifies whether or not update of the partitioning key is permitted. DB2_BLOCK_ON_LOG_DISK_FULL ALL Default=NO Values: YES or NO This DB2 registry variable can be set to prevent "disk full" errors from being generated when DB2 cannot create a new log file in the active log path. Instead, DB2 attempts to create the log file every 5 minutes until it succeeds. After each attempt, DB2 writes a message to the db2diag.log file. The only way that you can confirm that your application is hanging because of a log disk full condition is to monitor the db2diag.log file. Until the log file is successfully created, any user application that attempts to update table data will not be able to commit transactions. Read-only queries may not be directly affected; however, if a query needs to access data that is locked by an update request, or a data page that is fixed in the buffer pool by the updating application, read-only queries will also appear to hang. DB2_INDEX_2BYTEVARLEN All Default=NO Values: YES or NO This registry variable allows columns with a length greater than 255 bytes to be specified as part of an index key. Indexes already created before turning this registry variable YES will continue to have the 255 key limit restriction. Indexes created after turning this registry variable YES will behave as a two-byte index even when the registry variable is turned NO again. Several SQL statements are affected by changes to this registry variable including CREATE TABLE, CREATE INDEX, and ALTER TABLE. For more information on these statements, refer to the changes documented for the SQL Reference. DB2_FORCE_FCM_BP AIX Default=NO Values: YES or NO Specifies from where the fast communications manager (FCM) resources are allocated. The resources may be allocated from either the database manager shared memory segment or a separate one. With multiple logical nodes on the same machine, this registry variable should be used. On a partitioned database system with symmetric multi-processing (SMP) enabled, the setting of this registry variable has no effect on how communication takes place. In this case, communication is always through shared memory. However, it does affect the number of shared memory segments DB2 will use. DB2_AWE Windows 2000 Default=Null Values: [; ;...] where =, , Allows DB2 UDB on Windows 2000 to allocate buffer pools that use up to 64 GB of memory. Windows 2000 must be configured correctly to support Address Windowing Extensions (AWE) buffer pools. This includes associating the "lock pages in memory"-right with the user on Windows 2000 and setting this registry variable on DB2. In setting this variable you need to know the buffer pool ID that is to be used for AWE support. You also need to determine the number of physical pages to allocate and the number of address windows. For information on determining the number of physical pages to allocate and the number of address windows, see the section on "Managing the Database Buffer Pool" found in "Chapter 8. Operational Performance" earlier in this section. Note: If AWE support is enabled, extended storage (ESTORE) cannot be used for any of the buffer pools in the database. The buffer pools referenced by this variable must already exist in SYSIBM.SYSBUFFERPOOLS. DB2_STPROC_LOCKUP_FIRST All Default=NO Values: YES or NO This registry variable has been renamed from DB2_DARI_LOOKUP_ALL. DB2MEMDISCLAIM AIX Default=YES Values: YES or NO On AIX, memory used by DB2 processes may have some associated paging space. This paging space may remain reserved, even when the associated memory has been freed. The reservation of the paging space depends on the AIX system's tunable virtual memory management allocation policy. This registry variable controls whether DB2 agents explicitly request that AIX disassociate the reserved paging space from the freed memory. A setting of "YES" results in smaller paging space requirements, and possibly less disk activity from paging. A setting of "NO" results in greater paging space requirements, and possibly more disk activity from paging. In some situations, such as if paging space is plentiful, and if real memory is so plentiful that paging never occurs, then a setting of NO will provide a small performance improvement. DB2MEMMAXFREE All Default=8 388 608 bytes Values: 0 to 232-1 bytes This registry variable controls the maximum amount of unused memory in bytes retained by DB2 processes. DB2_ANTIJOIN All Default=NO in a EEE environment Default=YES in a non-EEE environment Values: YES or NO For DB2 Universal Database EEE environments: When YES is specified, the optimizer will search for opportunities to transform NOT EXISTS subqueries into anti-joins which can be processed more efficiently by DB2. For non-EEE environments: When NO is specified, the optimizer will limit the opportunities to transform NOT EXISTS subqueries into anti-joins. NEWLOGPATH2 UNIX Default=NO Values: YES or NO This parameter allows you to specify whether a secondary path should be used to implement dual logging. The path that will be used is generated by appending the character '2' to the current value of 'LOGPATH'. DB2DOMAINLIST Windows NT Default=Null Values: one or more valid Windows NT domains (comma separating each) Defines one or more Windows NT domains. Only users belonging to these domains will have their connection or attachment requests accepted. This registry variable should only be used under a pure Windows NT domain environment with DB2 servers and clients running DB2 Universal Database Version 7.1 (or later). DB2_LIKE_VARCHAR All Default=Y,N Values: Y, N, S, floating point constant between 0 and 6.2 Controls the collection and use of sub-element statistics. These are statistics about the content of data in columns when the data has a structure in the form of a series of sub-fields or sub-elements delimited by blanks. This registry variable affects how the optimizer deals with a predicate of the form: COLUMN LIKE '%xxxxxx%' where the xxxxxx is any string of characters. The syntax showing how this registry variable is used is: db2set DB2_LIKE_VARCHAR=[Y|N|S|num1] [,Y|N|S|num2] where * The term preceding the comma, or the only term to the right of the predicate, means the following but only for columns that do not have positive sub-element statistics: o S - The optimizer estimates the length of each element in a series of elements concatenated together to form a column based on the length of the string enclosed in the % characters. o Y - The default. Use a default value of 1.9 for the algorithm parameter. Use a variable-length sub-element algorithm with the algorithm parameter. o N - Use a fix-length sub-element algorithm. o num1 - Use the value of num1 as the algorithm parameter with the variable length sub-element algorithm. * The term following the comma means the following: o N - The default. Do not collect of use sub-element statistics. o Y - Collect sub-element statistics. Use a variable-length sub-element algorithm that uses the collected statistics together with the 1.9 default value for the algorithm parameter in the case of columns with positive sub-element statistics. o num2 - Collect sub-element statistics. Use a variable-length sub-element algorithm that uses the collected statistics together with the value of num2 as the algorithm parameter in the case of columns with positive sub-element statistics. DB2_PINNED_BP AIX, HP-UX Default=NO Values: YES or NO This variable is used to hold the database global memory (including buffer pools) associated with the database in the main memory on some AIX operating systems. Keeping this database global memory in the system main memory allows database performance to be more consistent. If, for example, the buffer pool was swapped out of the system main memory then database performance would deteriorate. The reduction of disk I/O by having the buffer pools in system memory improves database performance. If you have other applications that require more of the main memory, you will want to allow the database global memory, depending on the system main memory requirements, to be swapped out of main memory. When working with HP-UX in a 64-bit environment, in addition to modifying this registry variable, the DB2 instance group must be given the MLOCK privilege. This is done by having a user with root access rights do the following: 1. Add the DB2 instance group to the /etc/privgroup file. For example, if the DB2 instance group belongs to db2iadm1 group then the following line must be added to the /etc/privgroup file: db2iadm1 MLOCK 2. Issue the following command: setprivgrp -f /etc/privgroup DB2_RR_TO_RS All Default=NO Values: YES or NO Next key locking guarantees Repeatable Read (RR) isolation level by automatically locking the next key for all INSERT and DELETE statements and the next higher key value above the result set for SELECT statements. For UPDATE statements that alter key parts of an index, the original index key is deleted and the new key value is inserted. Next key locking is done on both the key insertion and key deletion. Next key locking is required to guarantee ANSI and SQL92 standard RR, and is the DB2 default. If your application appears to stop or hang, you should examine snapshot information for your application. If the problem appears to be with next key locking, you can set the DB2_RR_TO_RS registry variable on based on two conditions. You can turn DB2_RR_TO_RS on if none of your applications rely on Repeatable Read (RR) behavior and if it is acceptable for scans to skip over uncommitted deletes. The skipping behavior affects the RR, Read Stability (RS), and Cursor Stability (CS) isolation levels. (There is no row locking for Uncommitted Read (UR) isolation level.) When DB2_RR_TO_RS is on, RR behavior cannot be guaranteed for scans on user tables because next key locking is not done during index key insertion and deletion. Catalog tables are not affected by this option. The other change in behavior is that with DB2_RR_TO_RS on, scans will skip over rows that have been deleted but not committed, even though the row may have qualified for the scan. ------------------------------------------------------------------------ 8.9 Appendix C. SQL Explain Tools The section titled "Running db2expln and dynexpln" should have the last paragraph replaced with the following: To run db2expln, you must have SELECT privilege to the system catalog views as well as EXECUTE authority for the db2expln package. To run dynexpln, you must have BINDADD authority for the database, the schema you are using to connect to the database must exist or you must have the EXPLICIT_SCHEMA authority for the database, and you must have any privileges needed for the SQL statements being explained. (Note that if you have SYSADM or DBADM authority, you will automatically have all these authorization levels.) ------------------------------------------------------------------------ Administering Satellites Guide and Reference(µL¤¤¤åª©) ------------------------------------------------------------------------ 9.1 Setting up Version 7.2 DB2 Personal Edition and DB2 Workgroup Edition as Satellites The sections that follow describe how to set up Windows-based Version 7.2 DB2 Personal Edition and DB2 Workgroup Edition systems so that they can be used as fully functional satellites in a satellite environment. For information about the terms and concepts used in the information that follows, refer to the Administering Satellites Guide and Reference. You can find this book at the following URL: http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v6pubs.d2w/en_main For Technotes that supplement the information in the Administering Satellites Guide and Reference, refer to the following URL: http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/browse.d2w/ report?type=tech5udb&tech5udb=Y 9.1.1 Prerequisites To set up either DB2 Personal Edition or DB2 Workgroup Edition as satellites, you require the following: 1. A DB2 control server The DB2 control server is a DB2 Enterprise Edition system that runs on Windows NT or AIX, and has the Control Server component installed. The DB2 Enterprise Edition system that you use must be at Version 6 with FixPak 2 or higher, or Version 7 at any FixPak level. o If you have a Version 6 Enterprise Edition system that you want to use as the DB2 control server, see 9.1.3, Installing FixPak 2 or Higher on a Version 6 Enterprise Edition System. o If you are using Version 7 and do not have the Control Server component installed, install this component, re-install any FixPaks that you have already installed, then create the DB2 control server instance and satellite control database. Refer to the Administering Satellites Guide and Reference for instructions on creating these objects. Note: If you are installing a Version 7.2 Enterprise Edition system on Windows NT for use as the DB2 control server, and you want to perform a response file installation, see the Technote entitled DB2 Control Server Response File Keywords for information about the keywords to specify in the response file. 2. The DB2 control server instance and the satellite control database The DB2 control server instance is typically called DB2CTLSV, and the satellite control database is called SATCTLDB. The DB2 control server instance and the satellite control database are on the Enterprise Edition system, and, on Windows NT, are automatically created when you install DB2 with the Control Server component. If you install DB2 on AIX, see the Administering Satellites Guide and Reference for information about creating the DB2 control server instance and the satellite control database. 3. The Satellite Administration Center The Satellite Administration Center is the set of GUI tools that you use to set up and administer the satellite environment. You access this set of tools from the DB2 Control Center. For more information about Satellite Administration Center and the satellite environment, see the Administering Satellites Guide and Reference, and the online help that is available from the Satellite Administration Center. If you are running a Version 6 DB2 Control Center, see 9.1.4, Upgrading a Version 6 DB2 Control Center and Satellite Administration Center. If you have not already used the Satellite Administration Center to set up the satellite environment and to create the object that represents the new satellite in the Satellite Administration Center, you should do so before installing the satellite. For more information, see the description of how to set up and test a satellite environment in the Administering Satellites Guide and Reference. 4. A Version 7.2 Personal Edition or Workgroup Edition system that you want to use as a satellite. 9.1.1.1 Installation Considerations When you install either DB2 Personal Edition or DB2 Workgroup Edition, you do not have to select any special component to enable either system to synchronize. If you intend to perform a response file installation, see Performing a Response File Installation for the keywords that you should specify when installing the Version 7.2 system. If you are performing an interactive installation of your Version 7.2 system, see 9.1.2, Configuring the Version 7.2 System for Synchronization after you finish installing DB2 for values that you must set at the Version 7.2 system to enable it to synchronize. Performing a Response File Installation If you are performing a response file installation of Version 7.2 DB2 Personal Edition or DB2 Workgroup Edition, you can set the following keywords in the response file. If you decide to not specify one or more of these keywords during the response file installation, see 9.1.2, Configuring the Version 7.2 System for Synchronization for additional steps that you must perform after installing DB2 to enable the Version 7.2 system to synchronize. You can also use the instructions in this section if you want to change any values that were specified during the response file installation. db2.db2satelliteid Sets the satellite ID on the system. Note: If you do not specify this keyword, the satellite ID is automatically set to the user ID that was used to install DB2. If you want to use this user ID as the satellite ID, you do not have to specify a value for this keyword. db2.db2satelliteappver Sets the application version on the system. Note: If you do not specify this keyword, the application version on the satellite is automatically set to V1R0M00. If you want to use this value as the application version, you do not have to specify a value for this keyword. db2.satctldb_username Sets the user name to be used for the system to connect to the satellite control database. db2.satctldb_password Sets the password that the user name passes to the DB2 control server when the user name connects to the satellite control database. After you complete the response file installation, the Version 7.2 system is ready to synchronize. You should issue the db2sync -t command on the satellite to verify that the values specified on the satellite are correct, and that the satellite can connect to the satellite control database. For additional information about performing a response file installation, refer to the Administering Satellites Guide and Reference. Note: 1. In Version 7, user IDs and passwords are required for the creation of all services on Windows NT and Windows 2000. These user IDs and passwords are specified in the response file by keyword pairs. The first keyword pair found in the response file becomes the default user ID and password for all services, unless you provide an override for a service by specifying the specific keyword pair for that service. In Version 6, the admin.userid and the admin.password keywords could be specified during a response file installation of DB2 Satellite Edition to specify the user ID and password that would be used by the Remote Command Service. For Version 7.2 Personal Edition and Workgroup Edition, if you specify these keywords, they are used for the DB2DAS00 instance on the Version 7.2 system. For a DB2 Version 7.2 system, the Remote Command Service will use the user ID and password that is used by the DB2 instance on the system. If you do not specify values for db2.userid and db2.password, the defaulting rule described above applies. 2. In Version 6, you could create a database when installing DB2 Satellite Edition using a response file installation. You cannot create a database during a response file installation on the Version 7.2 Personal Edition or Workgroup Edition system that you intend to use as a satellite. The following keywords (which are described in the Administering Satellites Guide and Reference), are not supported: o db2.userdb_name o db2.userdb_recoverable o db2.userdb_rep_src 9.1.2 Configuring the Version 7.2 System for Synchronization If you install the Version 7.2 system interactively, several values must be set on the DB2 Personal Edition or DB2 Workgroup Edition system after installing DB2 before the system can synchronize. Note: You can use execute an operating system script on the system to set all values at the satellite except for the user ID and password that the satellite uses to connect to the satellite control database (see step 4). 1. Set the satellite ID by using the db2set command. If you install DB2 Personal Edition or DB2 Workgroup Edition interactively, the satellite ID is automatically set to the user ID that was used to install DB2. If you want to use this user ID as the satellite ID, you do not have to perform this step. For information about setting the satellite ID, see the Administering Satellites Guide and Reference. 2. Set the application version on the satellite by using the db2sync -s command. If you install DB2 Personal Edition or DB2 Workgroup Edition interactively, the application version on the satellite is automatically set to V1R0M00. If you want to use this value as the application version, you do not have to perform this step. You can use the db2sync -g command on the satellite to view the current setting of the application version. If you want to change this value, issue the db2sync -s command. You are prompted to provide a new value for the application version. For more information about setting the application version, see the Administering Satellites Guide and Reference. 3. Issue the catalog node and catalog database commands on the satellite to catalog the DB2 control server instance and the satellite control database, SATCTLDB, at the satellite. You can also use the db2sync -t command on the satellite to open the DB2 Synchronizer application in test mode. If the SATCTLDB database is not cataloged at the satellite when you issue the command, the Catalog Control Database window opens. You can either use the DB2 discovery feature that is available from the Catalog Control Database window to catalog the DB2 control server and the SATCTLDB database, or you can type the hostname and server name in this window. You will also be prompted to specify the user ID and password that the satellite will use to connect to the satellite control database, as described in step 4. Note: After you install Version 7.2 DB2 Personal Edition or DB2 Workgroup Edition interactively, the DB2 Synchronizer does not start automatically in test mode (as was the case for Version 6 DB2 Satellite Edition). 4. Issue the db2sync -t command on the satellite to: o Specify the user ID and the password that the satellite will use to connect to the satellite control database If synchronization credentials are not already stored at the satellite, the Connect to Control Database window opens. You must use this window to specify the user ID and password the satellite will use to connect to the satellite control database. o Verify the values that are set on the satellite are correct o Verify that the satellite can connect to the satellite control database After you complete these configuration tasks, the Version 7.2 system is ready to synchronize. 9.1.3 Installing FixPak 2 or Higher on a Version 6 Enterprise Edition System The sections that follow describe the tasks that you must perform to upgrade a Version 6 Enterprise Edition system on Windows NT or AIX for use as a DB2 control server. If you are using a Version 6 DB2 Control Center, also perform the steps in 9.1.4, Upgrading a Version 6 DB2 Control Center and Satellite Administration Center to verify that you have the correct level of the DB2 Control Center and the Satellite Administration Center to administer the satellite environment. 9.1.3.1 Upgrading Version 6 DB2 Enterprise Edition for Use as the DB2 Control Server For a Version 6 DB2 Enterprise Edition system to be used as the DB2 control server, it must be installed with the Control Server component, and DB2 Enterprise Edition should be at the FixPak 2 service level, or higher. Depending on whether the DB2 control server component is installed, and the service level of DB2 Enterprise Edition, you will have to perform one of the following tasks: * Install the DB2 control server component to an existing DB2 Enterprise Edition V6.1 system and install FixPak 2 or higher. Then update the satellite control database (SATCTLDB) on the system. * Upgrade an already installed DB2 control server to the FixPak 2 level or higher. Use the information that follows to identify which of the two preceding tasks you need to perform, and the steps that apply to your situation. The following is a summary of the steps that you will perform. 1. First, assess the current state of your DB2 Enterprise Edition installation. You will determine whether the Control Server component is installed, and the service level of DB2. 2. Second, based on the state information that you obtain, you will determine what needs to be done. 3. Third, you will perform the necessary steps to upgrade DB2 Enterprise Edition. The DB2 control server can only run on DB2 Enterprise Edition for Windows NT and AIX. Continue with the instructions that are appropriate for your platform: * Upgrading DB2 Enterprise Edition on Windows NT * Upgrading DB2 Enterprise Edition on AIX Upgrading DB2 Enterprise Edition on Windows NT Use the information in the sections that follow to determine the current service level of your Version 6 DB2 Enterprise Edition system, and the steps that you need to perform to update the system to the FixPak 2 service level or higher. You will need to perform the steps of one or more of the following sections: * Assessing DB2 Enterprise Edition on Windows NT * Determining What Needs to Be Done * Installing the Control Server Component on Windows NT * Installing FixPak 2 or Higher on Windows NT * Upgrading the SATCTLDB on Windows NT Assessing DB2 Enterprise Edition on Windows NT If you have DB2 Enterprise Edition installed on Windows NT, perform the following steps: 1. Check whether the Control Server component is installed. Use the Registry Editor to display the list of installed components: a. Enter regedit at a command prompt. b. Under the HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DB2\Components registry key, check whether the Control Server is listed. If it is not listed, the control server is not installed. 2. Determine the service level of DB2 Enterprise Edition. Issue the db2level command from a command prompt. Use the table that follows to interpret the output: Values of Key Fields in the db2level output Your DB2 Release Level Informational Tokens system is at: SQL06010 01010104 db2_v6, n990616 Version 6.1 base SQL06010 01020104 DB2 V6.1.0.1, n990824, Version 6.1 WR21136 plus FixPak 1 SQL06010 01030104 DB2 V6.1.0.6, s991030, Version 6.1 WR21163 or DB2 V6.1.0.9, plus FixPak 2 s000101, WR21173 Note: If the level is greater than 01030104, your system is at a higher FixPak than FixPak 2. 3. Record the information that you find, and continue at Determining What Needs to Be Done. Determining What Needs to Be Done Using the information that you have gathered, find the row in the following table that applies to your situation, and follow the steps that are required to prepare your DB2 Enterprise Edition system to support the DB2 control server at the FixPak 2 level or higher. Sections that follow the table provide instructions for performing the required steps. Consider checking off each step as you perform it. Only perform the steps that apply to your situation. Control Server Service Level of DB2 Steps required to Component Installed Enterprise Edition prepare your DB2 System Enterprise Edition system No Version 6.1 base, or Perform the following Version 6.1 plus FixPak steps: 1, or Version 6.1 plus FixPak 2 or higher 1. Installing the Control Server Component on Windows NT 2. Installing FixPak 2 or Higher on Windows NT 3. Upgrading the SATCTLDB on Windows NT Yes Version 6.1 base, or Perform the following Version 6.1 plus FixPak steps: 1 1. Installing FixPak 2 or Higher on Windows NT 2. Upgrading the SATCTLDB on Windows NT Yes Version 6.1, plus FixPak Perform the following 2 or higher step: 1. Upgrading the SATCTLDB on Windows NT Installing the Control Server Component on Windows NT To install the Control Server component on Windows NT: 1. Ensure that all database activity on the system is complete before proceeding. 2. Insert the DB2 Universal Database Enterprise Edition Version 6.1 CD in the CD drive. If the installation program does not start automatically, run the setup command in the root of the CD to start the installation process. 3. When prompted, shut down all the processes that are using DB2. 4. On the Welcome window, select Next. 5. On the Select Products window, ensure that DB2 Enterprise Edition is selected. 6. On the Select Installation Type panel, click Custom. 7. On the Select Components panel, ensure that the Control Server component is selected, and click Next. Note: If you select other components that are not already installed on your system, these components will be installed too. You cannot alter the drive or directory in which DB2 is installed. 8. On the Configure DB2 Services panels, you can modify the protocol values and the start-up options for the Control Server instance, or take the default values. Either modify the defaults and click Next, or click Next to use the defaults. 9. Click Next on the Start Copy files window to begin the installation process. 10. When the file copying process is complete, you have the option of rebooting your system. You should reboot now. The changes made to the system for the Control Server do not take effect until the system is rebooted. When the installation process is complete and you have rebooted the system, the satellite control database (SATCTLDB) that was created as part of the Control Server installation must be cataloged in the DB2 instance if you want to use the DB2 Control Center and Satellite Administration Center locally on the system. To catalog the SATCTLDB database: 1. Open a DB2 Command Window by selecting Start>Programs>DB2 for Windows NT>Command Window 2. Ensure that you are in the db2 instance. Issue the set command and check the value of db2instance. If the value is not db2, issue the following command: set db2instance=db2 3. Catalog the db2ctlsv instance by entering the following command: db2 catalog local node db2ctlsv instance db2ctlsv 4. Catalog the SATCTLDB database by entering the following command db2 catalog database satctldb at node db2ctlsv 5. Commit the cataloging actions by entering the following command: db2 terminate 6. Close the DB2 Command Window. Installing FixPak 2 or Higher on Windows NT To upgrade an existing Version 6 DB2 Enterprise Edition system on Windows NT to FixPak 2 or higher, either: * Download the latest FixPak for DB2 Enterprise Edition for Windows NT V6.1 from the Web, along with its accompanying readme. The FixPak can be downloaded by following the instructions at URL: http://www-4.ibm.com/software/data/db2/db2tech/version61.html Install the FixPak following the instructions in the readme.txt file. * Use a DB2 Universal Database, Version 6.1 FixPak for Windows NT CD that is at FixPak 2 level or higher, and follow the instructions in the readme.txt file in the WINNT95 directory on the CD to complete the installation. Upgrading the SATCTLDB on Windows NT To upgrade the SATCTLDB database on Windows NT 1. Determine the level of the SATCTLDB database: a. Log on with a user ID that has local administrative authority on the Windows NT system. b. Open a DB2 Command Window by selecting Start>Programs>DB2 for Windows NT>Command Window. c. Connect to the SATCTLDB by entering the following command db2 connect to satctldb d. Determine if the trigger I_BATCHSTEP_TRGSCR exists in the database by issuing the following query: db2 select name from sysibm.systriggers where name='I_BATCHSTEP_TRGSCR' Record the number of rows that are returned. e. Enter the following command to close the connection to the database: db2 connect reset If step 1d returned one row, the database is at the correct level. In this situation, skip step 2, and continue at step 3. If zero (0) rows are returned, the database is not at the correct level, and must be upgraded, as described in step 2, before you can perform step 3. 2. To upgrade the SATCTLDB database, perform the following steps. Enter all commands in the DB2 Command Window: a. Switch to the directory \misc, where is the install drive and path, for example c:\sqllib. b. Ensure that you are in the db2ctlsv instance. Issue the set command and check the value of db2instance. If the value is not db2ctlsv, issue the following command: set db2instance=db2ctlsv c. Drop the SATCTLDB database by entering the following command: db2 drop database satctldb d. Create the new SATCTLDB database by entering the following command: db2 -tf satctldb.ddl -z satctldb.log e. Issue the following command: db2 terminate 3. Bind the db2satcs.dll stored procedure to the SATCTLDB database. Perform the following steps: a. Connect to the SATCTLDB database by entering the following command db2 connect to satctldb b. Switch to the directory \bnd, where is the install drive and path, for example c:\sqllib. c. Issue the bind command, as follows: db2 bind db2satcs.bnd 4. Enter the following command to close the connection to the database: db2 connect reset 5. Close the DB2 Command Window. Upgrading DB2 Enterprise Edition on AIX Use the information in the sections that follow to determine the current service level of your Version 6 DB2 Enterprise Edition system, and the steps that you need to perform to update the system to the FixPak 2 service level, or higher. You will need to perform the steps of one or more of the following sections: * Assessing DB2 Enterprise Edition on AIX * Determining What Needs to Be Done * Installing the Control Server Component on AIX * Installing FixPak 2 or Higher on AIX * Upgrading the SATCTLDB Database on AIX Assessing DB2 Enterprise Edition on AIX If you have Version 6 DB2 Enterprise Edition installed on AIX, perform the following steps: 1. Check whether the Control Server component is installed. Enter the following command: lslpp -l | grep db2_06_01.ctsr If no data is returned, the Control Server component is not installed. 2. Determine the service level of the DB2 Enterprise Edition. Log on as a DB2 instance owner, and issue the db2level command. Use the table that follows to interpret the output: Values of Key Fields in the db2level output Your DB2 Release Level Informational Tokens system is at: SQL06010 01010104 db2_v6, n990616 Version 6.1 base SQL06010 01020104 DB2 V6.1.0.1, n990824, Version 6.1 U465423 plus FixPak 1 SQL06010 01030104 DB2 V6.1.0.6, s991030, Version 6.1 U468276 or DB2 V6.1.0.9, plus FixPak 2 s000101, U469453 Note: If the level is greater than 01030104, your system is at a higher FixPak than FixPak 2. 3. Record the information that you find, and continue at Determining What Needs to Be Done. Determining What Needs to Be Done Using the information that you have gathered, find the row in the following table that applies to your situation, and follow the steps that are required to prepare your Version 6 DB2 Enterprise Edition system to support the DB2 control server at the FixPak 2 level. Sections that follow the table provide instructions for performing the required steps. Consider checking off each step as you perform it. Only perform the steps that apply to your situation. Control Server Service Level of DB2 Steps required to Component Installed Enterprise Edition prepare your DB2 System Enterprise Edition system No Version 6.1 base, or Perform the following Version 6.1 plus FixPak steps: 1, or Version 6.1 plus FixPak 2 or higher 1. Installing the Control Server Component on AIX 2. Installing FixPak 2 or Higher on AIX 3. Upgrading the SATCTLDB Database on AIX Yes Version 6.1 base, or Perform the following Version 6.1 plus FixPak steps: 1 1. Installing FixPak 2 or Higher on AIX 2. Upgrading the SATCTLDB Database on AIX Yes Version 6.1, plus FixPak Perform the following 2 or higher step: 1. Upgrading the SATCTLDB Database on AIX Installing the Control Server Component on AIX To install the Control Server component on AIX 1. Log on as a user with root authority. 2. Insert the DB2 Universal Database Enterprise Edition Version 6.1 CD in the CD drive. 3. Change to the directory where the CD is mounted, for example, cd /cdrom. 4. Type the following command to start the DB2 installer: ./db2setup 5. When the DB2 Installer window opens, use the tab key to select the Install option, and press Enter. 6. Locate the Enterprise Edition line and use the tab key to select the Customize option beside it. Press Enter. 7. Select the DB2 Control Server component, tab to OK, and press Enter. 8. Follow the instructions on the remaining windows to complete the installation of the DB2 Control Server component. When the installation process is complete, create the DB2CTLSV instance and the SATCTLDB database. To perform these tasks, follow the detailed instructions in "Setting up the DB2 Control Server on AIX" in Chapter 13 of the Administering Satellites Guide and Reference. Installing FixPak 2 or Higher on AIX To upgrade an existing DB2 Enterprise Edition system AIX to FixPak 2 or higher, either: * Download the latest FixPak for DB2 Enterprise Edition for AIX V6.1 from the Web, along with its accompanying Fixpak.Readme. The FixPak can be downloaded by following the instructions at URL: http://www-4.ibm.com/software/data/db2/db2tech/version61.html Install the FixPak following the instructions in the Fixpak.Readme file. * Use a DB2 Universal Database, Version 6.1 FixPak for AIX CD that is at FixPak 2 level or higher, and follow the instructions in the readme directory on the CD to complete the installation. Ensure that you have updated the DB2CTLSV instance by running the db2iupdt command as instructed in the FixPak.Readme file. Upgrading the SATCTLDB Database on AIX To upgrade the SATCTLDB database on AIX: 1. Determine the level of the SATCTLDB database: a. Log in as db2ctlsv. b. Ensure that the database server has been started. If the server is not started, issue the db2start command. c. Connect to the SATCTLDB database by entering the following command: db2 connect to satctldb d. Determine if the trigger I_BATCHSTEP_TRGSCR exists in the database by issuing the following query: db2 "select name from sysibm.systriggers where name='I_BATCHSTEP_TRGSCR'" Record the number of rows that are returned. e. Enter the following command to close the connection to the database: db2 connect reset If step 1d returned one row, the database is at the correct level. In this situation, skip step 2, and continue at step 3. If zero (0) rows are returned, the database is not at the correct level, and must be upgraded, as described in step 2, before you can perform step 3. 2. To upgrade the SATCTLDB database to the FixPak 2 level, perform the following steps. Enter all commands in the DB2 Command Window: a. Switch to the $HOME/sqllib/misc directory. b. Drop the SATCTLDB database by entering the following command: db2 drop database satctldb c. Create the new SATCTLDB database by entering the following command: db2 -tf satctldb.ddl -z $HOME/satctldb.log d. Issue the following command: db2 terminate 3. Bind the db2satcs.dll stored procedure to the SATCTLDB database. Perform the following steps: a. Connect to the SATCTLDB database by entering the following command db2 connect to satctldb b. Switch to the directory $HOME/sqllib/bnd. c. Issue the bind command, as follows: db2 bind db2satcs.bnd 4. Enter the following command to close the connection to the database: db2 connect reset 9.1.4 Upgrading a Version 6 DB2 Control Center and Satellite Administration Center To use a Version 6 DB2 Control Center and Satellite Administration Center with a Version 6 DB2 control server and satellite control database (SATCTLDB) that have been upgraded to FixPak 2 or higher, the tools must also be upgraded to FixPak 2 or higher. If the DB2 Control Center and Satellite Administration Center are running on the same system as the DB2 control server, they were upgraded when the DB2 Enterprise Edition system was upgraded to FixPak 2. However, if you run these tools on another system, you must upgrade this system to the FixPak 2 level or higher. To upgrade this system to FixPak 2 or higher: * Download the latest FixPak for your product at the V6.1 level from the Web, along with its accompanying readme. FixPaks can be downloaded by following the instructions at URL: http://www-4.ibm.com/software/data/db2/db2tech/version61.html Install the FixPak following the instructions in the readme file. * Use a DB2 Universal Database, Version 6.1 FixPak CD for the operating system that you are running that is at FixPak 2 level or higher, and follow the instructions in the readme to complete the installation. ------------------------------------------------------------------------ Command Reference(µL¤¤¤åª©) ------------------------------------------------------------------------ 10.1 db2batch - Benchmark Tool The last sentence in the description of the PERF_DETAIL parameter should read: A value greater than 1 is only valid on DB2 Version 2 and DB2 UDB servers, and is not currently supported on host machines. ------------------------------------------------------------------------ 10.2 db2cap (new command) db2cap - CLI/ODBC Static Package Binding Tool Binds a capture file to generate one or more static packages. A capture file is generated during a static profiling session of a CLI/ODBC/JDBC application, and contains SQL statements that were captured during the application run. This utility processes the capture file so that it can be used by the CLI/ODBC/JDBC driver to execute static SQL for the application. For more information on how to use static SQL in CLI/ODBC/JDBC applications, see the Static Profiling feature in the CLI Guide and Reference. Authorization * Access privileges to any database objects referenced by SQL statements recorded in the capture file. * Sufficient authority to set bind options such as OWNER and QUALIFIER if they are different from the connect ID used to invoke the db2cap command. * BINDADD authority if the package is being bound for the first time; otherwise, BIND authority is required. Command Syntax >>-db2cap----+----+--bind--capture-file----d--database_alias----> +--h-+ '--?-' >-----+--------------------------------+----------------------->< '--u--userid--+---------------+--' '--p--password--' Command Parameters -h/-? Displays help text for the command syntax. bind capture-file Binds the statements from the capture file and creates one or more packages. -d database_alias Specifies the database alias for the database that will contain one or more packages. -u userid Specifies the user ID to be used to connect to the data source. Note: If a user ID is not specified, a trusted authorization ID is obtained from the system. -p password Specifies the password to be used to connect to the data source. Usage Notes The command must be entered in lowercase on UNIX platforms, but can be entered in either lowercase or uppercase on Windows operating systems and OS/2. This utility supports a number of user-specified bind options that can be found in the capture file. For performance and security reasons, the file can be examined and edited with a text editor to change these options. The SQLERROR(CONTINUE) and the VALIDATE(RUN) bind options can be used to create a package. When using this utility to create a package, static profiling must be disabled. The number of packages created depends on the isolation levels used for the SQL statements that are recorded in the capture file. The package name consists of up to a maximum of the first seven characters of the package keyword from the capture file, and one of the following single-character suffixes: * 0 - Uncommitted Read (UR) * 1 - Cursor Stability (CS) * 2 - Read Stability (RS) * 3 - Repeatable Read (RR) * 4 - No Commit (NC) To obtain specific information about packages, the user can: * Query the appropriate SYSIBM catalog tables using the COLLECTION and PACKAGE keywords found in the capture file. * View the capture file. ------------------------------------------------------------------------ 10.3 db2ckrst (new command) db2ckrst - Check Incremental Restore Image Sequence Queries the database history and generates a list of timestamps for the backup images required for an incremental restore. A simplified restore syntax for a manual incremental restore is also generated. Authorization None Required Connection None Command Syntax >>-db2ckrst----d--database name----t--timestamp-----------------> >-----+---------------------+---+-----------------------------+-> | .-database---. | | .--------------------. | '--r--+-tablespace-+--' | V | | '--n-----tablespace name---+--' >-----+----+--------------------------------------------------->< +--h-+ +--u-+ '--?-' Command Parameters -d database namefile-name Specifies the alias name for the database that will be restored. -t timestamp Specifies the timestamp for a backup image that will be incrementally restored. -r Specifies the type of restore that will be executed. The default is database. Note: If tablespace is chosen and no table space names are given, the utility looks into the history entry of the specified image and uses the table space names listed to do the restore. -n tablespace name Specifies the name of one or more table spaces that will be restored. Note: If a database restore type is selected and a list of table space names is specified, the utility will continue as a tablespace restore using the table space names given. -h/-u/-? Displays help information. When this option is specified, all other options are ignored, and only the help information is displayed. Examples db2ckrst -d mr -t 20001015193455 -r database db2ckrst -d mr -t 20001015193455 -r tablespace db2ckrst -d mr -t 20001015193455 -r tablespace -n tbsp1 tbsp2 > db2 backup db mr Backup successful. The timestamp for this backup image is : 20001016001426 > db2 backup db mr incremental Backup successful. The timestamp for this backup image is : 20001016001445 > db2ckrst -d mr -t 20001016001445 Suggested restore order of images using timestamp 20001016001445 for database mr. =================================================================== db2 restore db mr incremental taken at 20001016001445 db2 restore db mr incremental taken at 20001016001426 db2 restore db mr incremental taken at 20001016001445 =================================================================== > db2ckrst -d mr -t 20001016001445 -r tablespace -n userspace1 Suggested restore order of images using timestamp 20001016001445 for database mr. =================================================================== db2 restore db mr tablespace ( USERSPACE1 ) incremental taken at 20001016001445 db2 restore db mr tablespace ( USERSPACE1 ) incremental taken at 20001016001426 db2 restore db mr tablespace ( USERSPACE1 ) incremental taken at 20001016001445 =================================================================== Usage Notes The database history must exist in order for this utility to be used. If the database history does not exist, specify the HISTORY FILE option in the RESTORE command before using this utility. If the FORCE option of the PRUNE HISTORY command is used, it will be possible to delete entries that are required for recovery from the most recent, full database backup image. The default operation of the PRUNE HISTORY command prevents required entries from being deleted. It is recommended that the FORCE option of the PRUNE HISTORY command not be used. It is recommended that you keep good records of your backups and use this utility as a guide. ------------------------------------------------------------------------ 10.4 db2gncol (new command) db2gncol - Update Generated Column Values Updates generated columns in tables that are in check pending mode and have limited log space. This tool is used to prepare for a SET INTEGRITY statement on a table that has columns which are generated by expressions. Authorization One of the following * sysadm * dbadm Command Syntax >>-db2gncol----d--database----s--schema_name----t--table_name---> >-----c--commit_count----+---------------------------+----------> '--u--userid---p--password--' >-----+-----+-------------------------------------------------->< '--h--' Command Parameters -d database Specifies an alias name for the database in which the table is located. -s schema_name Specifies the schema name for the table. The schema name is case sensitive. -t table_name Specifies the table for which new column values generated by expressions are to be computed. The table name is case sensitive. -c commit_count Specifies the number of rows updated between commits. This parameter influences the size of the log space required to generate the column values. -u userid Specifies a user ID with system administrator or database administrator privileges. If this option is omitted, the current user is assumed. -p password Specifies the password for the specified user ID. -h Displays help information. When this option is specified, all other options are ignored, and only the help information is displayed. Usage Notes Using this tool instead of the FORCE GENERATED option on the SET INTEGRITY statement may be necessary if a table is large and the following conditions exist: * All column values must be regenerated after altering the generation expression of a generated column. * An external UDF used in a generated column was changed, causing many column values to change. * A generated column was added to the table. * A large load or load append was performed that did not provide values for the generated columns. * The log space is too small due to long-running concurrent transactions or the size of the table. This tool will regenerate all column values that were created based on expressions. While the table is being updated, intermittent commits are performed to avoid using up all of the log space. Once db2gncol has been run, the table can be taken out of check pending mode using the SET INTEGRITY statement. ------------------------------------------------------------------------ 10.5 db2inidb - Initialize a Mirrored Database In a split mirror environment, this command is used to initialize a mirrored database for different purposes. Authorization Must be one of the following: o sysadm o sysctrl o sysmaint Required Connection None Command Syntax >>-db2inidb----database_alias----AS----+-SNAPSHOT-+------------>< +-STANDBY--+ '-MIRROR---' Command Parameters database_alias Specifies the alias of the database to be initialized. SNAPSHOT Specifies that the mirrored database will be initialized as a clone of the primary database. This database is read only. STANDBY Specifies that the database will be placed in roll forward pending state. New logs from the primary database can be fetched and applied to the standby database. The standby database can then be used in place of the primary database if it goes down. MIRROR Specifies that the mirrored database is to be used as a backup image which can be used to restore the primary database. ------------------------------------------------------------------------ 10.6 db2look - DB2 Statistics Extraction Tool The syntax diagram should appear as follows: >>-db2look---d--DBname----+--------------+---+-----+---+-----+--> '--u--Creator--' '--s--' '--g--' >-----+-----+---+-----+---+-----+---+-----+---+-----+-----------> '--a--' '--h--' '--r--' '--c--' '--p--' >-----+------------+---+-------------------+--------------------> '--o--Fname--' '--e--+----------+--' '--t Tname-' >-----+-------------------+---+-----+---+-----+-----------------> '--m--+----------+--' '--l--' '--x--' '--t Tname-' >-----+---------------------------+---+-----+------------------>< '--i--userid---w--password--' '--f--' The -td x parameter has been added following the -c parameter. Its definition is as follows: Specifies the statement delimiter for SQL statements generated by db2look. If this option is not specified, the defaults is the semicolon ';'. It is recommened that this option be used if the -e option is specified. In this case, the extracted objects may contain triggers or SQL routines. The following example will also be added: Generate the DDL statements for objects created by all users in the database DEPARTMENT. The db2look output is sent to file db2look.sql: db2look -d department -a -e -td % -o db2look.sql db2 -td% -f db2look.sql ------------------------------------------------------------------------ 10.7 db2updv7 - Update Database to Version 7 Current Fix Level This command updates the system catalogs in a database to support the current FixPak in the following ways: * Enables the use of the new built-in functions (ABS, DECRYPT_BIN, DECRYPT_CHAR, ENCRYPT, GETHINT, MULTIPLY_ALT, and ROUND). * Enables the use of the new built-in procedures (GET_ROUTINE_SAR and PUT_ROUTINE_SAR). * Adds or applies corrections to WEEK_ISO and DAYOFWEEK_ISO functions on Windows and OS/2 databases. * Applies a correction to table packed descriptors for tables migrated from Version 2 to Version 6. * Creates the view SYSCAT.SEQUENCES. Authorization sysadm Required Connection Database. This command automatically establishes a connection to the specified database. Command Syntax >>-db2updv7----d---database_name--------------------------------> >-----+---------------------------+---+-----+------------------>< '--u--userid---p--password--' '--h--' Command Parameters -d database-name Specifies the name of the database to be updated. -u userid Specifies the user ID. -p password Specifies the password for the user. -h Displays help information. When this option is specified, all other options are ignored, and only the help information is displayed. Example After installing the FixPak, update the system catalog in the sample database by issuing the following command: db2updv7 -d sample Usage Notes This tool can only be used on a database running DB2 Version 7.1 or Version 7.2 with at least FixPak 2 installed. If the command is issued more than once, no errors are reported and each of the catalog updates is applied only once. To enable the new built-in functions, all applications must disconnect from this database and the database must be deactivated if it has been activated. ------------------------------------------------------------------------ 10.8 New Command Line Processor Option (-x, Suppress printing of column headings) A new option, -x, tells the command line processor to return data without any headers, including column names. The default setting for this command option is OFF. ------------------------------------------------------------------------ 10.9 True Type Font Requirement for DB2 CLP To correctly display the national characters for single byte (SBCS) languages correctly from the DB2 command line processor (CLP) window, change the font to True Type. ------------------------------------------------------------------------ 10.10 ADD DATALINKS MANAGER The required authorization level for this command is one of the following: * sysadm * sysctrl * sysmaint The following usage note should be added: This command is effective only after all applications have been disconnected from the database. The DB2 Data Links Manager being added must be completely set up and running for this command to be successful. The database must also be registered on the DB2 Data Links Manager using the dlfm add_db command. The maximum number of DB2 Data Links Managers that can be added to a database is 16. ------------------------------------------------------------------------ 10.11 ARCHIVE LOG (new command) Archive Log Closes and truncates the active log file for a recoverable database. If user exit is enabled, issues an archive request. Authorization One of the following: * sysadm * sysctrl * sysmaint * dbadm Required Connection This command automatically establishes a connection to the specified database. If a connection already exists, an error is returned. Command Syntax >>-ARCHIVE LOG FOR----+-DATABASE-+--database-alias--------------> '-DB-------' >-----+---------------------------------------+-----------------> '-USER--username--+------------------+--' '-USING--password--' >-------| On Node clause |------------------------------------->< On Node clause |---ON----+-| Node List clause |-------------------------+------| '-ALL NODES--+-------------------------------+-' '-EXCEPT--| Node List clause |--' Node List clause .-,-----------------------------------. V | |---+-NODE--+--(-----node number--+------------------+--+---)---| '-NODES-' '-TO--node number--' Command Parameters DATABASE database-alias Specifies the alias of the database whose active log is to be archived. USER username Identifies the user name under which a connection will be attempted. USING password Specifies the password to authenticate the user name. ON ALL NODES Specifies that the command should be issued on all nodes in the db2nodes.cfg file. This is the default if a node clause is not specified. EXCEPT Specifies that the command should be issued on all nodes in the db2nodes.cfg file, except those specified in the node list. ON NODE/ON NODES Specifies that the logs should be archived for the specified database on a set of nodes. node number Specifies a node number in the node list. TO node number Used when specifying a range of nodes for which the logs should be archived. All nodes from the first node number specified up to and including the second node number specified are included in the node list. Usage Notes This command can be used to collect a complete set of log files up to a known point. The log files can then be used to update a standby database. This function can only be executed when there is no database connection to the specified database. This prevents a user from executing the command with uncommitted transactions. As such, the ARCHIVE LOG command will not forcibly commit the user's incomplete transactions. If a database connection to the specified database already exists and this command is executed, the command will terminate and return an error. If another application has transactions in progress with the specified database when this command is executed, there will be a slight performance degradation since the command flushes the log buffer to disk. Any other transactions attempting to write log records to the buffer will have to wait until the flush is complete. If used in an MPP environment, a subset of nodes may be specified by using a node clause. If the node clause is not specified, the default behaviour for this command is to close and archive the active log on all nodes. Using this command will cause a database to lose a portion of its LSN space, and thereby hasten the exhaustion of valid LSNs. ------------------------------------------------------------------------ 10.12 BACKUP DATABASE 10.12.1 Syntax Diagram The syntax diagram for BACKUP DATABASE will be updated to reflect the new INCREMENTAL parameter and the optional DELTA argument. Specifying the INCREMENTAL option alone will result in a cumulative backup image being produced. The optional DELTA argument can be used to specify the production of a non-cumulative backup image. >>-BACKUP----+-DATABASE-+---database-alias----------------------> '-DB-------' >-----+---------------------------------------+-----------------> '-USER--username--+------------------+--' '-USING--password--' >-----+--------------------------------------------+------------> | .-,------------------. | | V | | '-TABLESPACE--(-----tablespace-name---+---)--' >-----+---------+---+--------------------------+----------------> '-ONLINE--' '-INCREMENTAL--+--------+--' '-DELTA--' >-----+-------------------------------------------------------+-> +-USE TSM--+-------------------------------+------------+ | '-OPEN--num-sessions--SESSIONS--' | | .-,--------. | | V | | +-TO----+-dir-+--+--------------------------------------+ | '-dev-' | '-LOAD--library-name--+-------------------------------+-' '-OPEN--num-sessions--SESSIONS--' >-----+-----------------------------+---------------------------> '-WITH--num-buffers--BUFFERS--' >-----+----------------------+---+-----------------+------------> '-BUFFER--buffer-size--' '-PARALLELISM--n--' >----+-------------------+------------------------------------->< '-WITHOUT PROMPTING-' 10.12.2 DB2 Data Links Manager Considerations If one or more Data Links servers are configured for the database, the backup operation will succeed, even if a Data Links server is not available. When the Data Links server restarts, backup processing will be completed on that Data Links server before it becomes available to the database again. Note: If there are twice as many backups still waiting for an unavailable Data Links server as are retained in the history file for the database (database configuration parameter num_db_backups), the backup operation will fail. ------------------------------------------------------------------------ 10.13 BIND The command syntax for DB2 should be modified to show the federated parameter as follows: FEDERATED--+--NO--+-- '-YES--' FEDERATED Specifies whether a static SQL statement in a package references a nickname or a federated view. If this option is not specified and a static SQL statement in the package references a nickname or a federated view, a warning is returned and the package is created. NO A nickname or federated view is not referenced in the static SQL statements of the package. If a nickname or federated view is encountered in a static SQL statement during the prepare or bind of this package, an error is returned and the package is not created. YES A nickname or federated view can be referenced in the static SQL statements of the package. If no nicknames or federated views are encountered in static SQL statements during the prepare or bind of the package, no errors or warnings are returned and the package is created. Note: In Version 7 FixPak 2, an SQL1179W warning message is generated by the server when precompiling a source file or binding a bind file without specifying a value for the FEDERATED option. The same message is generated when the source file or bind file includes static SQL references to a nickname. There are two exceptions: o For clients that are at an earlier FixPak than Version 7 FixPak 2 or for downlevel clients, the sqlaprep() API does not report this SQL1179W warning in the message file. The Command Line Processor PRECOMPILE command also does not output the warning in this case. o For clients that are at an earlier FixPak than Version 7 FixPak 2 or for downlevel clients, the sqlabndx API does report this SQL1179W warning in the message file. However, the message file also incorrectly includes an SQL0092N message indicating that no package was created. This is not correct as the package is indeed created. The Command Line Processor BIND command returns the same erroneous warning. ------------------------------------------------------------------------ 10.14 CALL The syntax for the CALL command should appear as follows: .-,---------------. V | >>-CALL--proc-name---(-----+-----------+--+---)---------------->< '-argument--' The description of the argument parameter has been changed to: Specifies one or more arguments for the stored procedure. All input and output arguments must be specified in the order defined by the procedure. Output arguments are specified using the "?" character. For example, a stored procedure foo with one integer input parameter and one output parameter would be invoked as "call foo (4, ?)". Note: 1. When invoking this utility from an operating system prompt, it may be necessary to delimit the command as follows: "call DEPT_MEDIAN (51)" A single quotation mark (') can also be used. 2. The stored procedure being called must be uniquely named in the database. 3. The stored procedure must be cataloged. If an uncataloged procedure is called, a DB21036 error message is returned. 4. A DB21101E message is returned if not enough parameters are specified on the command line, or the command line parameters are not in the correct order (input, output), according to the stored procedure definition. 5. There is a maximum of 1023 characters for a result column. 6. LOBS and binary data (FOR BIT DATA, VARBINARY, LONGVARBINARY, GRAPHIC, VARGAPHIC, or LONGVARGRAPHIC) are not supported. 7. CALL supports result sets. 8. If an SP with an OUTPUT variable of an unsupported type is called, the CALL fails, and message DB21036 is returned. 9. The maximum length for an INPUT parameter to CALL is 1024. ------------------------------------------------------------------------ 10.15 DROP DATALINKS MANAGER (new command) DROP DATALINKS MANAGER Drops a DB2 Data Links Manager from the list of registered DB2 Data Links Managers for a specified database. Authorization One of the following: * sysadm * sysctrl * sysmaint Command Syntax >>-DROP DATALINKS MANAGER FOR----+-DATABASE-+--dbname---USING---> '-DB-------' >----name------------------------------------------------------>< Command Parameters DATABASE dbname Specifies a database name. USING name Specifies the name of the DB2 Data Links Manager server as shown by the LIST DATALINKS MANAGER command. Examples Example 1 Dropping a DB2 Data Links Manager micky.almaden.ibm.com from database TEST under instance validate residing on host bramha.almaden.ibm.com when some database tables have links to micky.almaden.ibm.com. It is extremely important that the following steps be taken when dropping a DB2 Data Links Manager. 1. Take a database backup for database TEST. 2. If there are any links to micky.almaden.ibm.com, unlink them: a. Log on with a user ID belonging to SYSADM_GROUP and obtain an exclusive mode connection the the database TEST. connect to test in exclusive mode Ensure that this is the only connection to test using that user ID. This will prevent any new links from being created. b. Obtain a list of all FILE LINK CONTROL DATALINK columns and the tables containing them in the database. select tabname, colname from syscat.columns where substr(dl_features,2,1)='F' c. For each FILE LINK CONTROL DATALINK column in the list, issue SQL SELECT to determine if links to micky.almaden.ibm.com exist. For example, for a DATALINK column c in table t, the SELECT statement would be: select count(*) from t where dlurlserver(t.c) = 'MICKY.ALMADEN.IBM.COM' d. For each FILE LINK CONTROL DATALINK column containing such links, issue SQL UPDATE to unlink values which are links to micky.almaden.ibm.com. For example, for a DATALINK column c in table t, the UPDATE statement would be: update t set t.c = null where dlurlserver(t.c)='MICKY.ALMADEN.IBM.COM' If t.c is not nullable, the following can be used instead: update t set t.c = dlvalue('') where dlurlserver(t.c)='MICKY.ALMADEN.IBM.COM' e. Commit this SQL UPDATE: commit 3. Issue the DROP DATALINKS MANAGER command: drop datalinks manager for db test using node micky.almaden.ibm.com 4. Terminate the exclusive mode connection to make the changes effective and to allow other connections to the database: terminate 5. Initiate unlink processing and garbage collection of backup information for TEST on micky.almaden.ibm.com. As DB2 Data Links Manager Administrator, issue the following command on micky.almaden.ibm.com: dlfm drop_dlm test validate bramha.almaden.ibm.com This will unlink any files that are still linked to database TEST, just in case the user has missed unlinking them before invoking step 3. If micky.almaden.ibm.com has backup information (for example, archive files, metadata) for files previously linked to database TEST, this command will initiate garbage collection of that information. The actual unlinking and garbage collection will be performed asynchronously. Example 2 Deleting DATALINK values that are links to files on a DB2 Data Links Manager called micky.almaden.ibm.com, when the Manager has already been dropped from database TEST. This may be required if steps in Example 1 were not followed while dropping micky.almaden.ibm.com. SQL DELETE, SELECT, and UPDATE statements will not be successful for such DATALINK values (SQL0368). The user must run a reconcile operation for each table that contains such DATALINK values. Each DATALINK value that was a link to micky.almaden.ibm.com will be updated to NULL or a zero-length DATALINK value. Any row containing such a value will be inserted into the exception table (if one was specified). However, the DATALINK value will not include the prefix name. The prefix name in the original DATALINK value is no longer obtainable by the system, because micky.almaden.ibm.com has been dropped. For example, if the original DATALINK value was 'http://host.com/dlfs/x/y/a.b' and '/dlfs' is the prefix name, the DATALINK value in the exception table will contain 'http://host.com/x/y/a.b'. The files referenced by these DATALINK values will continue to remain in linked state on the DB2 Data Links Manager. The dlfm drop_dlm command can be issued on micky.almaden.ibm.com to initiate unlink processing for these files. If micky.almaden.ibm.com has backup information (for example, archive files, metadata) for files previously linked to database TEST, this command will initiate garbage collection of that information. The actual unlinking and garbage collection will be performed asynchronously. Example 3 Multiple incarnations of a DB2 Data Links Manager micky.almaden.ibm.com for a database TEST. This scenario demonstrates that a DB2 Data Links Manager can be re-registered after being dropped, and that it is then treated as a completely new DB2 Data Links Manager. The following steps are only illustrative of a scenario that is possible. If, as recommended, the steps in Example 1 are followed for dropping micky.almaden.ibm.com, links to the older incarnation of micky.almaden.ibm.com will not exist; that is, one will not see error SQL0368 in step 7 below. 1. Register micky.almaden.ibm.com to database TEST: add datalinks manager for db test using node micky.almaden.ibm.com port 14578 2. Create links to files on micky.almaden.ibm.com: connect to test create table t(c1 int, c2 datalink linktype url file link control mode db2options) insert into t values(1, dlvalue('file://micky.almaden.ibm.com/pictures/ yosemite.jpg')) commit terminate 3. Drop micky.almaden.ibm.com from database TEST: drop datalinks manager for db test using micky.almaden.ibm.com 4. Select DATALINK values: connect to test select * from t terminate The user will see: SQL0368 The DB2 Data Links Manager "MICKY.ALMADEN.IBM.COM" is not registered to the database. SQLSTATE=55022. 5. Register micky.almaden.ibm.com to database TEST again: add datalinks manager for db test using node micky.almaden.ibm.com port 14578 6. Insert more DATALINK values: connect to test insert into t values(2, dlvalue('file://micky.almaden.ibm.com/pictures/ tahoe.jpg')) commit 7. Select DATALINK values: select c2 from t where c1 = 2 is successful because the value being selected is a link to the currently registered incarnation of micky.almaden.ibm.com. select c2 from t where c1 = 1 returns: SQL0368 The DB2 Data Links Manager "MICKY.ALMADEN.IBM.COM" is not registered to the database. SQLSTATE=55022. because the value being selected is a link to the incarnation of micky.almaden.ibm.com which was dropped in step 3 above. Usage Notes The effects of the DROP DATALINKS MANAGER command cannot be rolled back. It is extremely important to follow the steps outlined in Example 1 when using the DROP DATALINKS MANAGER command. This command is effective only after all applications have been disconnected from the database. Upon successful completion of the command, the user is informed (DB210201I) that no processing has been done on the DB2 Data Links Manager. Before dropping a DB2 Data Links Manager, the user must ensure that the database does not have any links to files on that DB2 Data Links Manager. If links do exist in the database after a DB2 Data Links Manager has been dropped, the user must run the reconcile utility to get rid of them. The reconcile utility will set these links to NULL (if the DATALINK column is nullable), or to a zero-length DATALINK value. Files corresponding to links between a database and a dropped DB2 Data Links Manager remain in linked state. That is, they are inaccessible to operations like read, write, rename, delete, change of permissions, or change of ownership. Archived copies of unlinked files on the DB2 Data Links Manager will not be garbage collected by this command. However, users can explicitly initiate unlink processing and garbage collection using the dlfm drop_dlm command on the DB2 Data Links Manager. It is recommended that a database backup be taken before dropping a DB2 Data Links Manager. In addition, ensure that all replication subscriptions have replicated all changes involving this DB2 Data Links Manager. If a backup was taken before the DB2 Data Links Manager was dropped from a database, and that backup image is used to restore after that DB2 Data Links Manager was dropped, restore or rollforward processing may put certain tables in datalink reconcile pending (DRP) state. ------------------------------------------------------------------------ 10.16 EXPORT In the section "DB2 Data Links Manager Considerations", Step 3 of the procedure to ensure that a consistent copy of the table and the corresponding files referenced by DATALINK columns are copied for export should read: 3. Run the dlfm_export utility at each Data Links server. Input to the dlfm_export utility is the control file name, which is generated by the export utility. This produces a tar (or equivalent) archive of the files listed within the control file. For Distributed File Systems (DFS), the dlfm_export utility will get the DCE network root credentials before archiving the files listed in the control file. dlfm_export does not capture the ACLs information of the files that are archived. In the same section, the bullets following "Successful execution of EXPORT results in the generation of the following files" should be modified as follows: The second sentence in the first bullet should read: A DATALINK column value in this file has the same format as that used by the import and load utilities. The first sentence in the second bullet should read: Control files server_name, which are generated for each Data Links server. (On the Windows NT operating system, a single control file, ctrlfile.lst, is used by all Data Links servers. For DFS, there is one control file for each cell.) The following sentence should be added to the paragraph before Table 5: For more information about dlfm_export, refer to the "Data Movement Utilities Guide and Reference" under "Using Export to move DB2 Data Links Manager Data". ------------------------------------------------------------------------ 10.17 GET DATABASE CONFIGURATION The description of the DL_TIME_DROP configuration parameter should be changed to the following: Applies to DB2 Data Links Manager only. This parameter specifies the number of days files would be retained on an archive server (such as a TSM server) after a DROP DATABASE command is issued. The new parameter TRACKMOD will be added to the GET DATABASE CONFIGURATION command. The syntax will appear as follows: >>-GET----+-DATABASE-+---+-CONFIGURATION-+--FOR-----------------> '-DB-------' +-CONFIG--------+ '-CFG-----------' .-NO--. >----database-alias---TRACKMOD--+-YES-+------------------------>< The parameter description will be added as follows: TRACKMOD Indicates whether DB2 should track modified pages in the database in order to allow incremental backups to be taken. OFF Specifies that changed pages should not be tracked. This is the default for databases created prior to Version 7.1, FixPak 3. ON Specifies that changed pages should be tracked. When this parameter is set, incremental backups of the database can be made. This is the default for databases created with Version 7.1, FixPak 3 or later. ------------------------------------------------------------------------ 10.18 GET ROUTINE (new command) GET ROUTINE Retrieves a routine SQL Archive (SAR) file for a specified SQL routine. Authorization dbadm Required Connection Database. If implicit connect is enabled, a connection to the default database is established. Command Syntax >>-GET ROUTINE--INTO---file_name----FROM----+-----------+-------> '-SPECIFIC--' >-------PROCEDURE----routine_name------------------------------>< Command Parameters INTO file-name Names the file where routine SQL archive (SAR) is stored. FROM Indicates that start of the specification of the routine to be retrieved. SPECIFIC The specified routine-name is given as a specific name. PROCEDURE The routine is an SQL procedure. routine-name The name of the procedure. If SPECIFIC is specified then it is the specific name of the procedure. If the name is not qualified with a schema name, the CURRENT SCHEMA is used as the schema name of the routine. The routine-name must be an existing procedure that is defined as an SQL procedure. Examples GET ROUTINE INTO procs/proc1.sar FROM PROCEDURE myappl.proc1; ------------------------------------------------------------------------ 10.19 GET SNAPSHOT The description for the FCM FOR ALL NODES parameter should appear as follows: Provides Fast Communication Manager (FCM) statistics between the node against which the GET SNAPSHOT command was issued and the other nodes in the EEE instance. ------------------------------------------------------------------------ 10.20 IMPORT In the section "DB2 Data Links Manager Considerations", the following sentence should be added to Step 3: For Distributed File Systems (DFS), update the cell name information in the URLs (of the DATALINK columns) from the exported data for the SQL table, if required. The following sentence should be added to Step 4: For DFS, define the cells at the target configuration in the DB2 Data Links Manager configuration file. The paragraph following Step 4 should read: When the import utility runs against the target database, files referred to by DATALINK column data are linked on the appropriate Data Links servers. ------------------------------------------------------------------------ 10.21 LIST HISTORY The CREATE TABLESPACE parameter will be added to the LIST HISTORY command. The syntax diagram will appear as follows: >>-LIST HISTORY----+-------------------+------------------------> +-BACKUP------------+ +-ROLLFORWARD-------+ +-ALTER TABLESPACE--+ +-DROPPED TABLE-----+ +-LOAD--------------+ +-RENAME TABLESPACE-+ '-CREATE TABLESPACE-' >-----+-ALL--------------------------------+--------------------> +-SINCE--timestamp-------------------+ '-CONTAINING--+-_schema.objectname-+-' '-_objectname--------' >----FOR--+----------+---database-alias------------------------>< +-DATABASE-+ '-DB-------' The parameter description will be added as follows: CREATE TABLESPACE Lists all CREATE TABLESPACE and DROP TABLESPACE operations. The Usage Notes will be updated as follows: The following symbols will be added to the Operation section of the report: * A - Create tablespace * O - Drop tablespace * U - Unload The symbols under the Type section of the report will be reorganized as follows: * Backup Types o F - Offline o N - Online o I - Incremental Offline o O - Incremental Online o D - Delta Offline o E - Delta Online * Rollforward Types o E - End of log o P - Point in time * Load Types o I - Insert o R - Replace * Alter tablespace Types o C - Add containers o R - Rebalance * Quiesce Types o S - Quiesce Share o U - Quiesce Update o X - Quiesce Exclusive o Z - Quiesce Reset ------------------------------------------------------------------------ 10.22 LOAD In the section "DB2 Data Links Manager Considerations", add the following sentence to Step 1 of the procedure that is to be performed before invoking the load utility, if data is being loaded into a table with a DATALINK column that is defined with FILE LINK CONTROL: For Distributed File Systems (DFS), ensure that the DB2 Data Links Managers within the target cell are registered. The following sentence should be added to Step 5: For DFS, register the cells at the target configuration referred to by DATALINK data (to be loaded) in the DB2 Data Links Manager configuration file. In the section "Representation of DATALINK Information in an Input File", the first note following the parameter description for urlname should read: Currently "http", "file", "unc", and "dfs" are permitted as a schema name. The first sentence of the second note should read: The prefix (schema, host, and port) of the URL name is optional. For DFS, the prefix refers to the schema cellname filespace-junction portion. In the DATALINK data examples for both the delimited ASCII (DEL) file format and the non-delimited ASCII (ASC) file format, the third example should be removed. The DATALINK data examples in which the load or import specification for the column is assumed to be DL_URL_DEFAULT_PREFIX should be removed and replaced with the following: Following are DATALINK data examples in which the load or import specification for the column is assumed to be DL_URL_REPLACE_PREFIX ("http://qso"): * http://www.almaden.ibm.com/mrep/intro.mpeg This sample URL is stored with the following parts: o schema = http o server = qso o path = /mrep/intro.mpeg o comment = NULL string * /u/me/myfile.ps This is stored with the following parts: o schema = http o server = qso o path = /u/me/myfile.ps o comment = NULL string ------------------------------------------------------------------------ 10.23 PING (new command) PING Tests the network response time of the underlying connectivity between a client and a database server where DB2 Connect is used to establish the connection. Authorization None Required Connection Database Command Syntax .-time-. .-1--+------+---------------------. >>-PING---db_alias----+-+-----------------------------+-+------>< '-number_of_times--+-------+--' +-times-+ '-time--' Command Parameters db_alias Specifies the database alias for the database on a DRDA server that the ping is being sent to. Note: This parameter, although mandatory, is not currently used. It is reserved for future use. Any valid database alias name can be specified. number of times Specifies the number of iterations for this test. The value must be between 1 and 32767 inclusive. The default is 1. One timing will be returned for each iteration. Examples To test the network response time for the connection to the host database server hostdb once: db2 ping hostdb 1 or: db2 ping hostdb The command will display output that looks like this: Elapsed time: 7221 microseconds To test the network response time for the connection to the host database server hostdb 5 times: db2 ping hostdb 5 or: db2 ping hostdb 5 times The command will display output that looks like this: Elapsed time: 8412 microseconds Elapsed time: 11876 microseconds Elapsed time: 7789 microseconds Elapsed time: 10124 microseconds Elapsed time: 10988 microseconds Usage Notes A database connection must exist before invoking this command, otherwise an error will result. The elapsed time returned is for the connection between the client and a DRDA server database via DB2 Connect. ------------------------------------------------------------------------ 10.24 PUT ROUTINE (new command) PUT ROUTINE Uses the specified routine SQL Archive (SAR) file to define a routine in the database. Authorization dbadm Required Connection Database. If implicit connect is enabled, a connection to the default database is established. Command Syntax >>-PUT ROUTINE----FROM----file-name-----------------------------> >-----+---------------------------------------+---------------->< '-OWNER--new-owner--+----------------+--' '-USE REGISTERS--' Command Parameters FROM file-name Names the file where routine SQL archive (SAR) is stored. OWNER new-owner Specifies a new authorization-name for the routine that will be used for authorization checking of the routine. The new-owner must have the necessary privileges for the routine to be defined. If the OWNER clause is not specified, the authorization-name that originally defined the routine is used. USE REGISTERS Indicates that the CURRENT SCHEMA and CURRENT PATH special registers are used to define the routine. If this clause is not specified, the settings for the default schema and SQL path are the settings used when the routine was originally defined. CURRENT SCHEMA is used as the schema name for unqualified object names in the routine definition (including the name of the routine) and CURRENT PATH is used to resolve unqualified routines and data types in the routine definition. Examples PUT ROUTINE FROM procs/proc1.sar; Usage Notes No more than one procedure can be concurrently installed under a given schema. ------------------------------------------------------------------------ 10.25 RECONCILE The following usage note should be added to the command description: During reconciliation, attempts are made to link files which exist according to table data, but which do not exist according to Data Links Manager metadata, if no other conflict exists. A required DB2 Data Links Manager is one which has a referenced DATALINK value in the table. Reconcile tolerates unavailability of a required DB2 Data Links Manager as well as those that are configured to the database but are not part of the table data. If an exception table is not specified, the exception report file (filename.exp) will have the host name, file name, column ID, and reason code for each of the DATALINK column values for which file references could not be re-established. If the file reference could not be re-established because the DB2 Data Links Manager itself was dropped from the database using the DROP DATALINKS MANAGER command, the file name reported in the exception report file is not the full file name; that is, the prefix part is missing. In the exception table for the DATALINK values whose DB2 Data Links Manager is dropped or is not available, the file name in the DATALINK value is not the full file name. The prefix part is missing. For example, if the original DATALINK value was 'http://host.com/dlfs/x/y/a.b', the value reported in the exception table will be 'http://host.com/x/y/a.b'; that is, the prefix name 'dlfs' will not be included. The exception report file in this case will have 'x/y/a.b'; that is, the prefix name 'dlfs' will not be included. At the end of the reconciliation process, the table is taken out of datalink reconcile pending (DRP) state only if reconcile processing is complete on all the required DB2 Data Links Managers. If reconcile processing is pending on any of the required DB2 Data Links Managers (because they were unavailable), the table will remain, or be placed, in DRP state. The following should be added to the list of possible violations: 00010-DB2 Data Links Manager referenced by the DATALINK value has been dropped from the database using the DROP DATALINKS MANAGER command. In this case, the corresponding DATALINK value in the exception table will not contain the prefix name. For example, if the original DATALINK value was 'http://host.com/dlfs/prfx/x/y/a.b', and '/dlfs/prfx' is the prefix name, the exception table will contain 'http://host.com/x/y/a.b'. ------------------------------------------------------------------------ 10.26 REORGANIZE TABLE The following sentence will be added to the Usage Notes: REORGANIZE TABLE cannot use an index that is based on an index extension. ------------------------------------------------------------------------ 10.27 RESTORE DATABASE 10.27.1 Syntax The following option will be added to the syntax of the RESTORE DATABASE command after the TABLESPACE/TABLESPACE ONLINE/HISTORY FILE options: >>-+-------------------------+--------------------------------->< '-INCREMENTAL--+-------+--' '-ABORT-' The parameter descriptions will be added as follows: INCREMENTAL Results in a manual cumulative restore of the database. The user will issue each of the restore commands. ABORT This parameter should be used to terminate an incremental restore before successful completion. The following examples will also be added: The following is a sample weekly incremental backup strategy with a recoverable database. A full backup is scheduled once per week, a delta every day, plus an incremental mid-week: (Sun) backup db kdr use adsm (Mon) backup db kdr online incremental delta use adsm (Tue) backup db kdr online incremental delta use adsm (Wed) backup db kdr online incremental use adsm (Thu) backup db kdr online incremental delta use adsm (Fri) backup db kdr online incremental delta use adsm (Sat) backup db kdr online incremental use adsm For a manual database restore of images created above on Friday morning, issue the following commands: restore db kdr incremental taken at (Thu) restore db kdr incremental taken at (Sun) restore db kdr incremental taken at (Wed) restore db kdr incremental taken at (Thu) Note: Any RESTORE command of the form db2 restore db will perform a full database restore, regardless of whether the image being restored is a database image or a table space image. Any RESTORE command of the form db2 restore db tablespace will perform a table space restore of the table spaces found in the image. Any RESTORE command in which a list of table spaces is provided will perform a restore of whatever table spaces were explicitly listed. 10.27.2 DB2 Data Links Manager Considerations The second paragraph in the section entitled "DB2 Data Links Manager Considerations" should be replaced with: If one or more Data Links servers are configured for the database, the restore operation will succeed, even if a Data Links server is not available. When the Data Links server restarts, restore processing will be completed on that Data Links server before it becomes available to the database again. NOTE: If a database restore operation is still waiting for an unavailable Data Links server, any subsequent database or table space restore operations will fail. ------------------------------------------------------------------------ 10.28 ROLLFORWARD DATABASE The second paragraph in the section entitled "DB2 Data Links Manager Considerations" should be replaced with: If one or more Data Links servers are configured for the database, the rollforward operation will succeed, even if a Data Links server is not available. When the Data Links server restarts, rollforward processing will be completed on that Data Links server before it becomes available to the database again. ------------------------------------------------------------------------ 10.29 Documentation Error in CLP Return Codes In the Command Line Processor Return Codes section of Chapter 2, the second paragraph should appear as follows: For example, the following Bourne shell script executes the GET DATABASE MANAGER CONFIGURATION command, then inspects the CLP return code: db2 get database manager configuration if [ "$?" = "0" ] then echo "OK!" fi ------------------------------------------------------------------------ Data Movement Utilities Guide and Reference(µL¤¤¤åª©) ------------------------------------------------------------------------ 11.1 Chapter 2. Import 11.1.1 Using Import with Buffered Inserts The note at the end of this section should read: Note: In all environments except EEE, the buffered inserts feature is disabled during import operations in which the INSERT_UPDATE parameter is specified. ------------------------------------------------------------------------ 11.2 Chapter 3. Load 11.2.1 Pending States After a Load Operation The first two sentences in the last paragraph in this section have been changed to the following: The fourth possible state associated with the load process (check pending state) pertains to referential and check constraints, DATALINKS constraints, AST constraints, or generated column constraints. For example, if an existing table is a parent table containing a primary key referenced by a foreign key in a dependent table, replacing data in the parent table places both tables (not the table space) in check pending state. 11.2.2 Load Restrictions and Limitations The following restrictions apply to generated columns and the load utility: * It is not possible to load a table having a generated column in a unique index unless the generated column is an "include column" of the index or the generatedoverride file type modifier is used. If this modifier is used, it is expected that all values for the column will be supplied in the input data file. * It is not possible to load a table having a generated column in the partitioning key unless the generatedoverride file type modifier is used. If this modifier is used, it is expected that all values for the column will be supplied in the input data file. 11.2.3 totalfreespace File Type Modifier The totalfreespace file type modifier (LOAD) has been modified to accept a value between 0 and 2 147 483 647. ------------------------------------------------------------------------ 11.3 Chapter 4. AutoLoader 11.3.1 rexecd Required to Run Autoloader When Authentication Set to YES In the Autoloader Options section the following note will be added to the AUTHENTICATION and PASSWORD Parameters description: In a Linux environment, if you are running the autoloader with the authentication option set to YES, rexecd must be enabled on all machines. If rexecd is not enabled the following error message will be generated: openbreeze.torolab.ibm.com: Connection refused SQL6554N An error occurred when attempting to remotely execute a process. The following error messages will be generated in the db2diag.log file: 2000-10-11-13.04.16.832852 Instance:svtdbm Node:000 PID:19612(db2atld) Appid: oper_system_services sqloRemoteExec Probe:31 ------------------------------------------------------------------------ Replication «ü«n»P°Ñ¦Ò¤â¥U ------------------------------------------------------------------------ 12.1 §Û¼g¤Î«D IBM ¦øªA¾¹ ¨Ï¥Î DataJoiner ª©¥» 2 ©Î§ó·sª©¨Ó§Û¼g¸ê®Æ¦Ü«D IBM ¦øªA¾¹¡A ©Î¦Û«D IBM ¦øªA ¾¹§Û¼g¸ê®Æ¡A¦p Informix¡BMicrosoft SQL Server¡BOracle¡BSybase¡B Sybase SQL Anywhere¡C ±z¤£¥i¥H¨Ï¥Î¦¹Ãþ«¬§Û¼gªºÃöÁp¦¡³s±µ¨ç¼Æ¡A¦]¬° DB2 Relational Connect ª©¥» 7 ¨S¦³§ó·sªº¯à¤O¡C¹ï²{¦sªº DB2 ©M DataJoiner ª©¥»©Ò¦³ªº¥­¥x ¡]AS/400¡BOS/2¡BOS/390¡BUNIX ¤Î Windows¡^¡A±z¥²¶·¨Ï¥Î DJRA¡]DataJoiner §Û¼g ºÞ²z¡^¨ÓºÞ²z¯S®íªº§Û¼g¡C ------------------------------------------------------------------------ 12.2 ¦b Windows 2000 ¤Wªº§Û¼g DB2 DataPropagator ª©¥» 7 »P Windows 2000 §@·~¨t²Î¬Û®e¡C ------------------------------------------------------------------------ 12.3 Àx¦s SQL Àɮ׮ɪº¤wª¾¿ù»~ ­Y¦b DB2 Connect Personal Edition ¤¤¨Ï¥Î¡u±±¨î¤¤¤ß¡v¡A±zµLªkÀx¦s SQL ÀɮסC ­Y¸Õ¹ÏÀx¦s SQL ÀɮסA±z±N¦¬¨ì¤@«h«ü¥Ü DAS ¤£¦b§@¥Î¤¤ªº¿ù»~°T®§¡A¨Æ¹ê¤W DAS ¨S¦³§@¥Î¡A¦]¬°¥¦¨Ã¨S¦³ÀH DB2 Connect PE ¥X³f¡C ------------------------------------------------------------------------ 12.4 DB2 ºûÅ@ «Øij±z°w¹ï¦b§Û¼gÀô¹Ò¤¤¨Ï¥Îªº¦UºØ DB2 ²£«~¦w¸Ë³Ì·sªº DB2 ºûÅ@¡C ------------------------------------------------------------------------ 12.5 Web ¤Wªº Data Difference Utility ±z¥i¥H±q Web ¤U¸ü Data Difference utility (DDU)¡Aºô§}¦p¤U¡G ftp://ftp.software.ibm.com/ps/products/datapropagator/fixes/¡C DDU ¬O¤@­Ó½d ¨Ò¤½¥Îµ{¦¡¡A¨Ñ±z¤ñ¸û¬Û¦PÀɮתº¨â­Ó¤£¦Pª©¥»¡A¥H¤Î²£¥Í¿é¥XÀɨÓÅã¥Üª©¥»¤§¶¡ªº ®t²§¡C¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\¦¹½d¨Ò¤½¥Îµ{¦¡©Òªþªº README ÀÉ¡C ------------------------------------------------------------------------ 12.6 ²Ä 3 ³¹ ¸ê®Æ§Û¼g¹ê°È½d¨Ò 12.6.1 §Û¼g¹ê°È ½Ð°Ñ¾\ DataPropagator ºô¯¸ªº Library ­¶­± (http://www.ibm.com/software/data/dpropr/) ¥H¨ú±o¤£¦Pªº·s¸ê®Æ§Û¼g¹ê°È½d¨Ò¡C ¿í·Ó¹ê°È½d¨Ò¤¤ªº¨BÆJ¡A±q AIX ¤Wªº Oracle ¸ê®Æ®w§Û¼g¨Ó·½ªí®æ±NÅܧó½Æ»s¨ì DB2 for Windows NT ¤W¸ê®Æ®w¤¤ªº¥Ø¼Ðªí®æ¡C ¨º­Ó¹ê°È½d¨Ò¨Ï¥Î DB2 DataJoiner Replication Administration (DJRA) ¤u¨ã¡BÂ^¨úIJµo¨ç¦¡¡B¤Þ¥Îµ{¦¡¤Î DB2 DataJoiner¡C ¦b®Ñªº²Ä 44 ­¶¡A¨BÆJ 6 ¤¤¦³Ãö«Ø¥ß³q¦æ½XÀɮתº«ü¥ÜÀ³¸Ó¦p¤U¡G ¨BÆJ 6¡G«Ø¥ß³q¦æ½XÀÉ®× ¦]¬°¤Þ¥Îµ{¦¡»Ý­n³s±µ¨ì¨Ó·½¦øªA¾¹¡A±z¥²¶·«Ø¥ß¤@­Ó³q¦æ½XÀɮרӰµ¨Ï¥ÎªÌ¨­¤ÀÅç ÃÒ¡C ½Ð½T©w¥Î¨Ó°õ¦æ¤Þ¥Îµ{¦¡ªº¨Ï¥ÎªÌ ID ¥i¥HŪ¨ú³q¦æ½XÀɮסC ­Y­n«Ø¥ß³q¦æ½XÀɮסG 1. ±q Windows NT «ü¥O´£¥Üµøµ¡¡AÅܧó¥Ø¿ý¨ì C:\scripts¡C 2. ¦b¦¹¥Ø¿ý¤¤«Ø¥ß¤@­Ó¥s°µ DEPTQUAL.PWD ªº·sÀɮסC ±z¥i¥H¨Ï¥Î¥ô¦ó¤å¦r½s¿è µ{¦¡¨Ó«Ø¥ß³o­ÓÀɮסA¤ñ¦p Notepad¡C ³q¦æ½XÀɮתº©R¦WºD¨Ò¬° applyqual.pwd¡F ¨ä¤¤ applyqual ¦r¦ê¬O°Ï¤À¤j¤p¼gªº¡A ¥²¶·²Å¦X±z¦b«Ø¥ß©w ´Á§Û¼g³]©w®É©Ò¥Îªº¤Þ¥Î­­©w¤¸ªº¦rÅé©M­È¡C ¦b¦¹¹ê°È½d¨Ò¤¤¡A¤Þ¥Î­­©w¤¸¬O DEPTQUAL¡C µù: ¤]¤ä´© DB2 DataPropagator ª©¥» 5 ¥H¨ÓªºÀɮשR¦WºD¨Ò¡C 3. ³q¦æ½XÀɮתº¤º®e®æ¦¡¦p¤U¡G SERVER=server USER=userid PWD=password ¨ä¤¤¡G ¦øªA¾¹ «ü¨Ó·½¡B¥Ø¼Ð©Î±±¨î¦øªA¾¹ªº¦WºÙ¡A¥²¶·»P©w´Á§Û¼g³]©wªí®æ¤¤©ÒÅã¥Üªº §¹¥þ¤@­P¡C ¦b¦¹¹ê°È½d¨Ò¤¤¡A³o¨Ç¦WºÙ¬° SAMPLE ¤Î COPYDB¡C userid ±z­p¹º¥Î¨ÓºÞ²z¸Ó¯S©w¸ê®Æ®wªº¨Ï¥ÎªÌ ID¡C ­Y¬O Windows NT ¤Î UNIX §@·~¨t²Î¡A³o­Ó­È¬O°Ï¤À¤j¤p¼gªº¡C password »P¨Ï¥ÎªÌ ID ¬ÛÃöªº³q¦æ½X¡C ­Y¬O Windows NT ¤Î UNIX §@·~¨t²Î¡A«h³o ­Ó­È¦³°Ï¤À¤j¤p¼g¡C ½Ð¤£­n¦b³o­ÓÀɮפ¤¥[¤JªÅ¥Õ¦æ©Îµù¸Ñ¦æ¡C ¶È·s¼W¦øªA¾¹¦WºÙ¡B¨Ï¥ÎªÌ ID ©M ³q¦æ½X¸ê°T¡C 4. ³q¦æ½XÀɮתº¤º®e¬Ý°_¨ÓÀ³¸ÓÃþ¦ü¡G SERVER=SAMPLE USER=subina PWD=subpw SERVER=COPYDB USER=subina PWD=subpw Ãö©ó DB2 ¨­¤ÀÅçÃÒ»P¾÷±K«OÅ@ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\IBM DB2 Administration Guide¡C ------------------------------------------------------------------------ 12.7 ²Ä 5 ³¹ §Û¼g³W¹º 12.7.1 ªí®æ¤Îª½Äæ¦WºÙ §Û¼g¤£¤ä´©ªí®æ¤Îª½Äæ¦WºÙ¤¤ªºªÅ¥Õ¡C 12.7.2 DATALINK §Û¼g ¦b Solaris ¤W¡ADATALINK §Û¼g¥i§@¬°ª©¥» 7.1 FixPak 1 ªº¤@³¡¥÷¡C ¥¦»Ý­n¤@­Ó FTP ±`¾nµ{¦¡¡A¦b¨Ó·½¤Î¥Ø¼Ð DATALINK Àɮרt²Î¤¤°õ¦æ¡A ¨Ã¤ä´© MDTM (modtime) «ü¥O¡A¨ÓÅã¥Üµ¹©wÀɮתº«e¦¸­×§ï®É¶¡¡C¦pªG±z¥Îªº¬Oª©¥» 2.6 ªº Solaris §@·~¨t ²Î¡A©Î¥ô¦ó¤£¥]¬A MDTM ªº FTP ¤ä´©¡A «h±z»Ý­nªþ¥[ªº³nÅé¡A¤ñ¦p WU-FTPD¡C ±z¤£¯à¦b AS/400 ©M¨ä¥L¥­¥x¤§¶¡ªº DB2 ¸ê®Æ®w§Û¼g DATALINK ª½Äæ¡C ¦b AS/400 ¥­¥x¨S¦³¤ä´© DATALINK ­È¡uµù¸Ñ¡vÄݩʪº§Û¼g¡C °õ¦æ AIX 4.2 ®É¡A¦b±z°õ¦æ¹w³]ªº¨Ï¥ÎªÌ¸õ¥Xµ{¦¡ (ASNDLCOPY) ¤§«e¡A¥²¶·¦w¸Ë APAR IY03101 (AIX 4210-06 «ØijºûÅ@ AIX 4.2.1) ªº PTF¡C ³o­Ó PTF ¥]¬A¤F FTP ±`¾nµ{¦¡¤º "modtime/MDTM" «ü¥Oªº Y2K­×¥¿µ{¦¡¡C ±ýÅçÃÒ¸Ó­×¥¿µ{¦¡¡A½ÐÀˬd¥Ñ "modtime " «ü¥O©Ò¶Ç¦^¨Óªº«e¦¸­×§ï®É¶¡¡A¨ä¤¤ ¬° 2000 ¦~ 1 ¤ë 1 ¤é¤§«á©Ò­×§ïªºÀɮסC ¦pªG¥Ø¼Ðªí®æ¬O¥~³¡ CCD ªí®æ¡ADB2 DataPropagator ·|©I¥s ASNDLCOPY ±`¦¡§Û¼g DATALINK ÀɮסC Ãö©ó ASNDLCOPY ©M ASNDLCOPYDF ªº¨Ï¥Î¡A½Ð°Ñ¾\¦Uµ{¦¡­ì©l½Xªº §Ç¨¥¡C The following restrictions apply: * ¤º³¡ CCD ªí®æ§t¦³ DATALINK «ü¥Ü²Å¡A¦ý¨S¦³ DATALINK ­È¡C * À£ÁY¥~³¡ CCD ªí®æ§t¦³ DATALINK ­È¡C * «DÀ£ÁY CCD ¥Ø¼Ðªí®æ¤£¯à¦³ DATALINK ª½Äæ¡C * ¨Ó·½©M¥Ø¼Ð¦øªA¾¹¬Û¦P®É¡A©w´Á§Û¼g³]©w¤£¯à¦³ DATALINK ª½Ä檺¦¨­û¡C 12.7.3 LOB ­­¨î À£ÁY¤º³¡ CCD ªí®æ¤£¯à©M LOB ª½Äæ©M LOB «ü¥Ü²Å¦³ÃöÁp¡C 12.7.4 ³W¹º§Û¼g ¦b²Ä 65 ­¶¡A¡u³s³q©Ê¡vÀ³¸Ó¥]¬A¤U¦C±¡§Î¡G ¦pªG¤Þ¥Îµ{¦¡©M±±¨î¦øªA¾¹¤£¯à³s±µ¡A¤Þ¥Îµ{¦¡·|²×¤î¡C ¨Ï¥Î AS/400 ªº¸ê®Æ°Ï¶ô¡A½Ð½T©w¶¡¹j´Á¶¡©Ò§Û¼gªº¸ê®ÆÁ`¶q¤£¶W¥X 4 ¦Ê¸U¦C¼Æ¡A¤£ ¯à¦p¥»®Ñ¤º 69 ­¶¤¤©Ò´£ªº 4 MB¡C ------------------------------------------------------------------------ 12.8 ²Ä 6 ³¹ ³]©w§Û¼gÀô¹Ò 12.8.1 ÀH³B§ó·s (Update-anywhere) ¥ý¨M±ø¥ó ¦pªG±z­n¨Ï¥Î½Ä¬ð°»´ú©M©w´Á§Û¼g³]©w¤º¦h¹F 150 ­Óªº©w´Á§Û¼g³]©w¦¨­û¨Ó³]©wÀH³B §ó·s§Û¼g¡A «h¥²¶·°õ¦æ¤U¦Cªº DDL¡A¥H«Ø¥ß±±¨î¦øªA¾¹ªº ASN.IBMSNAP_COMPENSATE ªí®æ¡C CREATE TABLE ASN.IBMSNAP_COMPENSATE ( APPLY_QUAL char(18) NOT NULL, MEMBER SMALLINT, INTENTSEQ CHAR(10) FOR BIT DATA, OPERATION CHAR(1)); 12.8.2 ³]©w§Û¼gÀô¹Ò ²Ä 95 ­¶¡A¡u¦Û¦æ³]©w CD ªí®æ¡B¯Á¤Þ©Mªí®æªÅ¶¡¦WºÙ¡v»¡©ú¡G DPREPL.DFT Àɮפ£ ¬O¦ì©ó \sqllib\bin ¥Ø¿ý¡A ´N¬O¦ì©ó \sqllib\java ¥Ø¿ý¡C ³o¬O¤£¥¿½Tªº¡A DPREPL.DFT ¦ì©ó \sqllib\cc ¥Ø¿ý¡C ²Ä 128 ­¶¡A«O¯d­­¨î»¡©ú¡G³¯­z·í¡uÂ^¨úµ{¦¡¡v·x¶}¾÷©Î¨Ï¥Î¡uÂ^¨úµ{¦¡¡v§R§ï«ü¥O ®É¡A¤~¨Ï¥Î«O¯d­­¨î¨Ó§R§ï¦C¼Æ¡C­Y¥H¦Û°Ê§R§ï¿ï¶µ±Ò°Ê¡uÂ^¨úµ{¦¡¡v¡A«h¥¦¤£·|¨Ï ¥Î«O¯d­­¨î¨Ó§R§ï¦C¼Æ¡C ------------------------------------------------------------------------ 12.9 ²Ä 8 ³¹ °ÝÃD§PÂ_ §Û¼g¤ÀªRµ{¦¡¦b Windows 32 ¦ì¤¸¨t²Î©M AIX ¤W°õ¦æ¡C ±ý¦b AIX ¤W°õ¦æ¤ÀªRµ{¦¡¡A ½Ð½T©w PATH Àô¹ÒÅܼƤº sqllib/bin ¥Ø¿ý¥X²{¦b /usr/local/bin «e¡A ¥HÁקK©M /usr/local/bin/analyze µo¥Í½Ä¬ð¡C §Û¼g¤ÀªRµ{¦¡¦³¨â­Óªþ¥[¿ï¥ÎªºÃöÁä¦r¡G CT ©M ATT¡C CT=n ¥uÅã¥ÜÂ^¨ú°lÂܪí®æ¤º n ¤Ñ¤§«áªºµn¿ý¡C ¦¹ÃöÁä¦r¬°¿ï¥Îªº¡C ­Y±z¨S¦³«ü©w ¦¹ÃöÁä¦r¡A¨ä¹w³]­È¬° 7 ¤Ñ¡C AT=n ¥uÅã¥Ü¤Þ¥Î°lÂܪí®æ¤º n ¤Ñ¤§«áªºµn¿ý¡C ¦¹ÃöÁä¦r¬°¿ï¥Îªº¡C ­Y±z¨S¦³«ü©w ¦¹ÃöÁä¦r¡A¨ä¹w³]­È¬° 7 ¤Ñ¡C ½d¨Ò¡G analyze mydb1 mydb2 f=mydirectory ct=4 at=2 deepcheck q=applyqual1 ¤U¦C¬°¡u§Û¼g¤ÀªRµ{¦¡¡v¤§³Ì·sÃöÁä¦r¸ê°T¡G deepcheck «ü©w¤ÀªRµ{¦¡°õ¦æ¸û§¹¾ãªº¤ÀªR¥]¬A¤U¦C¸ê°T¡GCD ©M UOW §R§ï¸ê°T¡B DB2 for OS/390 ªí®æªÅ¶¡¤À³Î©MÀ£ÁY²Ó¸`¡BÃö©ó©w´Á§Û¼g³]©wªº¥Ø¼Ð¯Á¤Þ¤§¤ÀªR¡B ©w´Á §Û¼g®É¶¡¡A¥H¤Î©w´Á§Û¼g³]©w SQL ³¯­z¦¡¿ù»~¡C ¤ÀªR¥]¬A©Ò¦³ªº¦øªA¾¹¡C ¦¹ ÃöÁä¦r¬°¿ï¥Îªº¡C lightcheck «ü©w¦Û³ø§i¤¤°£¥h¤U¦C¸ê°T¡GASN.IBMSNAP_SUBS_COLS ªí®æ©Ò¦³ª½Äæ©ú²Ó¡B ©w ´Á§Û¼g¿ù»~¡B¤£³W«h¡B¿òº|¡A¤£¥¿½T©ÎµL®Äªº¯Á¤Þ¡C ¦¹¸ê°T¤¤ªºÁY´îÀx¦s¸ê·½ ©M²£¥Í¤@­Ó¸û¤pªº HTML ¿é¥XÀÉ¡C ¦¹ÃöÁä¦r©M deepcheck ÃöÁä¦r¬Û¤¬±Æ¥¸¡C AS/400 ¥­¥xªº PTF §Û¼g¦³¤ÀªRµ{¦¡¤u¨ã¡C³o¨Ç¤u¨ã¦¬¶°¦³Ãö§Û¼gÀô¹Òªº¸ê°T¡A¦P ®É¡A²£¥Í¤@­Ó¶Ç°e¨ì IBM ªA°È¤¤¤ß¥Nªíªº HTML ÀɮסA¥H»²§U°ÝÃDªº¨M©w¡C ±ý±o¨ì AS/400 ¤u¨ã¡A¤U¸ü¾A·íªº PTF (¨Ò¦p¡A²£«~ 5769DP2 ´N¶·¤U¸ü PTF SF61798 ©Î§ó·s ªºª©¥»)¡C ·s¼W¤U¦C°ÝÃD©M¸Ñ¨M¤è®×¦Ü¡uºÃÃø±Æ¸Ñ¡v¤@¸`¤¤¡G °ÝÃD¡G¨S¦³§Û¼gÅܧ󪺱¡ªp¤U¡A¤Þ¥Îµ{¦¡§Î¦¨°j°é¡F ¤Þ¥Î°lÂܪíÅã¥Ü STATUS=2¡C ©w´Á§Û¼g³]©w¥]¬A¦h­Ó¨Ó·½ªí®æ¡C­Y­n§ï¶i³]©w¤¤³æ¤@¨Ó·½ªí®æªº¼öÂI³B²z¡A ´N·|¬°¸Ó¨Ó·½ªí®æ©w¸q¤@­Ó¤º³¡ CCD ªí®æ (¦ý¬O¦b¤£¦Pªº©w´Á§Û¼g³]©w¤¤)¡C ·|¹ï¨Ó·½ªí®æ°µ¥XÅܧó¡A¦ý²¾¤J¤º³¡ CCD ªí®æªº¡u¤Þ¥Î¡vµ{§Ç·|«D¦P¨Bªº°õ¦æ (¨Ò¦p¡A¤Þ¥Îµ{¦¡¥i¯à©|¥¼±Ò°Ê©Î¨Æ¥ó©|¥¼Ä²µoµ¥)¡C±q¨Ó·½ªí®æ§Û¼g§ó·s¨ì ¥Ø¼Ðªí®æªº¤Þ¥Îµ{¦¡·|¶i¤J°j°é¡A¦]¬°¥¦¦bµ¥«Ý¤º³¡ CCD ªí®æ³Q§ó·s¡C ­Y­n°±¤î°j°é¡A±Ò°Ê¤º³¡ CCD ªí®æªº¤Þ¥Îµ{¦¡ (©ÎIJµo·|¾É­P§Û¼gµo¥Íªº¨Æ¥ó)¡C ¤Þ¥Îµ{¦¡·|²¾¤J¤º³¡ CCD ªí®æ¡A¨Ã®e³\´`Àô¤¤ªº¤Þ¥Îµ{¦¡³B²z©Ò¦³¨Ó·½ªí®æ¨ÓªºÅܧó¡C §t¦³¨Ó·½ªí®æªº©w´Á§Û¼g³]©w·|µo¥ÍÃþ¦üªºª¬ªp¡A¨ä¤¤¤º³¡ CCD ªí®æ¥Ñ¦h­«ªº¤Þ¥Îµ{¦¡²¾¤J¡C ------------------------------------------------------------------------ 12.10 ²Ä 9 ³¹ AS/400 ªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ ¦b 178 ­¶¡A¡u¤u§@ºÞ²zªº³Æµù¡vÀ³¦p¤U©Ò¥Ü¡G ±z¥i¥HÅܧó¹w³]©w¸q©Î´£¨Ñ­Ó¤H©w¸q¡C «Ø¥ß­Ó¤H¤l¨t²Î»¡©ú¡A¥²¶·´À¤l¨t²Î QZSNDPR ©R¦W¡A¨Ã¥B¦b QDPR ¥H¥~ªºÀÉ®×®w«Ø¥ß¡C ¦³Ãö©w¸qªºÅܧó¡A¸Ô²Ó¸ê®Æ½Ð°Ñ¾\¡uOS/400 ¤u§@ºÞ²z V4R3¡v¡C ·s¼W¤U¦C¦Ü¡uÅçÃÒ©M¦Û¦æ³]©w AS/400 ¤U DB2 DataPropagator ªº¦w¸Ë¡v(²Ä 178 ­¶)¡G ¦pªG¦]¬°°ª¶qªº²§°Ê¦Ó¦³Âê©wÄvª§ªº°ÝÃD¡A«h±z¥i±N¹w³]ªºµ¥«Ý¹O®É­È±q 30 ¼W¥[¨ì 120¡C ±z¥i¦b¨C¦¸Â^¨ú¤u§@¶}©l®ÉÅܧó¤u§@¡A©Î±z¥i¨Ï¥Î¤U¦Cµ{§Ç¨ÓÅܧó©Ò¦³¦b¤l¨t²Î¤¤°õ¦æªº ¤u§@ªº¹w³]µ¥«Ý¹O®É­È¡G 1. µo¥X¤U¦C«ü¥O¡A­«½Æ QGPL/QBATCHI ¥H«Ø¥ß·sªºÃþ§Oª«¥ó¡G CRTDUPOBJ OBJ(QBATCH) FROMLIB(QGPL) OBJTYPE(*CLS) TOLIB(QDPR) NEWOBJ(QZSNDPR) 2. Åܧó³Ì·s«ØÃþ§Oªºµ¥«Ý¹O®É­È (¨Ò¦p¡AÅܧó¦Ü 300 ¬í): CHGCLS CLS(QDPR/QZSNDPR) DFTWAIT(300) 3. §Q¥Î·s«ØÃþ§O§ó·s¤l¨t²Î»¡©ú QDPR/QZSNDPR ¤ºªº¸ô®|µn¿ý¡G CHGRTGE SBSD(QDPR/QZSNDPR) SEQNBR(9999) CLS(QDPR/QZSNDPR) ²Ä 194 ­¶ªº¡u¨Ï¥Î§R°£²§°Ê¤é»x±µ¦¬¾¹µ²§ô±`¦¡¡vÀ³¨Ö¤J³o­Ó¥y¤l¡G ­Y±z²¾°£§R°£ ²§°Ê¤é»x±µ¦¬¾¹µ²§ô±`¦¡¡A½Ð½T©w¥Î©ó¨Ó·½ªí®æªº©Ò¦³²§°Ê¤é»x¬Ò¦³ DLTRCV(*NO)¡C ¦b 195 ­¶¡AADDEXITPGM «ü¥O°Ñ¼ÆÀ³Åª¨ú¤U¦C©Ò¥Ü¡G ADDEXITPGM EXITPNT(QIBM_QJO_DLT_JRNRCV) FORMAT(DRCV0100) PGM(QDPR/QZSNDREP) PGMNBR(*LOW) CRTEXITPNT(*NO) PGMDTA(65535 10 QSYS) ------------------------------------------------------------------------ 12.11 ²Ä 10 ³¹ OS/390 ªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ ¦b²Ä 10 ³¹¤¤§ó·s¤U¦C¬q¸¨¡G 12.11.1 DB2 DataPropagator for OS/390 ªº¥ý¨M±ø¥ó ±z¥²¶·¨ã³Æ DB2 for OS/390 ª©¥» 5¡BDB2 for OS/390 ª©¥» 6 ©Î DB2 for OS/390 ª©¥» 7¡A¤~¯à°õ¦æ DB2 DataPropagator for OS/390 ª©¥» 7 (V7)¡C 12.11.2 OS/390 ¤Wªº UNICODE ©M ASCII ½s½X¤èªk DB2 DataPropagator for OS/390 V7 ¤ä´© UNICODE ©M ASCII ½s½X¤èªk¡C ­Y­n¶}µo ·sªº½s½X¤èªk¡A±z¥²¶·¨ã³Æ DB2 for OS/390 V7¡A ¦Ó¥B¥²¶·¤â°Ê«Ø¥ß©ÎÂà´« DB2 DataPropagator ¨Ó·½¡B¥Ø¼Ð¤Î±±¨îªí®æ¡A §Ú­Ì±N·|¦b¤U¦C¦U¸`¤¤»¡©ú¡C¤£¹L¡A§Y¨Ï ±z¨S¦³­×§ï¥ô¦ó½s½X¤èªk¡A±z²{¦sªº §Û¼gÀô¹Ò±N¨Ï¥Î DB2 DataPropagator for OS/390 V7¡C 12.11.2.1 ¿ï¾Ü½s½X¤èªk ­Y±zªº¨Ó·½¡BCD ¤Î¥Ø¼Ðªí®æ¨Ï¥Î¬Û¦Pªº½s½X¤èªk¡A±z¥i¥H±N§Û¼gÀô¹Ò¤¤ªº¸ê®ÆÂà´«»Ý ¨D­°¦Ü³Ì§C¡C ¹ïªí®æ¿ï¾Ü½s½X¤èªk®É¡A½Ð¿í´`³æ¤@ CCSID ³W«h¡G ªí®æªÅ¶¡¤¤ªº¦r¤¸ ¸ê®Æ¥i¥H¥Î ASCII¡BUNICODE ©Î EBCDIC ¨Ó½s½X¡C ªí®æªÅ¶¡¤ºªº©Ò¦³ªí®æ¥²¶·¨Ï¥Î¬Û ¦Pªº½s½X¤èªk¡CSQL ³¯­z¦¡¤¤©Ò¦³ªí®æªº½s½X¤èªk¥²¶·¬Û¦P¡C¦P®É¡A±z¦bÀ˵ø¤Îµ²¦X ¤¤©Ò¥Îªº¥þ³¡ªí®æ¥²¶·¬Û¦Pªº½s½X¤èªk¡C ­Y¥¼¿í´`³æ¤@ CCSID ³W«h¡A«h¦b³sµ²©Î°õ¦æ´Á¶¡¡ADB2 ±N·|°»´ú¹H³W¨Ã¶Ç¦^ SQLCODE -873¡C­þ¨Çªí®æÀ³¸Ó¬O ASCII ©Î UNICODE¡Aµø±zªº¥D/±q¬[ºc¦Ó©w¡C ¯S§O¦a¡A·í¿ï¾Ü ªí®æªº½s½X¤èªk®É¡A½Ð¿í´`³o¨Ç³W«h¡G * DB2 for OS/390 ¤Wªº¨Ó·½©Î¥Ø¼Ðªí®æ¥i¥H¬O EBCDIC¡BASCII ©Î UNICODE¡C ¥¦ ­Ì¥i¥H¦b¨Ï¥Î¥ô¦ó¤ä´©ªº DBMS (DB2 ¨t¦C¡A©Î¨ã¦³ DataJoiner ªº«D DB2 ¨t ¦C) ¤¤¬Û¦P©Î¤£¦P½s½X¤èªkªºªí®æ¤§¶¡½Æ»s¡C * ¦b DB2 for OS/390 ¨Ó·½¦øªA¾¹¤W¡A¬Û¦P¦øªA¾¹¤W©Ò¦³ CD¡BUOW¡Bµn°O¤Î§R§ï±± ¨îªí®æ¥²¶·¨Ï¥Î¬Û¦Pªº½s½X¤èªk¡C¬°½T«O¤@­P©Ê¡A½Ð°È¥²©ú½T«ü©w½s½X¤èªk¡C * ¬Û¦P±±¨î¦øªA¾¹¤Wªº©Ò¦³±±¨îªí®æ (ASN.IBMSNAP_SUBS_xxxx) ¥²¶·¨Ï¥Î¬Û¦Pªº ½s½X¤èªk¡C * ¨ä¥¦±±¨îªí®æ¥i¨Ï¥Î¥ô¦ó½s½X¤èªk¡F¤£¹L¡A«Øij ASN.IBMSNAP_CRITSEC ªí®æ«O ¯d EBCDIC¡C 12.11.2.2 ³]©w½s½X¤èªk ­Y­n¹ïªí®æ«ü©w¾A·íªº½s½X¤èªk¡A½Ð­×§ï¥Î¨Ó²£¥Íªí®æªº SQL¡G * ¥H¾A·íªº½s½X¤èªk«Ø¥ß·sªº¨Ó·½©M¥Ø¼Ðªí®æ¡A ©ÎÅܧó²{¦s¥Ø¼Ð¤Î¨Ó·½ªí®æªº½s ½X¤èªk¡C«Øij±zÅܧó²{¦sªí®æªº½s½X¤èªk¤§«e°±¤î¡uÂ^¨úµ{¦¡¡v©M¡u¤Þ¥Îµ{ ¦¡¡v¡AµM«á¥H§N¶}¾÷¤è¦¡±Ò°Ê¡uÂ^¨úµ{¦¡¡v¨Ã­«·s±Ò°Ê¡u¤Þ¥Îµ{¦¡¡v¡CÅܧó²{¦s ªí®æªº½s½X¤èªk¡G 1. ¨Ï¥Î Reorg ¤½¥Îµ{¦¡½Æ»s²{¦sªºªí®æ¡C 2. ±Ë±ó²{¦sªºªí®æ¡C 3. «ü©w·s½s½X¤èªk¨Ó­««Øªí®æ¡C 4. ¨Ï¥Î Load ¤½¥Îµ{¦¡±N­ì©l¸ê®Æ¸ü¤J·sªí®æ¤¤¡C ¦³Ãö Load ©M Reorg ¤½¥Îµ{¦¡ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 Universal Database for OS/390 Utility Guide and Reference¡C * ¥H¾A·íªº½s½X¤èªk«Ø¥ß·s±±¨îªí®æ©Î­×§ï²{¦sªí®æªº½s½X¤èªk¡C DPCNTL.MVS À˪þ©ó DB2 for OS/390 ªº sqllib\samples\repl ¤¤¡A ¥¦¥]§t«Ø ¥ß±±¨îªí®æªº¼Æ­Ó CREATE TABLE ³¯­z¦¡¡C¹ï©ó¥²¶·¬O ASCII ©Î UNICODE ªºªí ®æ¦Ó¨¥¡]¨Ò¦p ASN.IBMSNAP_REGISTER ©M ASN.IBMSNAP_PRUNCNTL¡^¡A ½Ð¥[¤J CCSID ASCII ©Î CCSID UNICODE ÃöÁä¦r¡A¦p¤U¦C½d¨Ò©Ò¥Ü¡C CREATE TABLE ASN.IBMSNAP_PRUNCNTL ( TARGET_SERVER CHAR( 18) NOT NULL, TARGET_OWNER CHAR( 18) NOT NULL, TARGET_TABLE CHAR( 18) NOT NULL, SYNCHTIME TIMESTAMP, SYNCHPOINT CHAR( 10) FOR BIT DATA, SOURCE_OWNER CHAR( 18) NOT NULL, SOURCE_TABLE CHAR( 18) NOT NULL, SOURCE_VIEW_QUAL SMALLINT NOT NULL, APPLY_QUAL CHAR( 18) NOT NULL, SET_NAME CHAR( 18) NOT NULL, CNTL_SERVER CHAR( 18) NOT NULL, TARGET_STRUCTURE SMALLINT NOT NULL, CNTL_ALIAS CHAR( 8) ) CCSID UNICODE DATA CAPTURE CHANGES IN TSSNAP02; ­Y­n­×§ï²{¦sªº±±¨îªí®æ©M CD ªí®æ¡A½Ð¨Ï¥Î Reorg ©M Load ¤½¥Îµ{¦¡¡C * ·í«Ø¥ß·s§Û¼g¨Ó·½©Î©w´Á§Û¼g³]©w®É¡A½Ð­×§ïºÞ²z¤u¨ã©Ò²£¥Íªº SQL ÀɮסA ¥H «ü©w¾A·íªº½s½X¤èªk¡C¦¹ SQL Àɮר㦳¼Æ­Ó CREATE TABLE ³¯­z¦¡¡A ¥i¥Î¨Ó¤À §O°w¹ï§Û¼g¨Ó·½¤Î©w´Á§Û¼g³]©w«Ø¥ß CD ©M¥Ø¼Ðªí®æ¡C ½Ð¦b¾A·í¦ì¸m¥[¤JÃöÁä ¦r CCSID ASCII ©Î CCSID UNICODE¡C ¨Ò¦p¡G CREATE TABLE user1.cdtable1 ( employee_name varchar, employee_age decimal ) CCSID UNICODE; DB2 UDB for OS/390 SQL Reference ¥]§t CCSID ªº¸Ô²Ó¸ê°T¡C ------------------------------------------------------------------------ 12.12 ²Ä 11 ³¹ UNIX ¥­¥xªºÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ 12.12.1 ¦b UNIX ©M Windows ¤W³]©w¡uÂ^¨úµ{¦¡¡v©M¡u¤Þ¥Îµ{¦¡¡vªºÀô¹ÒÅÜ¼Æ ­Y±z¨Ï¥Î¹w³]¦r½X­¶­È¥H¥~ªº¦r½X­¶«Ø¥ß¨Ó·½¸ê®Æ®w¡A½Ð±N DB2CODEPAGE Àô¹ÒÅܼƳ] ¬°¸Ó¦r½X­¶¡C ¦³Ãö³]©w DB2CODEPAGE ¤§«e¨ú±o¦r½X­¶­Èªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 Administration Guide¡C¡uÂ^¨úµ{¦¡¡v¥²¶·¦b»P¸ê®Æ®w (Â^¨úµ{¦¡¦Û¨ä¤¤Â^¨ú¸ê®Æ) ¬Û¦Pªº¦r½X­¶¤¤°õ¦æ¡CDB2 ±q¡uÂ^¨úµ{¦¡¡v°õ¦æ©Ò¦bªº§@¥Î¤¤Àô¹Ò¨ú±o¡uÂ^¨úµ{¦¡¡v ¦r½X­¶¡C­Y¥¼³]©w DB2CODEPAGE¡ADB2 ·|±q§@·~¨t²Î¨ú±o¦r½X­¶­È¡C ­Y±z«Ø¥ß¸ê®Æ®w ®É¬O¨Ï¥Î¹w³]¦r½X­¶¡A«h­l¥Í¦Û§@·~¨t²Îªº­È¹ï¡uÂ^¨úµ{¦¡¡v¦Ó¨¥¬O¥¿½T­È¡C ------------------------------------------------------------------------ 12.13 ²Ä 14 ³¹ ªí®æµ²ºc ¦b 339 ­¶¡A²K¥[¤U¦C¥y¤l¦Ü­È¬° 2 ªº STATUS ª½Ä满©ú¡G ¦pªG±z¨Ï¥Î¤º³¡ CCD ªí®æ¡A¥B«ùÄò¦b¤Þ¥Î°lÂÜªíªºª¬ºAª½Ä椤±o¨ì "2" ­È¡A ½Ð¦Ü¡u²Ä 8 ³¹¡G°ÝÃD§P©w¡v°Ñ·Ó¡u°ÝÃD¡G¨S¦³§Û¼gÅܧ󪺱¡ªp¤U¡A¤Þ¥Îµ{¦¡§Î¦¨°j°é¡F ¤Þ¥Î°lÂܪíÅã¥Ü STATUS=2¡v¡C ------------------------------------------------------------------------ 12.14 ²Ä 15 ³¹ Â^¨úµ{¦¡©M¤Þ¥Îµ{¦¡°T®§ °T®§ ASN0017E À³§ï¬°¡G ASN0017E ¡uÂ^¨úµ{¦¡¡vµo²{ÄY­«ªº¤º³¡¿ù»~¡AµLªkµo¥X¥¿½Tªº¿ù»~°T®§¡C ±`¦¡¦WºÙ¬° routine¡C¦^ÂнX¬° return_code¡C ·s¼W¤U¦C¸ê®Æ¦Ü°T®§ ASN1027S¡G ASN1027S «ü©w¤Ó¦h¤j«¬ª«¥ó (LOB) ª½Äæ¡C¿ù»~½X¬° ¡C »¡©ú¡G¹ï©w´Á§Û¼g³]©w¦¨­û«ü©w¤F¤Ó¦h¤j«¬ª«¥ó (BLOB¡BCLOB ©Î DBCLOB) ª½Äæ¡C¥i ®e³\ªº³Ì¤jª½Äæ¼Æ¬° 10¡C ¨Ï¥ÎªÌ¦^À³¡G¦Û©w´Á§Û¼g³]©w¦¨­û°£¥h¹L¦hªº¤j«¬ª«¥óª½Äæ¡C °T®§ ASN1048E À³¦p¤U©Ò¥Ü¡G ASN1048E ¡u¤Þ¥Îµ{¦¡¡v´`Àôªº°õ¦æ¥¢±Ñ¡C¸Ô²Ó¸ê®Æ¡A½Ð°Ñ¾\¤Þ¥Î°lÂܪí¡G »¡©ú¡G¡u¤Þ¥Îµ{¦¡¡v´`Àô¥¢±Ñ¡C¦b°T®§¤¤¡A ©w¸q ¡B ¤Î ¡C ¨Ï¥ÎªÌ¦^À³¡GÀˬd¼f®Ö°lÂܪí®æªº APPERRM Äæ¦ì¡A ¥H½T©w¡u¤Þ¥Îµ{¦¡¡v´`Àôªº¥¢±Ñ ­ì¦]¡C ------------------------------------------------------------------------ 12.15 ªþ¿ý A. ±qÀ³¥Îµ{¦¡¤º±Ò°ÊÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ ¦b 399 ­¶¡A¿ù»~¥X²{¦b½d¨Ò±`¦¡ªº»¡©ú¤º¡A¸Ó½d¨Ò±`¦¡±Ò°ÊÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡¡A ¦ý¬O¡A½d¨Òªº¦r½X¬O¥¿½Tªº¡C½d¨Òªº«á¥b³¡»P¤Þ¥Îµ{¦¡°Ñ¼Æ¦³Ãö¡AÁöµM»¡©úªí¥Ü¥¦©M Â^¨úµ{¦¡°Ñ¼Æ¦³Ãö¡C ±z¥i¥H¦Û¥H¤U¥Ø¿ýÀò±o¤Þ¥Îµ{¦¡©MÂ^¨úµ{¦¡ªº½d¨Ò¤Î¦U¦Ûªº make ÀÉ¡G For NT - sqllib\samples\repl For UNIX - sqllib/samples/repl ------------------------------------------------------------------------ System Monitor Guide and Reference(µL¤¤¤åª©) ------------------------------------------------------------------------ 13.1 db2ConvMonStream In the Usage Notes, the structure for the snapshot variable datastream type SQLM_ELM_SUBSECTION should be sqlm_subsection. ------------------------------------------------------------------------ Troubleshooting Guide(µL¤¤¤åª©) ------------------------------------------------------------------------ 14.1 Starting DB2 on Windows 95, Windows 98, and Windows ME When the User Is Not Logged On For a db2start command to be successful in a Windows 95, Windows 98, or Windows Millennium Edition (ME) environment, you must either: * Log on using the Windows logon window or the Microsoft Networking logon window * Issue the db2logon command (see note (NOTE_1) for information about the db2logon command). In addition, the user ID that is specified either during the logon or for the db2logon command must meet DB2's requirements (see note (NOTE2)). When the db2start command starts, it first checks to see if a user is logged on. If a user is logged on, the db2start command uses that user's ID. If a user is not logged on, the db2start command checks whether a db2logon command has been run, and, if so, the db2start command uses the user ID that was specified for the db2logon command. If the db2start command cannot find a valid user ID, the command terminates. During the installation of DB2 Universal Database Version 7 on Windows 95, Windows 98, and Windows ME, the installation software, by default, adds a shortcut to the Startup folder that runs the db2start command when the system is booted (see note (NOTE_1) for more information). If the user of the system has neither logged on nor issued the db2logon command, the db2start command will terminate. If you or your users do not normally log on to Windows or to a network, you can hide the requirement to issue the db2logon command before a db2start command by running commands from a batch file as follows: 1. Create a batch file that issues the db2logon command followed by the db2start.exe command. For example: @echo off db2logon db2local /p:password db2start cls exit 2. Name the batch file db2start.bat, and store it in the /bin directory that is under the drive and path where you installed DB2. You store the batch file in this location to ensure that the operating system can find the path to the batch file. The drive and path where DB2 is installed is stored in the DB2 registry variable DB2PATH. To find the drive and path where you installed DB2, issue the following command: db2set -g db2path Assume that the db2set command returns the value c:\sqllib. In this situation, you would store the batch file as follows: c:\sqllib\bin\db2start.bat 3. To start DB2 when the system is booted, you should run the batch file from a shortcut in the Startup folder. You have two options: o Modify the shortcut that is created by the DB2 installation program to run the batch file instead of db2start.exe. In the preceding example, the shortcut would now run the db2start.bat batch file. The shortcut that is created by DB2 installation program is called DB2 - DB2.lnk, and is located in c:\WINDOWS\Start Menu\Programs\Start\DB2 - DB2.lnk on most systems. o Add your own shortcut to run the batch file, and delete the shortcut that is added by the DB2 installation program. Use the following command to delete the DB2 shortcut: del "C:\WINDOWS\Start Menu\Programs\Startup\DB2 - DB2.lnk" If you decide to use your own shortcut, you should set the close on exit attribute for the shortcut. If you do not set this attribute, the DOS command prompt is left in the task bar even after the db2start command has successfully completed. To prevent the DOS window from being opened during the db2start process, you can create this shortcut (and the DOS window it runs in) set to run minimized. Note: As an alternative to starting DB2 during the boot of the system, DB2 can be started prior to the running of any application that uses DB2. See note (NOTE5) for details. If you use a batch file to issue the db2logon command before the db2start command is run, and your users occasionally log on, the db2start command will continue to work, the only difference being that DB2 will use the user ID of the logged on user. See note (NOTE_1) for additional details. Note: 1. The db2logon command simulates a user logon. The format of the db2logon command is: db2logon userid /p:password The user ID that is specified for the command must meet the DB2 naming requirements (see note (NOTE2) for more information). If the command is issued without a user ID and password, a window opens to prompt the user for the user ID and password. If the only parameter provided is a user ID, the user is not prompted for a password; under certain conditions a password is required, as described below. The user ID and password values that are set by the db2logon command are only used if the user did not log on using either the Windows logon window or the Microsoft Networking logon window. If the user has logged on, and a db2logon command has been issued, the user ID from the db2logon command is used for all DB2 actions, but the password specified on the db2logon command is ignored When the user has not logged on using the Windows logon window or the Microsoft Networking logon window, the user ID and password that are provided through the db2logon command are used as follows: o The db2start command uses the user ID when it starts, and does not require a password. o In the absence of a high-level qualifier for actions like creating a table, the user ID is used as the high-level qualifier. For example: 1. If you issue the following: db2logon db2local 2. Then issue the following: create table tab1 The table is created with a high-level qualifier as db2local.tab1. You should use a user ID that is equal to the schema name of your tables and other objects. o When the system acts as client to a server, and the user issues a CONNECT statement without a user ID and password (for example, CONNECT TO TEST) and authentication is set to server, the user ID and password from the db2logon command are used to validate the user at the remote server. If the user connects with an explicit user ID and password (for example, CONNECT TO TEST USER userID USING password), the values that are specified for the CONNECT statement are used. 2. In Version 7, the user ID that is either used to log on or specified for the db2logon command must conform to the following DB2 requirements: o It cannot be any of the following: USERS, ADMINS, GUESTS, PUBLIC, LOCAL, or any SQL reserved word that is listed in the SQL Reference. o It cannot begin with: SQL, SYS or IBM o Characters can include: + A through Z (Windows 95, Windows 98, and Windows ME support case-sensitive user IDs) + 0 through 9 + @, #, or $ 3. You can prevent the creation of the db2start shortcut in the Startup folder during a customized interactive installation, or if you are performing a response file installation and specify the DB2.AUTOSTART=NO option. If you use these options, there is no db2start shortcut in the Startup folder, and you must add your own shortcut to run the db2start.bat file. 4. On Windows 98 and Windows ME an option is available that you can use to specify a user ID that is always logged on when Windows 98 or Windows ME is started. In this situation, the Windows logon window will not appear. If you use this option, a user is logged on and the db2start command will succeed if the user ID meets DB2 requirements (see note (NOTE2) for details). If you do not use this option, the user will always be presented with a logon window. If the user cancels out of this window without logging on, the db2start command will fail unless the db2logon command was previously issued, or invoked from the batch file, as described above. 5. If you do not start DB2 during a system boot, DB2 can be started by an application. You can run the db2start.bat file as part of the initialization of applications that use DB2. Using this method, DB2 will only be started when the application that will use it is started. When the user exits the application, a db2stop command can be issued to stop DB2. Your business applications can start DB2 in this way, if DB2 is not started during the system boot. To use the DB2 Synchronizer application or call the synchronization APIs from your application, DB2 must be started if the scripts that are download for execution contain commands that operate either against a local instance or a local database. These commands can be in database scripts, instance scripts, or embedded in operating system (OS) scripts. If an OS script does not contain Command Line Processor commands or DB2 APIs that use an instance or a database, it can be run without DB2 being started. Because it may be difficult to tell in advance what commands will be run from your scripts during the synchronization process, DB2 should normally be started before synchronization begins. If you are calling either the db2sync command or the synchronization APIs from your application, you would start DB2 during the initialization of your application. If your users will be using the DB2 Synchronizer shortcut in the DB2 for Windows folder to start synchronization, the DB2 Synchronization shortcut must be modified to run a db2sync.bat file. The batch file should contain the following commands to ensure that DB2 is running before synchronization begins: @echo off db2start.bat db2sync.exe db2stop.exe cls exit In this example, it is assumed that the db2start.bat file invokes the db2logon and db2start commands as described above. If you decide to start DB2 when the application starts, ensure that the installation of DB2 does not add a shortcut to the Startup folder to start DB2. See note (NOTE3) for details. ------------------------------------------------------------------------ 14.2 Chapter 2. Troubleshooting the DB2 Universal Database Server Under the "Locking and Deadlocks" section, under the "Applications Slow or Appear to Hang" subsection, change the description under "Lock waits or deadlocks are not caused by next key locking" to : Next key locking guarantees Repeatable Read (RR) isolation level by automatically locking the next key for all INSERT and DELETE statements and the next higher key value above the result set for SELECT statements. For UPDATE statements that alter key parts of an index, the original index key is deleted and the new key value is inserted. Next key locking is done on both the key insertion and key deletion. It is required to guarantee ANSI and SQL92 standard RR, and is the DB2 default. Examine snapshot information for the application. If the problem appears to be with next key locking, you can set the DB2_RR_TO_RS option on if none of your applications rely on Repeatable Read (RR) behavior and it is acceptable for scans to skip over uncommitted deletes. When DB2_RR_TO_RS is on, RR behavior cannot be guaranteed for scans on user tables because next key locking is not done during index key insertion and deletion. Catalog tables are not affected by this option. The other change in behavior is that with DB2_RR_TO_RS on, scans will skip over rows that have been deleted but not committed, even though the row may have qualified for the scan. For example, consider the scenario where transaction A deletes the row with column1=10 and transaction B does a scan where column1>8 and column1<12. With DB2_RR_TO_RS off, transaction B will wait for transaction A to commit or rollback. If it rolls back, the row with column1=10 will be included in the result set of transaction B's query. With DB2_RR_TO_RS on, transaction B will not wait for transaction A to commit or rollback. It will immediately receive query results that do not include the deleted row. Do not use this option if you require ANSI and SQL92 standard RR or if you do not want scans to skip uncommitted deletes. ------------------------------------------------------------------------ ¦b 64 ¦ì¤¸ªº¥­¥x¤W¨Ï¥Î DB2 Universal Database ------------------------------------------------------------------------ 15.1 ²Ä 5 ³¹ ¬[ºc 15.1.1 LOCKLIST ¤U¦C¸ê°TÀ³¸Ó¥[¨ì¡uªí 2¡v¡C °Ñ¼Æ ¤§«eªº¤W­­ ²{¦æªº¤W­­ LOCKLIST 60000 524288 15.1.2 shmsys:shminfo_shmmax ¦b 64 ¦ì¤¸ Solaris §@·~¨t²Î¤Wªº DB2 ¨Ï¥ÎªÌÀ³µø»Ý­n¼W¥[ /etc/system ¤¤ "shmsys:shminfo_shmmax" ªº­È¡A ¥H°t¸m¤jªº¸ê®Æ®w¦@¥Î°O¾ÐÅé²Õ¡C DB2 for UNIX §Ö³t¤Jªù ®Ñ¤¤«Øij°Ñ¼Æ¥i³]¬° "¾÷¾¹¤¤¹êÅé RAM ªº 90%¡A³æ¦ì¬°¦ì¤¸²Õ"¡C ³o¶µ«Ø ij¹ï©ó 64 ¦ì¤¸¬I¦æ¤@¼Ë¦³®Ä¡C µM¦Ó¡A¦b DB2 for UNIX §Ö³t¤Jªù ®Ñ¤¤ªº¤U¦C«Øij¦³°ÝÃD¡G ¹ï©ó¾Ö¦³¶W¹L 4 GB RAM ªº 32 ¦ì¤¸¨t²Î¦Ó¨¥ (¦b Solaris §@·~¨t²Î¤WÁ`¦@³Ì¦h¥i¨ì 64 GB)¡A ¦pªG¨Ï¥ÎªÌ±N shmmax ­È³]©w¬°¤@­Ó¤j©ó 4 GB ªº¼Æ¦r¡A ¨Ã¥B¬O¨Ï¥Î 32 ¦ì¤¸ªº®Ö¤ß¡A¦Ó®Ö¤ß¥u·| ¬Ý¨ì¼Æ¦rªº«á 32 ¦ì¤¸¡A ¦³®É·|³y¦¨ shmmax ªº­È«D±`ªº¤p¡C ------------------------------------------------------------------------ 15.2 ²Ä 6 ³¹ ­­¨î ¥Ø«e¦b 64 ¦ì¤¸ªº§@·~¨t²Î¤W¨S¦³ LDAP ¤ä´©¡C 32 ¦ì¤¸¤Î 64 ¦ì¤¸ªº¸ê®Æ®wµLªk«Ø¥ß¦b¬Û¦Pªº¸ô®|¤W¡C ¨Ò¦p¡A¦pªG¦³¤@­Ó 32 ¦ì¤¸ ªº¸ê®Æ®w¦ì©ó ¡A«h¡G db2 create db on ¦pªG¬O±q 64 ¦ì¤¸ªº®×¨Òµo¥X«ü¥O¡A·|±o¨ì³o¼Ëªº¿ù»~°T®§ "SQL10004C ¦s¨ú¸ê®Æ®w ¥Ø¿ý®Éµo¥Í I/O ¿ù»~¡C" ------------------------------------------------------------------------ XML Extender Administration and Programming(µL¤¤¤åª©) Release Notes for the IBM DB2 XML Extender can be found on the DB2 XML Web site: http://www-4.ibm.com/software/data/db2/extenders/xmlext/library.html ------------------------------------------------------------------------ MQSeries ¥»¸`»¡©ú¦p¦ó¨Ï¥Î DB2 ¤Î MQSeries ¨Ó«Øºcµ²¦X¶Ç°T»P¸ê®Æ®w¦s¨úªºÀ³¥Îµ{¦¡¡C ¥» ¸`ªºµJÂI¦b¤@¨t¦Cªº¥\¯à¡A»P¡u¨Ï¥ÎªÌ©w¸qªº¥\¯à (UDF)¡vÃþ¦ü¡A¥¦¥i¯à¤w¦b DB2 Universal Database ª©¥» 7.2 ¤¤¿ï¥Î©Ê¦a±Ò¥Î¡C ¨Ï¥Î³o¨Ç°ò¥»ªº¥\¯à¡A¥i¯à¥i¥H¤ä ´©¤j½d³òªºÀ³¥Îµ{¦¡¡A±q²¦¡¨Æ¥ó³qª¾¨ì¸ê®Æ­ÜÀx¡C ¦³Ãö¸ê®Æ­ÜÀxÀ³¥Îµ{¦¡ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\22.15, MQ Series »P¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº ¾ã¦X¡C ------------------------------------------------------------------------ 17.1 ¦w¸Ë»P¬[ºc DB2 MQSeries Function ¥»¸`»¡©ú¦p¦ó¬[ºc DB2 Àô¹Ò¥H¨Ï¥Î DB2 MQSeries Function¡C ¥u­n±z¦¨¥\§¹¦¨¤U¦C µ{§Ç¡A´N¥i¥H±q SQL ¨Ï¥Î DB2 MQSeries Function¡C Ãö©ó³o¨Ç¥\¯àªº»¡©ú¡A½Ð¦Ü ¡uª©¥»ª`·N¨Æ¶µ¡vªº SQL Reference ¤@¸`¡C Ãö©óªþ¥[¸ê°T¡A¥]¬A³Ì·sªº¤å¥ó¡B´£¥Ü ¤Î¯µ³Z¡A½Ð¦Ü http://www.ibm.com/software/data/integration/MQSeries¡C ¬[ºc»P±Ò¥Î DB2 MQSeries Function ªº°ò¥»µ{§Ç¬°¡G 1. ¦w¸Ë MQSeries¡C 2. ¦w¸Ë MQSeries AMI¡C 3. ±Ò¥Î»P¬[ºc DB2 MQSeries Function ¦¹¥~¡A­Y­n¨Ï¥Î DB2 MQSeries Function ´£¨Ñªºµo§G/­q¾\¥\¯à¡A±z¤]¥²¶·¦w¸Ë MQSeries Integrator ©Î MQSeries Publish/Subscribe Function¡C Ãö©ó MQSeries Integrator ªº¸ê°T¡A½Ð¦Ü http://www.ibm.com/software/ts/mqseries/integrator¡CÃö©ó MQSeries Publish/Subscribe ¥\¯àªº¸ê°T¡A½Ð¦ÜºØÃþ 3 ¤Uªº http://www.ibm.com/software/ts/mqseries/txppacs¡C 17.1.1 ¦w¸Ë MQSeries ²Ä¤@­Ó¨BÆJ½Ð½T©w MQSeries ª©¥» 5.2 ¤w¦w¸Ë©ó±zªº DB2 ¦øªA¾¹¤W¡C­Y±z¤w¦w¸Ë¦¹ ª©¥»ªº MQSeries¡A½Ð¸õ¦Ü¤U¤@¨BÆJ¡u¦w¸Ë MQSeriesy AMI¡v¡C DB2 ª©¥» 7.2 ¥]¬A DB2 ¨Ï¥Îªº MQSeries ¦øªA¾¹¤§°Æ¥»¡C ¦w¸Ë MQSeries ©Î¤É¯Å²{¦sªº MQSeries ¦w¸Ë ¤§¯S©w¥­¥x«ü¥O¡A¥i¦b¯S©wªº¥­¥x¡u§Ö³t¤Jªù¡v®ÑÄy¤¤§ä¨ì¡A¨ä¦ì¦b http://www.ibm.com/software/ts/mqseries/library/manuals¡C½Ð½T©w·í±z¶i¦æ¦w¸Ë µ{§Ç®É¡A­n³]©w¹w³]¦î¦CºÞ²zµ{¦¡¡C 17.1.2 ¦w¸Ë MQSeries AMI ¤U­Ó¨BÆJ¬O¦w¸Ë MQSeries À³¥Îµ{¦¡¶Ç°T¤¶­± (AMI)¡C ³o¬O MQSeries µ{¦¡³]­p¤¶­± ªº°ÆÀɦW¡A¥¦´£¨ÑºÞ²z¤Îµ{¦¡³]­p¤@­Ó²M·¡ªº¹jÂ÷¡C DB2 MQSeries Function »Ý­n¦¹ ¤¶­±ªº¦w¸Ë¡C­Y MQSeries AMI ¤w¦w¸Ë¦b±zªº DB2 ¦øªA¾¹¤W¡A½Ð¸õ¦Ü¤U¤@¨BÆJ ¡u±Ò ¥Î DB2 MQSeries Function¡v¡C­Y©|¥¼¦w¸Ë MQSeries AMI¡A«h±z¥i¥H±q DB2 7.2 ´£ ¨Ñªº¦w¸Ë®M¸Ë³nÅé¨Ó¦w¸Ë¡A©Î±q MQSeries ¤ä´©®M¸Ë³nÅéºô¯¸ http://www.ibm.com/software/ts/mqseries/txppacs¡A¤U¸ü AMI °Æ¥»¡C ±z¥i¥H¦b ¡uºØÃþ 3 - ²£«~°ÆÀɦW¡v¤U§ä¨ì AMI¡C¬°¤F¤è«K°_¨£¡A §Ú­Ì´£¨Ñ±z DB2 ªº MQSeries AMI ¤§°Æ¥»¡C¦¹Àɮצì¦b sqllib/cfg ¥Ø¿ý¤¤¡C¦¹Àɮתº¦WºÙ¬O§@·~¨t²Î¬Û ¨Ì¶µ¡G AIX ª©¥» 4.3 ¤Î§ó·sª©¥» ma0f_ax.tar.Z HP-UX ma0f_hp.tar.Z Solaris §@·~Àô¹Ò ma0f_sol7.tar.Z Windows 32 ¦ì¤¸ ma0f_nt.zip ¿í´` AMI Readme Àɤ¤Â²­zªº¥¿±` AMI ¦w¸Ëµ{§Ç¡A¸ÓÀɦbÀ£ÁY¦w¸Ë¬M¹³Àɤ¤¡C 17.1.3 ±Ò¥Î DB2 MQSeries Function ¦b¦¹¨BÆJ´Á¶¡¡A±z±N¬[ºc¨Ã±Ò¥Î DB2 MQSeries Function ªº¸ê®Æ®w¡C enable_MQFunctions ¤½¥Îµ{¦¡¬O¤@­Ó¼u©Êªº«ü¥O¡A·|¥ýÀˬd¤w³]©w¾A·íªº MQSeries Àô¹Ò¡AµM«á¦w¸Ë¨Ã«Ø¥ß DB2 MQSeries ¥\¯àªº¹w³]¬[ºc¡A¥H³o¨Ç¥\¯à±Ò¥Î«ü©wªº¸ê®Æ ®w¡A¨Ã½T»{¬[ºc¹B§@¥¿±`¡C 1. °w¹ï Windows NT ©Î Windows 2000¡A½Ð¦Ü¨BÆJ 5¡C 2. ¦b UNIX ³]©w¸s²Õ¡G­Y±z¦b UNIX ¤W±Ò¥Î³o¨Ç¥\¯à¡A±z¥²¶·¥ý±N DB2 ®×¨Ò¾Ö¦³ ªÌ (³q±`¬O de2inst1) ¤Î»P¹jÂ÷ UDF ¬ÛÃöªº¨Ï¥ÎªÌ ID (³q±`¬O db2fenc1)¡A ·s¼W¨ì MQSeries ¸s²Õ mqm ¤¤¡C DB2 ¥\¯à»Ý­n¦¹³]©w¥H¦s¨ú MQSeries¡C 3. ¦b UNIX ¤W³]©w DB2 Àô¹ÒÅܼơG±N AMT_DATA_PATH Àô¹ÒÅܼƷs¼W¨ì DB2 ÁA¸Ñ ªº¦C¥Ü¤¤¡C ±z¥i¥H½s¿èÀÉ®× $INSTHOME/sqllib/profile.env¡A±N AMT_DATA_PATH ·s¼W¦Ü DB2ENVLIST¡C¤]¥i¨Ï¥Î db2set «ü¥O¡C 4. ¦b UNIX ¤W¡A­«·s±Ò°Ê¸ê®Æ®w®×¨Ò¡G­Y­nÅýÀô¹ÒÅܼÆÅܧó¥Í®Ä¡A¥²¶·­«·s±Ò°Ê¸ê ®Æ®w®×¨Ò¡C 5. ¦b UNIX ¤W±N¥Ø¿ýÅÜ§ó¬° $INSTHOME/sqllib/cfg¡A¦b Windows ¤W±N¥Ø¿ýÅÜ§ó¬° %DB2PATH%/cfg¡C 6. °õ¦æ«ü¥O enable_MQFunctions ¥H¬[ºc¨Ã±Ò¥Î DB2 MQSeries ¥\¯àªº¸ê®Æ®w¡C½Ð °Ñ¾\17.6, enable_MQFunctions¡A¥H¨ú±o¦¹«ü¥Oªº§¹¾ã»¡©ú¡C¤U¦C´£¨Ñ¤@¨Ç¤@¯ë ½d¨Ò¡C ¦b¦¨¥\§¹¦¨¤§«á¡A±N±Ò¥Î«ü©wªº¸ê®Æ®w¨Ã´ú¸Õ¬[ºc¡C 7. ­Y­n¨Ï¥Î¡u©R¥O¦æ³B²z¾¹¡v´ú¸Õ³o¨Ç¥\¯à¡A½Ð¦b±z³s±µ¨ì¤w±Ò¥Îªº¸ê®Æ®w®É¡Aµo ¥X¤U¦C«ü¥O¡G values DB2MQ.MQSEND('a test') values DB2MQ.MQRECEIVE() ²Ä¤@­Ó³¯­z¦¡±N¶Ç°e°T®§ "a test" ¦Ü DB2MQ_DEFAULT_Q ¦î¦C¡A¦Ó²Ä¤G­Ó«h±N ¨ä±µ¦¬¦^¨Ó¡C µù: °õ¦æ enable_MQFunctions ªºµ²ªG¡A±N«Ø¥ß¹w³] MQSeries Àô¹Ò¡C±N«Ø¥ß MQSeries ¦î¦CºÞ²zµ{¦¡ DB2MQ_DEFAULT_MQM ¤Î¹w³]¦î¦C DB2MQ_DEFAULT_Q¡C­Y ÀÉ®× amt.xml¡Bamthost.xml ¤Î amt.dtd ¤w¤£¦s¦b©ó AMT_DATA_PATH «ü¦Vªº¥Ø ¿ý®É¡A±N«Ø¥ß³o¨ÇÀɮסC ­Y amthost.xml Àɮפ£¦s¦b¡A¥B¤£¥]§t connectionDB2MQ ªº©w¸q¡A«h·|±N¦æ·s¼W¨ì¦³¾A·í¸ê°TªºÀɮפ¤¡C­ì¨ÓªºÀɮפ§ °Æ¥»±N³QÀx¦s¬° DB2MQSAVE.amthost.xml¡C ------------------------------------------------------------------------ 17.2 MQSeries ¶Ç°T¼Ë¦¡ DB2 MQSeries ¥\¯à¤ä´©¤TºØ¶Ç°T¼Ò«¬¡G¸ê®Æ¹Ï¡Bµo§G/­q¾\ (p/s) ¤Î­n¨D/¦^ÂÐ (r/r)¡C ¥H¸ê®Æ¹Ï¨Ó¶Ç°eªº°T®§·|¶Ç°e¨ì³æ¤@¥Øªº¦a¡A¥B¤£¹w´Á¦^ÂСC ¦b p/s ¼Ò«¬¤¤¡A¤@©Î ¦h­Ó¤½¥¬ªÌ±N°T®§¶Ç°e¦Ü¤½§GªA°Èµ{¦¡¡A¤À°e°T®§¦Ü¤@©Î¦h­Ó¥Î¤á¡C ­n¨D/¦^ÂлP¸ê ®Æ¹Ï¬Û¦ü¡A¦ý¶Ç°eªÌ¹w´Á±µ¦¬¦^À³¡C ------------------------------------------------------------------------ 17.3 °T®§µ²ºc MQSeries ¥»¨­¤£·|­n¨D©Î¤ä´©¥ô¦ó¨ä¶Ç°eªº°T®§¤§¯S®íµ²ºc¡C ¨ä¥¦²£«~¦p MQSeries Integrator (MQSI)¡A´N·|´£¨Ñ¥H C¡BCOBOL ©Î XML ¦r¦ê§Î¦¨ ªº°T®§¤§¤ä´©¡C ¦b MQSI ¤¤ªºµ²ºc°T®§¬O¥Ñ°T®§Àx¦s®w©w¸q¡CXML °T®§³q±`¦³¤@­Ó¦Û ¦æ»¡©úªº°T®§µ²ºc¡A¥B¥i¯à¤]³z¹LÀx¦s®w¨ÓºÞ²z¡C°T®§¤]¥i¯à¬O¨S¦³µ²ºcªº¡A»Ý­n¨Ï ¥ÎªÌµ{¦¡½X¨Ó­åªR©Î«Øºc°T®§¤º®e¡C³oÃþ°T®§©¹©¹¬O¤£§¹¥þªºµ²ºc¡A¤]´N¬O»¡¡A¥¦­Ì ¨Ï¥Î¦ì¤¸²Õ¦ì¸m©Î©T©wªº©w¬É²Å¸¹¨Ó¤À¹j°T®§¤¤ªºÄæ¦ì¡C¡uMQSeries »²§UºëÆF¡v´£¨Ñ ³oºØ¤£§¹¥þµ²ºcªº°T®§¤§¤ä´©¡C ³z¹L¬Y¨Ç·s¥\¯à¡A±N XML °T®§¤ä´©´£¨Ñµ¹ DB2 XML ÂX¥R¤¸¡C ------------------------------------------------------------------------ 17.4 MQSeries ¥\¯à·§Æ[ MQSeries ¥\¯à¶°¥Ñ DB2 UDB ª©¥» 7.2 ´£¨Ñ¡A¥iÅý SQL ³¯­z¦¡¥]¬A¶Ç°T§@·~¡C ³oªí ¥Ü¦¹¤ä´©¥i¨Ï¥Î©ó¥H¥ô¦ó¤ä´©»y¨¥¼¶¼gªºÀ³¥Îµ{¦¡¡A¨Ò¦p¡A¨Ï¥Î¥ô¦ó¸ê®Æ®w¤¶­±ªº C ¡BJava¡BSQL¡C¤U¦CÅã¥Üªº©Ò¦³½d¨Ò§¡¦b SQL ¤¤¡C ¥i¥H¥Î©Ò¦³¼Ð·Ç¤è¦¡¡A±q¨ä¥Lµ{¦¡ ³]­p»y¨¥¨Ï¥Î¦¹ SQL¡C ¤W­zªº©Ò¦³ MQSeries ¶Ç°T¼Ë¦¡³£¤w¤ä´©¡C ¦³Ãö MQSeries ¥\¯àªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\¡uª©¥»ª`·N¨Æ¶µ¡vªº SQL Reference ¤@¸`¡C ¦b°ò¥»¬[ºc¤¤¡AMQSeries ¦øªA¾¹¬O¦ì¦b»P DB2 ¤@°_ªº¸ê®Æ®w¦øªA¾¹¾÷¾¹¤¤¡C MQSeries ¥\¯à¦w¸Ë¦b DB2¤W¡A¨Ã´£¨Ñ¹ï MQSeries ¦øªA¾¹ªº¦s¨úÅv­­¡C DB2 ±qÄݯ¸ ¥i¦ì¦b¥i¦s¨ú DB2 Server ªº¥ô¦ó¾÷¾¹¤W¡C ¦h­Ó±qÄݯ¸¥i¦P®É³z¹L¸ê®Æ®w¦s¨ú MQSeries ¥\¯à¡C ³z¹L´£¨Ñªº¥\¯à¡ADB2 ±qÄݯ¸¥i¦b SQL ³¯­z¦¡¤º°õ¦æ¶Ç°T§@·~¡C ³o¨Ç¶Ç°T§@·~¥iÅý DB2 À³¥Îµ{¦¡¦b¥¦­Ì¤§¶¡³q«H¡A©Î»P¨ä¥L MQSeries À³¥Îµ{¦¡³q «H¡C enable_MQFunctions «ü¥O¬O¥Î¨Ó±Ò¥Î MQSeries ¥\¯àªº DB2 ¸ê®Æ®w¡C ¥¦±N¦Û°Ê«Ø¥ß ²¦¡¹w³]¬[ºc¡A±qÄݯ¸À³¥Îµ{¦¡·|¨Ï¥Î¸Ó¬[ºc¡A¤£»Ý­nºÞ²z°Ê§@¡C ­Y­n¨ú±o»¡©ú¡A½Ð °Ñ¾\ enable_MQFunctions ¤Î disable_MQFunctions¡C ¹w³]¬[ºc´£¨ÑÀ³¥Îµ{¦¡³]­p®v ¤@­Ó§Ö³t±Ò°Êªº¤èªk¡A¤Î¤@­Ó§ó²©öªº¶}µo¤¶­±¡C ­Y¦³»Ý­n¡A¥i¼W¥[¬[ºc¨ä¥Lªº¥\ ¯à¡C ½d¨Ò 1¡G­Y­n¨Ï¥Î¹w³]¬[ºc¨Ó¶Ç°e²¦¡°T®§¡ASQL ³¯­z¦¡¦p¤U¡G VALUES DB2MQ.MQSEND('simple message') ³o·|±N°T®§ simple message ¶Ç°e¦Ü MQSeries ¦î¦CºÞ²zµ{¦¡¤Î¹w³]¬[ºc«ü©wªº¦î ¦C¡C MQSeries ªº¡uÀ³¥Îµ{¦¡¶Ç°T¤¶­± (AMI)¡v¡A¦b¶Ç°T¬¡°Ê¤Î«ü©w¨º¨Ç¬¡°Êªº¶Ç°e¤è¦¡¤§ ©w¸q¤§¶¡¡A´£¨Ñ²M·¡ªº¹jÂ÷¡C³o¨Ç©w¸q«O¯d¦b¥~³¡Àx¦s®wÀɮפ¤¡A¨Ã¨Ï¥Î AMI ºÞ²z¤u ¨ã¨ÓºÞ²z¡C³o¥iÅý AMI À³¥Îµ{¦¡®e©öµo®i¨ÃºûÅ@¡CDB2 ´£¨Ñªº MQSeries ¥\¯à¬O¥H AMI MQSeries ¤¶­±¬°¨Ì¾Ú¡CAMI ¤ä´©¥~³¡¬[ºcÀɪº¨Ï¥Î¡A¸ÓÀɺ٬°¡uAMI Àx¦s®w¡v¡A ¥HÀx¦s¬[ºc¸ê°T¡C ¹w³]¬[ºc¥]¬A MQSeries AMI Àx¦s®w¬[ºc¡A¥H¨Ï¥Î DB2¡C MQSeries AMI ªº¨â­Ó¥D­n·§©À¡AªA°Èµ{¦¡ÂI¤Î­ì«h¡A³QÂ໼¦Ü DB2 MQSeries ¥\¯à ¤¤¡C ªA°Èµ{¦¡ÂI¬OÅÞ¿è²×ÂI¡A§Y°T®§¥i¯à¶Ç°e©Î±µ¦¬ªºÂI¡C ¦b AMI Àx¦s®w¤¤¡A¨C¤@ ­ÓªA°Èµ{¦¡ÂI¬O¥H MQSeries ¦î¦C¦WºÙ¤Î¦î¦CºÞ²zµ{¦¡¨Ó©w¸q¡C ­ì«h©w¸qªA°Èµ{¦¡¿ï ¶µªº«~½è¡A¨äÀ³¨Ï¥Î©óµ¹©wªº¶Ç°T§@·~¡C ¥D­nªºªA°Èµ{¦¡«~½è¥]¬A°T®§Àu¥ý¶¶§Ç¤Î«ù Äò©Ê¡C ´£¨Ñ¹w³]ªA°Èµ{¦¡ÂI¤Î­ì«h©w¸q¡A¥B¥i¯à¥Ñµo®iªÌ¨Ï¥Î¡A¥H¶i¤@¨B²¤ÆÀ³¥Îµ{ ¦¡¡C ½d¨Ò 1 ¥i¥H¤U¦C¤è¦¡­«¼g¡A¥H©ú½T¦a«ü©w¹w³]ªA°Èµ{¦¡ÂI¤Î­ì«h¦WºÙ¡G ½d¨Ò 2¡G VALUES DB2MQ.MQSEND('DB2.DEFAULT.SERVICE', 'DB2.DEFAULT.POLICY', 'simple message') ¦î¦C¥i¯à¥Ñ¦øªA¾¹ªº¤@©Î¦h­ÓÀ³¥Îµ{¦¡ªA°È¡A¦Ó¦î¦C¤ÎÀ³¥Îµ{¦¡§Y±`¾n©ó¸Ó¦øªA¾¹ ¤¤¡C ¦b³\¦h¬[ºc¤¤¡A¦h­«¦î¦C±N³Q©w¸q¬°¤ä´©¤£¦PªºÀ³¥Îµ{¦¡¤Î¥Øªº¡C ¦]¬°³o­Ó²z ¥Ñ¡A¦b¶i¦æ MQSeries ­n¨D®É¡A¸g±`©w¸q¤£¦PªºªA°Èµ{¦¡ÂI¬O«Ü­«­nªº¡C ¦b¤U¦C½d¨Ò ¤¤¦³»¡©ú¡G ½d¨Ò 3¡G VALUES DB2MQ.MQSEND('ODS_Input', 'simple message') µù: ¦b¦¹½d¨Ò¤¤¡A¥¼«ü©w­ì«h¡A¦ý±N¨Ï¥Î¹w³]­ì«h¡C 17.4.1 ­­¨î MQSeries ´£¨Ñ°T®§§@·~¤Î¸ê®Æ®w§@·~ªº¯à¤O¡A¥H¦b³æ¤@¤u§@³æ¤¸¤¤µ²¦X¡A§@¬°³Q«OÅ@ ¥æ©ö¡C Unix ¤Î Windows ¤Wªº MQSeries ¥\¯à­ì¥»¤£¤ä´©¦¹¥\¯à¡C ·í¨Ï¥Î¶Ç°e©Î±µ¦¬¥\¯à®É¡A¤@­Ó°T®§ªº³Ì¤jªø«×¬O 4000 ­Ó¦r¤¸¡C ³o¤]¬O¨Ï¥Î MQPublish ¨Ó¤½¥¬°T®§ªº³Ì¤j°T®§¤j¤p¡C 17.4.2 ¿ù»~½X ±z¥i¦b¡uMQSeries À³¥Îµ{¦¡¶Ç°T¤¶­±¤â¥U¡vªºªþ¿ý B ¤¤¡A§ä¨ì MQSeries ¥\¯à¶Ç¦^ ªº¦^ÂнX¡C ------------------------------------------------------------------------ 17.5 ¥Îªk¹ê°È¤â¥U MQSeries Function ¥i¨Ï¥Î©ó¤j½d³òªº¹ê°È¤â¥U¡C ¥»¸`±N°Q½×¤@¨Ç³Ì´¶¹Mªº¹ê°È¡A¥] ¬A¡u°ò¥»¶Ç°T¡v¡B¡uÀ³¥Îµ{¦¡³s±µ¡v¤Î¡u¸ê®Æ¤½¥¬¡v¡C 17.5.1 °ò¥»¶Ç°T ·í©Ò¦³¸ê®Æ®wÀ³¥Îµ{¦¡³s±µ¨ì¬Û¦Pªº DB2 ¦øªA¾¹®É¡A·|µo¥Í MQSeries DB2 ¥\¯àªº°T ®§¤§³Ì°ò¥»§Î¦¡¡C±qÄݯ¸¥i¯à¬O¸ê®Æ®w¦øªA¾¹ªº¥»ºÝ©Î¤À´²¦bºô¸ôÀô¹Ò¤¤¡C ¦b²¦¡¹ê°È½d¨Ò¤¤¡A±qÄݯ¸ A ©I¥s MQSEND ¥\¯à¡A¶Ç°e¨Ï¥ÎªÌ©w¸q¦Ü¹w³]ªA°Èµ{¦¡¦ì ¸m¡C MQSeries ¥\¯àÀH«á·|¦b¸ê®Æ®w¦øªA¾¹ªº DB2 ¤º°õ¦æ¡C µy«á¡A±qÄݯ¸ B ©I¥s MQRECEIVE ¥\¯à¡A²¾°£¹w³]ªA°Èµ{¦¡©w¸qªº¦î¦C¤¤¤§³Ì¦­°O¸ü°O¿ýªº°T®§¡A¨Ã±N¨ä¶Ç ¦^±qÄݯ¸¡C ¦P¼Ëªº¡A°õ¦æ¦¹§@·~ªº MQSeries ¥\¯à¥Ñ DB2 °õ¦æ¡C ¸ê®Æ®w±qÄݯ¸¥i¥H¥Î³\¦h¤è¦¡¨Ó¨Ï¥Î²¦¡¶Ç°T¡C¶Ç°Tªº¬Y¨Ç¤@¯ë¥Îªk¦p¤U¡G * ¸ê®Æ¦¬¶° -- ¥H¨Ó¦Û¤@©Î¦h­Ó¥i¯à¤£¦Pªº¸ê°T¨Ó·½¤§§Î¦¡±µ¦¬¸ê°T¡C ¸ê°T¨Ó·½ ¥i¯à¬O°Ó·~À³¥Îµ{¦¡¦p SAP¡A©Î²Õ´¤º³¡µo®iªºÀ³¥Îµ{¦¡¡C ³oÃþ¸ê®Æ¥i±q¦î¦C ±µ¦¬¡A¨ÃÀx¦s¦b¸ê®Æ®wªí®æ¤¤¡A¥H¨Ñ¶i¤@¨Bªº³B²z©Î¤ÀªR¡C * ¤u§@­t²ü¤À°e -- ¤u§@­n¨D¤½¥¬©ó¦î¦C¡A¥Ñ¬Û¦PÀ³¥Îµ{¦¡ªº¦h­Ó®×¨Ò¦@¥Î¡C ·í ®×¨Ò³Æ§´°õ¦æ¤@¨Ç¤u§@®É¡A¥¦·|±q¦î¦C³»ºÝ±µ¦¬¨ì°T®§¡A¥]§t­n°õ¦æªº¤u§@­n ¨D¡C ¨Ï¥Î¦¹§Þ³N¡A¦h­Ó®×¨Ò¥i¥H¦@¥ÎÀx¦s­n¨D¤§³æ¤@¦î¦C©Ò¥Nªíªº¤u§@­t²ü¡C * À³¥Îµ{¦¡«H¸¹ -- ¦b´X­Óµ{§Ç¦X§@ªº±¡ªp¤¤¡A°T®§³q±`¥Î¨Ó¨ó½Õ¨ä¦¨ªG¡C ³o¨Ç °T®§¥i¯à¥]§t¤u§@­n°õ¦æªº«ü¥O©Î­n¨D¡C ³q±`¡A³oºØ«H¸¹¬O³æ¦Vªº¡F¤]´N¬O »¡¡A°_©l°T®§ªº¤@¤è¨Ã¤£¹w´Á¦^À³¡C ½Ð°Ñ¾\17.5.4.1, Request/Reply ³q«H¡A ¥H¨ú±o¸Ô²Ó¸ê°T¡C * À³¥Îµ{¦¡³qª¾ -- ³qª¾»P«H¸¹Ãþ¦ü¡A¸ê®Æ±qªì©lµ{¦¡¶Ç°e¥X¡A¥B¤£¹w´Á¦^À³¡C ¦ý¬O¡A³qª¾³q±`¥]§tÃö©ó¤wµo¥Í¤§·~°È¨Æ¥óªº¸ê®Æ¡C 17.5.4.2, µo§G/­q¾\ ¬O ³qª¾ªº§ó¶i¶¥¤§§Î¦¡¡C ¤U¦C¹ê°È½d¨ÒÂX¥R¤F¤W­z»¡©úªºÂ²¦¡¹ê°È½d¨Ò¡A¥H¯Ç¤J»·ºÝ¶Ç°T¡C ¤]´N¬O»¡¡A°T®§¦b ¾÷¾¹ A »P¾÷¾¹ B ¤§¶¡¶Ç°e¡C ¨BÆJ¶¶§Ç¦p¤U¡G 1. DB2 ±qÄݯ¸°õ¦æ MQSEND ©I¥s¡A«ü©w¤w©w¸qªº¥Ø¼ÐªA°Èµ{¦¡¡A¥H¥Nªí¾÷¾¹ B ªº »·ºÝ¦î¦C¡C 2. MQSeries DB2 ¥\¯à°õ¦æ¹ê»Úªº MQSeries §@·~¥H¶Ç°e°T®§¡C ¦b¾÷¾¹ A ¤Wªº MQSeries ¦øªA¾¹±µ¨ü°T®§¤Î«OÃÒ¡A±N¨ä¶Ç°e¦ÜªA°Èµ{¦¡ÂI©w¸q¤Î¾÷¾¹ A ªº²{¦æ MQSeries ¬[ºc©Ò©w¸qªº¥Øªº¦a¡C ¦øªA¾¹¨M©w³o¬O¾÷¾¹ B ¤Wªº¦î¦C¡C µM«á¥¦·| ¹Á¸Õ±N°T®§¶Ç°e¦Ü¾÷¾¹ B ªº MQSeries ¦øªA¾¹¡A¨Ã¦b»Ý­n®É³z³q¦a­«¸Õ¡C 3. ¾÷¾¹ B ¤Wªº MQSeries ¦øªA¾¹±µ¦¬¨Ó¦Û¾÷¾¹ A ¤§¦øªA¾¹ªº°T®§¡A¨Ã±N¨ä©ñ¸m¦b ¾÷¾¹ B ªº¥Øªº¦a¦î¦C¡C 4. ¾÷¾¹ B ¤Wªº MQSeries ±qÄݯ¸­n¨D¦î¦Cªº³Ì¦­°O¸ü°O¿ý¤§°T®§¡C 17.5.2 ¶Ç°e°T®§ ¨Ï¥Î MQSEND¡ADB2 ¨Ï¥ÎªÌ©Îµo®iªÌ¥i¿ï¾Ü­n¶Ç°eªº¸ê®Æ¡A­n¶Ç°eªº¦ì¸m¡A¤Î­n¶Ç°eªº ®É¶¡¡C ¦b·~¬É¤¤¡A³o³q±`¥s°µ "Send and Forget"¡Aªí¥Ü¶Ç°eªÌ¥u­n¶Ç°e°T®§¡A¦Ó¨Ì ¾Ú MQSeries ªº»¼°e³q«H¨ó©w«OÃÒ¡A½T«O°T®§¥i¨ì¹F¥Øªº¦a¡C ¤U¦C½d¨Ò·|¹ï¦¹§@»¡ ©ú¡C ½d¨Ò 4¡G­Y­n¥H­ì«h highPriority ¨Ó±N¨Ï¥ÎªÌ©w¸q¦r¦ê¶Ç°e¦ÜªA°Èµ{¦¡ÂI myplace¡G VALUES DB2MQ.MQSEND('myplace','highPriority','test') ¦b³o¸Ì¡A­ì«h highPriority °Ñ·Ó AMI Àx¦s®w©Ò©w¸qªº­ì«h¡A±N MQSeries Àu¥ý¶¶§Ç ³]©w¬°³Ì°ª¼h¦¸¡A ¤]¥i¯à½Õ¾ã¨ä¥LªA°Èµ{¦¡ªº«~½è¡A¨Ò¦p«ùÄò©Ê¡C °T®§¤º®e¥i¯à¥Ñ SQL ªº¥ô¦ó¼Ð·Ç¤Ø¤o²Õ¦X¤Î¨Ï¥ÎªÌ«ü©wªº¸ê®Æ²Õ¦X¦Ó¦¨¡C ³o¥]¬A±_ ª¬¥\¯à¡B¹Bºâ¤l¤Î±j¨îÂ૬¡C ¨Ò¦p¡A´£¨Ñ¤@ªí®æ EMPLOYEE¡A¦³ VARCHAR ª½Äæ LASTNAME¡BFIRSTNAME ¤Î DEPARTMENT¡A°w¹ï¨C¤@­Ó DEPARTMENT 5LGA ¤¤ªº­û¤u¶Ç°e ¥]§t¦¹¸ê°T¤§°T®§¡A±z¥i°õ¦æ¤U¦C¡G ½d¨Ò 5¡G SELECT DB2MQ.MQSEND(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' ­Y¦¹ªí®æ¤]¦³¤@­Ó§¹¾ãªº AGE ª½Äæ¡A¥¦¥i¯à¤]·|³Q¨Ö¤J¡A¦p¤U©Ò¥Ü¡G ½d¨Ò 6¡G SELECT DB2MQ.MQSEND(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' || ch ar(AGE)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' ³Ì«á¡A¤U¦C½d¨ÒÅã¥Ü¦p¦ó¨Ï¥Î¥ô¦ó¦³®Äªº SQL ªí¥Ü¦¡¨Ó­l¥Í°T®§¤º®e¡C ´£¨Ñ²Ä¤G­Ó ªí®æ DEPT¡A¨ä¥]§t VARCHAR ª½Äæ DEPT_NO ¤Î DEPT_NAME¡A¥i¶Ç°e¥]§t­û¤u LASTNAME ¤Î DEPT_NAME ªº°T®§¡G ½d¨Ò 7¡G SELECT DB2MQ.MQSEND(e.LASTNAME || ' ' || d.DEPTNAME) FROM EMPLOYEE e, DEPT d WHERE e.DEPARTMENT = d.DEPTNAME 17.5.3 Â^¨ú°T®§ MQSeries DB2 ¥\¯à¥i±µ¦¬©ÎŪ¨ú°T®§¡C Ū¨ú»P±µ¦¬¤§¶¡ªº¤£¦P³B¡A¦b©óŪ¨ú¶Ç¦^¦î ¦C¤§³Ì¦­°O¸ü°O¿ýªº°T®§¡A¤£»Ý±q¦î¦C²¾°£¡A¦Ó±µ¦¬§@·~·|¨Ï°T®§±q¦î¦C²¾°£¡C ¨Ï¥Î ±µ¦¬§@·~¨ÓÂ^¨úªº°T®§¡A¶È¥i¥HÂ^¨ú¤@¦¸¡A¦Ó¨Ï¥ÎŪ¨ú§@·~¨ÓÂ^¨úªº°T®§¡A¥i¦h¦¸Â^ ¨ú¬Û¦P°T®§¡C ¤U¦C½d¨Ò·|¹ï¦¹§@»¡©ú¡G ½d¨Ò 8¡G VALUES DB2MQ.MQREAD() ¦¹½d¨Ò¨Ï¥ÎªA°Èµ{¦¡­ì«hªº¹w³]«~½è¡A¶Ç¦^ VARCHAR ¦r¦ê¡A¸Ó¦r¦ê¥]§t¹w³]ªA°Èµ{¦¡ ©w¸qªº¦î¦C¤§³Ì¦­°O¸ü°O¿ýªº°T®§¡C ­«­n¨Æ¶µ¡G½Ðª`·N­Y¨S¦³¥i¨ÑŪ¨úªº°T®§¡A±N¶Ç ¦^¤@­Ó NULL ­È¡C ¦¹§@·~¤£·|Åܧó¦î¦C¡C ½d¨Ò 9¡G VALUES DB2MQ.MQRECEIVE('Employee_Changes') ¤W­z½d¨ÒÅã¥Ü¦p¦ó¨Ï¥Î¹w³]­ì«h¡A±N°T®§±q Employee_Changes ªA°Èµ{¦¡©w¸qªº¦î¦C ¤§³Ì¦­°O¸ü°O¿ý²¾°£¡C DB2 ªº¤@­Ó«D±`¦³¤Oªº¥\¯à¡A¬O±q¨Ï¥ÎªÌ©w¸q (©Î DB2 ´£¨Ñªº) ¥\¯à¡A²£¥Íªí®æªº¯à ¤O¡C ±z¥i¥H¶}µo¦¹ªí®æ¥\¯à¡AÅý¦î¦C¤º®e¥i§@¬° DB2 ªí®æ¡C ¤U¦C½d¨Ò»¡©ú³o­Ó³Ì² ©öªº§Î¦¡¡G ½d¨Ò 10¡G SELECT t.* FROM table ( DB2MQ.MQREADALL()) t ¦¹¬d¸ß¶Ç¦^¤@ªí®æ¡A¥Ñ©Ò¦³¹w³]ªA°Èµ{¦¡©w¸q¤§¦î¦Cªº©Ò¦³°T®§¤Î¦³Ãö³o¨Ç°T®§ªº´y ­z¸ê®Æ©Ò²Õ¦¨¡C ·í¶Ç¦^ªºªí®æµ²ºc¤§§¹¾ã©w¸q¬O©w¸q©óªþ¿ý¤¤¡A«h²Ä¤@ª½Äæ·|¤Ï¬M°T ®§¤º®e¡A¨ä¾lª½Äæ«h¥]§t´y­z¸ê®Æ¡C ­Y¥u­n¶Ç¦^°T®§¡A¥i­«·s¼¶¼g½d¨Ò¡G ½d¨Ò 11¡G SELECT t.MSG FROM table (DB2MQ.MQREADALL()) t ªí®æ¥\¯à¶Ç¦^ªºªí®æ»P¸ê®Æ®wª½±µÂ^¨úªºªí®æ¬Û¦P¡C ³oªí¥Ü±z¥i¥H¥Î¼sªxªº¤èªk¨Ï¥Î ¦¹ªí®æ¡C ¨Ò¦p¡A±z¥i¥Hµ²¦X¤@ªí®æ»P¥t¤@ªí®æªº¤º®e¡A©Î­pºâ¦î¦C¤¤ªº°T®§¼Æ¶q¡G ½d¨Ò 12¡G SELECT t.MSG, e.LASTNAME FROM table (DB2MQ.MQREADALL() ) t, EMPLOYEE e WHERE t.MSG = e.LASTNAME ½d¨Ò 13¡G SELECT COUNT(*) FROM table (DB2MQ.MQREADALL()) t ±z¥i¥H³z¹Lªí®æ¥\¯à¨Ó«Ø¥ß·§²¤ªí¡A¥HÁôÂêí®æ¨Ó·½¬O¦î¦Cªº¨Æ¹ê¡C ¨Ò¦p¡A¤U¦C½d¨Ò ³z¹LªA°Èµ{¦¡ NEW_EMPLOYEES ©Ò°Ñ·Óªº¦î¦C¡A¨Ó«Ø¥ß¦W¬° NEW_EMP ªº·§²¤ªí¡G ½d¨Ò 14¡G CREATE VIEW NEW_EMP (msg) AS SELECT t.msg FROM table (DB2MQ.MQREADALL()) t ¦b¦¹®×¨Ò¤¤¡A·§²¤ªí¶È¥H¥]§t¾ã­Ó°T®§ªº³æ¤@ª½Äæ¨Ó©w¸q¡C ­Y°T®§¬O²¦¡ªº¬[ºc¡A¨Ò ¦p¥]§t©T©wªø«×ªº¨â­ÓÄæ¦ì¡A «h¥¦·|ª½±µ¦V«e¥H¨Ï¥Î DB2 ¤º«Ø¥\¯à¡A±N°T®§­åªR¦Ü ¨âª½Ä椤¡C ¨Ò¦p¡A­Y±zª¾¹D¶Ç°e¦Ü¯S®í¦î¦Cªº°T®§³£¥]§t¤@­Ó 18 ¦ì¤¸ªº©m¤ó¡A¨ä«á «h¬O¤@­Ó 18 ¦ì¤¸ªº¦W¦r¡A«h±z¥i¥H©w¸q¤@­Ó·§²¤ªí¡A¥]§t¨C¤@­Ó­Ó§Oª½Ä檺Äæ¦ì¡A ¨Ò¦p¡G ½d¨Ò 15¡G CREATE VIEW NEW_EMP2 AS SELECT left(t.msg,18) AS LNAME, right(t.msg,18) AS FNAME FROM table(DB2MQ.MQREADALL()) t ¡uDB2 Àx¦sµ{§Ç«Ø¸m¾¹¡vªº·s¯S©Ê¡uMQSeries »²§UºëÆF¡v¡A¥i¥Î¨Ó«Ø¥ß·sªº DB2 ªí ®æ¥\¯à¤Î·§²¤ªí¡A¨ä±N¦³©w¬É²Å¸¹ªº°T®§µ²ºc¹ï¬M¦Üª½Äæ¡C ³Ì«á¡A³q±`­n±N¤@©Î¦h­Ó°T®§¤º®eÀx¦s¦b¸ê®Æ®w¤¤¡C ³o¥i¨Ï¥Î SQL ªº§¹¾ã¥\¯à¨Ó§¹ ¦¨¡A¥H¾Þ§@¨ÃÀx¦s°T®§¤º®e¡C ³Ì²©öªº½d¨Ò¥i¯à¬O¡G ½d¨Ò 16¡G INSERT INTO MESSAGES SELECT t.msg FROM table (DB2MQ.MQRECEIVEALL()) t ´£¨Ñ¥]§t VARCHAR(2000) ³æ¤@ª½Ä檺ªí®æ MESSAGES¡A¤W­zªº³¯­z¦¡·|±q¹w³]ªA°Èµ{ ¦¡¦î¦C¡A±N°T®§´¡¤Jªí®æ¤¤¡C ¥i­×¹¢¦¹§Þ³N¡A¥H²[»\±¡ªpªº¼sªxºØÃþ¡C 17.5.4 À³¥Îµ{¦¡¹ïÀ³¥Îµ{¦¡³s±µ À³¥Îµ{¦¡¾ã¦X¬O³\¦h¸Ñ¨M¤è®×ªº¤@¯ë¤¸¯À¡C ¤£½×±NÁʶRªºÀ³¥Îµ{¦¡¾ã¦X¨ì²{¦sªº°ò¦ ¬[ºc¤¤¡A©Î¥u±N·s¶}µoªºÀ³¥Îµ{¦¡¾ã¦X¨ì²{¦sÀô¹Ò¤¤¡A§Ú­Ì³q±`·|­±¹ï¶°¤¤¤l¨t²Î¤§ ¤£¦P¶°¦Xªº§@·~¡A¥Hºc¦¨§¹¾ãªº¤u§@¡C MQSeries ³q±`³Qµø¬°¾ã¦XÀ³¥Îµ{¦¡ªº°ò¥»¤u ¨ã¡C ¥i¦b¤j³¡¥÷µwÅé¡B³nÅé¤Î»y¨¥Àô¹Ò¤¤¦s¨ú¡AMQSeries ´£¨Ñ¥æ¤¬³s±µÀ³¥Îµ{¦¡ªº ¤£¦P¶°¦X¤§¤èªk¡C ¦¹¸`±N°Q½×³¡¥÷À³¥Îµ{¦¡¾ã¦X¹ê°È¤Î¦p¦ó¥H DB2 ¨Ó¨Ï¥Î¥¦­Ì¡C ¦]¬°¥DÃD¬Û·í¼sªx¡A ¡uÀ³¥Îµ{¦¡¾ã¦X¡vªº¼sªx°Q½×¶W¶V¤F¦¹¤u§@ªº½d³ò¡C ¦]¦¹¡A­«ÂI¶È¦b¨â­Ó²³æªº¥D ÃD¡GRequest/Reply ³q«H¡A¤Î MQSeries Integrator ¤Î Publish/Subscribe¡C 17.5.4.1 Request/Reply ³q«H ¡uRequest/Reply (R/R)¡v³q«H¤èªk¬O³Ì´¶¹Mªº§Þ³N¡A¤@­ÓÀ³¥Îµ{¦¡¥i¦V¥t¤@­ÓÀ³¥Îµ{ ¦¡­n¨DªA°È¡C °õ¦æ¦¹°Ê§@ªº¨ä¤¤¤@ºØ¤èªk¡A¬OÅý­n¨Dµ{¦¡±N°T®§¶Ç°e¦Ü­n¨D°õ¦æ¬Y¨Ç ¤u§@ªºªA°È´£¨Ñµ{¦¡¡C¤@¥¹¤u§@¤w§¹¦¨¡A¨ÑÀ³µ{¦¡¥i¨M©w±Nµ²ªG (©Î§¹¦¨½T»{) ¶Ç¦^ ­n¨D¾¹¡C ¦ý¨Ï¥Î¤W­zªº°ò¥»¶Ç°T§Þ³N¡A´N¤£¯à³s±µ¶Ç°eªÌ­n¨D»PªA°È´£¨Ñµ{¦¡¦^À³¡C °£«D­n¨Dµ{¦¡¦bÄ~Äò°õ¦æ¤§«e¡A¥ýµ¥«Ý¦^ÂСA§_«h¬Y¨Ç¾÷¨î¥²¶·¥Î¨Óµ²¦X¨C¤@­Ó¦^ÂÐ ¤Î¨ä­n¨D¡CMQSeries ¤£±j¨îµo®iµ{¦¡«Ø¥ß³oÃþ¾÷¨î¡A¦Ó¬O´£¨Ñ¤@­Ó¬ÛÃö ID¡A¨Ï¥æ´« ³Bªº°T®§¦³¬ÛÃö©Ê¡C ·í¦³³\¦h¤èªk¥i¨Ñ¦¹¾÷¨î¨Ï¥Î®É¡A³Ì²©öªº¤èªk¬OÅý­n¨D¾¹¥Î¤wª¾ªº¬ÛÃö ID ¨Ó¼Ð¥Ü °T®§¡A¨Ò¦p¤U¦C©Ò¥Ü¡G ½d¨Ò 17¡G DB2MQ.MQSEND ('myRequester','myPolicy','SendStatus:cust1','Req1') ¦¹³¯­z¦¡±N³Ì²×°Ñ¼Æ Req1 ·s¼W¦Ü¤W­zªº MQSEND ³¯­z¦¡¤¤¡A¥H«ü¥X­n¨Dªº¬ÛÃö ID¡C ­Y­n±µ¦¬¦¹¯S©w­n¨Dªº¦^ÂСA¥i¨Ï¥Î¬Û¹ïÀ³ªº MQRECREIVE ³¯­z¦¡¡A¿ï¾Ü©Ê¦a±µ¦¬«ü ¥ÜªºªA°Èµ{¦¡©Ò©w¸qªº²Ä¤@­Ó°T®§¡A¨ä»P¤U¦C¬ÛÃö ID ¬Û²Å¡G ½d¨Ò 18¡G DB2MQ.MQRECEIVE('myReceiver','myPolicy','Req1') ­YªA°È­n¨DªºÀ³¥Îµ{¦¡¦£½u¤¤¡A¥B­n¨D¾¹¦b¦^Âжǰe¤§«e¡Aµo¥X¤W­zªº MQRECEIVE¡A «h±N§ä¤£¨ì»P¬ÛÃö ID ²Å¦Xªº°T®§¡C ­Y­n±µ¦¬ªA°Èµ{¦¡­n¨D¤Î¬ÛÃö ID¡A¨Ï¥Î¤U¦Cªº³¯­z¦¡¡G ½d¨Ò 19¡G SELECT msg, correlid FROM table (DB2MQ.MQRECEIVEALL('aServiceProvider','myPolicy',1)) t ³o·|¶Ç¦^ªA°Èµ{¦¡ aServiceProvider ªº²Ä¤@­Ó­n¨D¤§°T®§¤Î¬ÛÃö ID¡C ¤@¥¹°õ¦æ¤FªA°Èµ{¦¡¡A¥¦·|±N¦^ÂаT®§¶Ç°eµ¹ aReauester »¡©úªº¦î¦C¡C ¦b³o´Á¶¡¡A ªA°È­n¨Dµ{¦¡¤´·|°õ¦æ¨ä¥L§@·~¡C ¨Æ¹ê¤W¡A¨Ã¤£«OÃÒ°_©lªA°Èµ{¦¡­n¨D·|¦b³]©w®É¶¡ ¤º¦^À³¡C ¦p¦P³oÃþªºÀ³¥Îµ{¦¡¼h¦¸¹O®É¡A¥²¶·¥Ñµo®iµ{¦¡¨ÓºÞ²z¡F­n¨Dµ{¦¡¥²¶·½ü¸ß °»´ú¦^ÂЪº±¡ªp¡C ³oºØ®É¶¡¿W¥ß«D¦P¨B³B²zªºÀuÂI¡A¬O­n¨Dµ{¦¡¤ÎªA°È¨ÑÀ³µ{¦¡¬O§¹¥þ¿W¥ß¦a°õ¦æ¡C ³o ¥i¥Î©ó¾A¦XªºÀô¹Ò¡AÀ³¥Îµ{¦¡¶È·|Â_Äò¦a³s±µ¡A¤]¥i¥Î©ó§ó§å¦¸¾É¦VªºÀô¹Ò¡A¦h­«­n ¨D©Î¦^Âз|¦b³B²zµ{§Ç«e¥ý»E¶°°_¨Ó¡C ³oºØ¶°¦XÅé³q±`¥Î©ó¸ê®Æ­ÜÀxÀô¹Ò¡A¥H©w´Á¦a §ó·s¸ê®Æ­ÜÀx©Î§@·~¸ê®ÆÀx¦s¡C 17.5.4.2 µo§G/­q¾\ ²¦¡¸ê®Æ¥Xª©«~ À³¥Îµ{¦¡¾ã¦X¤¤ªº¥t¤@­Ó¤@¯ë¹ê°È½d¨Ò¡A¬O¤@À³¥Îµ{¦¡³qª¾¨ä¥LÀ³¥Îµ{¦¡¦³Ãö¿³½ìªº ¨Æ¥ó¡C ±z¥i®e©ö¦a±N°T®§¶Ç°e¨ì¦î¦C¡A¸Ó¦î¦C¥Ñ¥t¤@­ÓÀ³¥Îµ{¦¡ºÊ·þ¡C °T®§¤º®e¥i ¥H¬O¨Ï¥ÎªÌ©w¸q¦r¦ê¡A©Î¥i¥H±q¸ê®Æ®wª½Äæ¨Ó¼¶¼g¡C ²¦¡°T®§©¹©¹¬O»Ý­n¨Ï¥Î MQSEND ¥\¯à¨Ó¶Ç°eªº°T®§¡C ·í³oÃþ°T®§»Ý­n¦P®É¶Ç°e¨ì¦h­Ó±µ¦¬ªÌ®É¡A¥i¥H¨Ï¥Î MQSeries AMI ªº¡u¤À°e²M³æ¡v¾÷¯à¡C ¤À°e²M³æ¬O¨Ï¥Î AMI ºÞ²z¤u¨ã¨Ó©w¸q¡C¤À°e²M³æ¥]§t­Ó§OªA°Èµ{¦¡ªº²M³æ¡C ¶Ç°e¨ì ¤À°e²M³æªº°T®§¡A·|Â໼¨ì¦¹²M³æ¤¤©Ò©w¸qªº¨C¤@­ÓªA°Èµ{¦¡¡C ·í¤wª¾¤@¨ÇªA°Èµ{¦¡ ¤@ª½¹ï¨C­Ó°T®§¦³¿³½ì®É¡A³o¬O¯S§O¦³¥Îªº¥\¯à¡C ¤U¦C½d¨ÒÅã¥Ü¶Ç°e°T®§¦Ü¤À°e²M³æ interestedParties¡G ½d¨Ò 20¡G DB2MQ.MQSEND('interestedParties','information of general interest'); ·í¯S®íªA°Èµ{¦¡À³±µ¦¬ªº°T®§»Ý­n§ó¦h±±¨î®É¡A«h»Ý­n Publish/Subscribe ¯à¤O¡C Publish/Subscribe ¨t²Î³q±`´£¨Ñ¤@­Ó¥i½Õ¾ãªº¡B¦w¥þªºÀô¹Ò¡A³\¦h­q¤á¥i¦b¨ä¤¤µn °O¡A¥H±q¦h­Ó¤½¥¬ªÌ±µ¦¬°T®§¡C ­Y­n¤ä´©¦¹¯à¤O¡A¥i¨Ï¥Î MQPublish ¤¶­±¡A»P MQSeries Integrator ©Î MQ Series Publish/Subscribe ¾÷¯à³s±µ¡C MQPublish ¥iÅý¨Ï¥ÎªÌ¿ï¥Î©Ê¦a«ü©w»P°T®§¬ÛÃöªº¥DÃD¡C ¥DÃD¥iÅý¥Î¤á§ó²M·¡¦a«ü©w ­n±µ¨üªº°T®§¡C ¨BÆJ¶¶§Ç¦p¤U¡G 1. MQSeries ºÞ²zªÌ¬[ºc MQSeries Integrator µo§G/­q¾\¥\¯à¡C 2. ·P¿³½ìªºÀ³¥Îµ{¦¡¦b MQSI ¬[ºc©Ò©w¸qªº­q¾\ÂI­q¾\¡A¿ï¥Î©Ê¦a«ü©w¨ä¦³¿³½ìªº ¥DÃD¡C ¨C¤@­Ó¥Î¤á¿ï¨ú¬ÛÃöªº¥DÃD¡A¨Ã¥i¥H§Q¥Î MQSeries Integrator V2 ¤§ ¥H¤º®e¬°°ò¦ªº­q¾\§Þ³N¡C ­«­n¨Æ¶µ¡G½Ðª`·N¡AªA°Èµ{¦¡¦WºÙ¥Nªíªº¦î¦C¦³©w ¸q¥Î¤á¡C 3. DB2 À³¥Îµ{¦¡¤½¥¬ªA°Èµ{¦¡ÂI Weather ªº°T®§¡C °T®§«ü¥X¤Ñ®ð¬O Sleet¡A¥B¨ä ¥DÃD¬° Austin¡A¦]¦¹³qª¾¦³¿³½ìªº¥Î¤á¡A§iª¾ Austin ªº¤Ñ®ð¬O Sleet¡C 4. ¹ê»Ú¤½¥¬°T®§ªº¾÷¨î¬O¥Ñ DB2 ´£¨Ñªº MQSeries ¥\¯à¨Ó³B²z¡C ¨Ï¥ÎªA°Èµ{¦¡¦W ºÙ Weather¡A±N°T®§¶Ç°e¦Ü MQSeries Integrator¡C 5. MQSI ±q Weather ªA°Èµ{¦¡±µ¨ü°T®§¡A°õ¦æ MQSI ¬[ºc©w¸qªº¥ô¦ó³B²zµ{§Ç¡A ¨Ã¨M©w¨äº¡·Nªº­qÁÊ¡CµM«á MQSI ·|±N°T®§Â໼¦Ü¨ä²Å¦Xªº·Ç«h¤§¥Î¤á¦î¦C¡C 6. ¤w­q¾\ Weather ªA°Èµ{¦¡¡A¨Ã¦b Austin µn°O³ß¦nªºÀ³¥Îµ{¦¡¡A±N¦b±µ¦¬ªA°È µ{¦¡¤¤±µ¦¬¨ì°T®§ Sleet¡C ­Y­n¨Ï¥Î©Ò¦³¹w³]­È¤Î NULL ¥DÃD¨Ó¤½¥¬¦¹¸ê®Æ¡A±z¥i¨Ï¥Î¤U¦C³¯­z¦¡¡G ½d¨Ò 21¡G SELECT DB2MQ.MQPUBLISH(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' ||cha r(AGE)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' §¹¾ãªº«ü©w©Ò¦³°Ñ¼Æ¨Ã²¤Æ°T®§¡A¨Ï¨ä¶È¥]§t LASTNAME¡A³¯­z¦¡¥i¯à¦p¤U©Ò¥Ü¡G ½d¨Ò 22¡G SELECT DB2MQ.MQPUBLISH('HR_INFO_PUB', 'SPECIAL_POLICY', LASTNAME, 'ALL_EMP:5LGA', 'MANAGER') FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' ¦¹³¯­z¦¡¨Ï¥Î SPECIAL_POLICY ªA°Èµ{¦¡¡A±N°T®§¤½¥¬¦Ü HR_INFO_PUB ¤½§GªA°Èµ{¦¡ ¤¤¡C °T®§«ü¥X¶Ç°eªÌ¬O MANAGER ¥DÃD¡C ¥DÃD¦r¦ê»¡©ú¥i«ü©w¨Ï¥Î¡u¡G¡v³s±µªº¦h­« ¥DÃD¡C ¦b¦¹½d¨Ò¤¤¡A¨Ï¥Î³o¨â­Ó¥DÃD¥iÅý¥Î¤áµn°O ALL_EMP ©Î¥uµn°O 5LGA¡A¥H±µ¦¬ ³o¨Ç°T®§¡C ­Y­n±µ¦¬¤½¥¬ªº°T®§¡A±z¥²¶·¥ý±N±zªº³ß¦nµn°O¦b°T®§¤¤¡A °T®§¥]§tµ¹©wªº¥DÃD¨Ã«ü ¥X°T®§À³¸Ó¶Ç°eªº¥Î¤áªA°Èµ{¦¡¤§¦WºÙ¡C ­«­n¨Æ¶µ¡G½Ðª`·N AMI ¥Î¤áªA°Èµ{¦¡¦³©w ¸q¤À°tºÞ²z¨t²ÎªA°Èµ{¦¡¤Î±µ¦¬ªÌªA°Èµ{¦¡¡C ¤À°tºÞ²z¨t²ÎªA°Èµ{¦¡¬O¥Î¤á»Pµo¥¬/ ­q¾\¤À°tºÞ²z¨t²Î³q«Hªº¤è¦¡¡A ¦Ó±µ¦¬ªÌªA°Èµ{¦¡¬O²Å¦X­q¾\­n¨D±N¶Ç°eªº¦a¤è¡C 7 ¤U¦C³¯­z¦¡¦b¥DÃD ALL_EMP ¤¤µn°O³ß¦n¡C ½d¨Ò 23¡G DB2MQ.MQSUBSCRIBE('aSubscriber', 'ALL_EMP') ¤@¥¹­q¾\¤FÀ³¥Îµ{¦¡¡A¥H¥DÃD ALL_EMP ¤½¥¬ªº°T®§¡A±NÂ໼¨ì¥Î¤áªA°Èµ{¦¡©Ò©w¸qªº ±µ¦¬ªÌªA°Èµ{¦¡¤¤¡C ¤@­ÓÀ³¥Îµ{¦¡¥i¥H¦³¦h­«ªº¨Ã¦æ­q¾\¡C­Y­n¨ú±o²Å¦X±zªº­q¾\ªº °T®§¡A±z¥i¥H¨Ï¥Î¥ô¦ó¼Ð·Çªº°T®§Â^¨ú¥\¯à¡C¨Ò¦p¡A­Y¥Î¤áªA°Èµ{¦¡ aSubscriber ±N ±µ¦¬ªÌªA°Èµ{¦¡©w¸q¬° aSubscriberReceiver¡A¦Ó«D¤U¦C³¯­z¦¡¡A«h±N·|«D¯}Ãa©Ê¦a Ū¨ú²Ä¤@­Ó°T®§¡G ½d¨Ò 24¡G DB2MQ.MQREAD('aSubscriberReceiver') ­Y­n¨M©w¥H¤U­n¤½¥¬ªº°T®§»P¥DÃD¡A±z¥i¥H¨Ï¥Î¨ä¤¤¤@ºØªí®æ¥\¯à¡C ¤U¦C³¯­z¦¡·|±µ ¦¬ aSubscriberReceiver ªº«e¤­­Ó°T®§¡A¨ÃÅã¥Ü°T®§»P¥DÃD¡G ½d¨Ò 25¡G SELECT t.msg, t.topic FROM table (DB2MQ.MQRECEIVEALL('aSubscriberReceiver',5)) t ­Y­n¥H¥DÃD ALL_EMP ¨ÓŪ¨ú©Ò¦³°T®§¡A±z¥i¥H¼vÅT SQL ªº¯à¤O¡A½Ðµo¥X¡G ½d¨Ò 26¡G SELECT t.msg FROM table (DB2MQ.MQREADALL('aSubscriberReceiver')) t WHERE t.topic = 'ALL_EMP' µù: ­«­nªº¬O±z¥²¶·²á¸Ñ­Y MQRECEIVEALL ¨Ï¥Î­­¨î¡A¦Ó«D¨Ï¥Î¾ã­Ó¦î¦C¡A «h¨Ã«D ¥u¦³¨º¨Ç°T®§·|¤½¥¬¥DÃD ALL_EMP¡C ³o¬O¦]¬°°õ¦æªí®æ¥\¯à«á¡A¤~¤Þ¥Î­­¨î¡C ·í±z¤£¦A¦³¿³½ì­q¾\¯S®í¥DÃD®É¡A±z¥²¶·¨Ï¥Î³¯­z¦¡¡A©ú½T¦a¨ú®ø­q¾\¡A¨Ò¦p¡G ½d¨Ò 27¡G DB2MQ.MQUNSUBSCRIBE('aSubscriber', 'ALL_EMP') ¤@¥¹µo¥X¦¹³¯­z¦¡¡Aµo§G/­q¾\¤À°tºÞ²z¨t²Î±N¤£¦A¶Ç°e²Å¦X­q¾\ªº°T®§¡C ¦Û°Ê¤Æ¤½§G ¸ê®Æ®w¶Ç°Tªº¥t¤@­Ó­«­n§Þ³N¬O¦Û°Ê¤Æ¤½¥¬¡C ¨Ï¥Î DB2 ¤¤ªºÄ²µo¨ç¦¡¾÷¯à¡A±z¥i¥H ¦Û°Ê¤½¥¬°T®§¡A§@¬°Ä²µo¨ç¦¡©I¥sªº¤@³¡¥÷¡C ·í¨ä¥Lªº¦Û°Ê¸ê®Æ¤½¥¬§Þ³N¦s¦b®É¡AIJ µoµ{¦¡°ò¦ªº¤èªk¥iÅýºÞ²zªÌ©Î¶}µoªÌ¦Û¥Ñ¦a«Øºc°T®§¤º®e¡A¨Ã¼u©Ê¦a©w¸qIJµo°Ê §@¡C½Ðª`·N¡A¥ô¦óIJµo¨ç¦¡ªº¨Ï¥Î¡A³£¥²¶·µ¹¥I°õ¦æÀW²v»P¦¨¥»ªº¶O¥Î¡C ¤U¦C½d¨Ò»¡ ©úIJµo¨ç¦¡¦p¦ó¨Ï¥Î MQSeries DB2 ¥\¯à¡C ¤U¦C½d¨ÒÅã¥Ü¨C¦¸¶±¥Î·s­û¤u®É¡A¤½¥¬°T®§¬O«Ü®e©öªº¡C ¥ô¦ó­q¾\ HR_INFO_PUB ªA °Èµ{¦¡¨Ã¦b NEW_EMP ¤¤µn°O³ß¦nªº¨Ï¥ÎªÌ©ÎÀ³¥Îµ{¦¡¡A±N·|±µ¦¬¨ì¤@°T®§¡A¥]¬A¨C¤@ ­Ó·s­û¤uªº¤é´Á¡B¦WºÙ¤Î³¡ªù¡C ½d¨Ò 28¡G CREATE TRIGGER new_employee AFTER INSERT ON employee REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL VALUES DB2MQ.MQPUBLISH('HR_INFO_PUB&', 'NEW_EMP', current date || ' ' || LASTNAME || ' ' || DEPARTMENT) ------------------------------------------------------------------------ 17.6 enable_MQFunctions enable_MQFunctions ±Ò¥Î«ü©wªº¸ê®Æ®w¤§ DB2 MQSeries ¥\¯à¡A¨ÃÅçÃÒ DB2 MQSeries ¥\¯à¥i¥H¾A·í¦a°õ ¦æ¡C ­Y¥¼¦w¸Ë»P¬[ºc MQSeries ©M MQSeries AMI¡A«ü¥O±N·|¥¢±Ñ¡C ±ÂÅv ¤U¦C¨ä¤¤¤@¶µ¡G * sysadm * dbadm * ­Y¥\¯àªºÁô§t©Î©ú½Tªººõ¥Ø¦WºÙ¤£¦s¦b¡A«h IMPLICIT_SCHEMA ¦b¸ê®Æ®w¤W¡C * ­Yºõ¥Ø¦WºÙ DB2MQ ¦s¦b¡A«h CREATEIN ±M¥ÎÅv¦bºõ¥Ø¤W¡C «ü¥O»yªk >>-enable_MQFunctions----n--database----u--userid---------------> >-----p--password----+--------+---+-------------+-------------->< '-force--' '-noValidate--' «ü¥O°Ñ¼Æ -n database «ü©w­n±Ò¥Îªº¸ê®Æ®w¦WºÙ¡C -u userid «ü©w¨Ï¥ÎªÌ ID ¥H³s±µ¨ì¸ê®Æ®w¡C -p password «ü©w¨Ï¥ÎªÌ ID ªº³q¦æ½X¡C -force «ü©w­«·s¦w¸Ë´Á¶¡µo²{ªºÄµ§iÀ³³Q©¿²¤¡C -noValidate «ü©w DB2 MQSeries ¥\¯àªºÅçÃÒ±N¤£°õ¦æ¡C ½d¨Ò ¦b¤U¦C½d¨Ò¤¤¡A¤w«Ø¥ß DB2MQ ¥\¯à¡C¨Ï¥ÎªÌ³s½u¨ì¸ê®Æ®w SAMPLE¡C ¤w¨Ï¥Î¹w³]ºõ¥Ø DB2MQ¡C enable_MQFunctions -n sample -u user1 -p password1 ¥Îªkª`·N¨Æ¶µ DB2 MQ ¥\¯à¦b¦¹«ü¥O¦Û°Ê«Ø¥ßªººõ¥Ø DB2MQ ¤U°õ¦æ¡C °õ¦æ«ü¥O¤§«e¡G * ½T©w¤w¦w¸Ë MQ »P AMI¡A¥B MQSeries ª©¥»¬O 5.2 ©Î§ó·sª©¥»¡C * ½T©w¤w©w¸qÀô¹ÒÅÜ¼Æ $AMT_DATA_PATH¡C * ±N¥Ø¿ýÅÜ§ó¬° DB2PATH ªº cfg ¦¸¥Ø¿ý¡C ¦b UNIX ¤W¡G * ¨Ï¥Î db2set¡A±N AMT_DATA_PATH ·s¼W¦Ü DB2ENVLIST¡C * ½T©w»P UDF °õ¦æ¬ÛÃöªº¨Ï¥ÎªÌ±b¤á¬O mqm ¸s²Õªº¦¨­û¡C * ½T©w­n©I¥s¦¹«ü¥Oªº¨Ï¥ÎªÌ¬O mqm ¸s²Õªº¦¨­û¡C µù: MQSeries 5.2 ¤£¤ä´© ATX 4.2¡C ------------------------------------------------------------------------ 17.7 disable_MQFunctions disable_MQFunctions °±¥Î«ü©wªº¸ê®Æ®w¤§ DB2 MQSeries ¥\¯à¡C ±ÂÅv ¤U¦C¨ä¤¤¤@¶µ¡G * sysadm * dbadm * ­Y¥\¯àªºÁô§t©Î©ú½Tªººõ¥Ø¦WºÙ¤£¦s¦b¡A«h IMPLICIT_SCHEMA ¦b¸ê®Æ®w¤W¡C * ­Yºõ¥Ø¦WºÙ DB2MQ ¦s¦b¡A«h CREATEIN ±M¥ÎÅv¦bºõ¥Ø¤W¡C «ü¥O»yªk >>-disable_MQFunctions----n--database----u--userid--------------> >-----p--password---------------------------------------------->< «ü¥O°Ñ¼Æ -n database «ü©w¸ê®Æ®w¦WºÙ¡C -u userid «ü©w¥Î¨Ó³s±µ¸ê®Æ®wªº¨Ï¥ÎªÌ ID¡C -p password «ü©w¨Ï¥ÎªÌ ID ªº³q¦æ½X¡C ½d¨Ò ¦b¤U¦C½d¨Ò¤¤¡A¤w°±¥Î¸ê®Æ®w SAMPLE ªº DB2MQ ¥\¯à¡C disable_MQFunctions -n sample -u user1 -p password1 ------------------------------------------------------------------------ ºÞ²z¤u¨ã ³¡¥÷¥Ø¿ý * ±±¨î¤¤¤ß o 18.1 ºÞ²z DB2 Server for VSE & VM ¦øªA¾¹¯à¤O o 18.2 Java 1.2 ¤ä´©±±¨î¤¤¤ß o 18.3 ¦b Windows §@·~¨t²Î¤U¨Ï¥Î½u¤W»¡©úªº¡uµL®Ä±¶®|¡v¿ù»~ o 18.4 OS/2 ¨t²Î¤Uªº Java ±±¨î¤¤¤ß o 18.5 ¦b Windows §@·~¨t²Î¤§²§°Ê¤é»xÀ˵ø¤w§¹¦¨¤u§@ªº¡uÀɮשڵ´¦s ¨ú¡v¿ù»~ o 18.6 ¦h¦ì¸m§ó·s´ú¸Õ³s±µ o 18.7 DB2 for OS/390 ªº±±¨î¤¤¤ß o 18.8 OS/390 ±±¨î¤¤¤ß¥²­nªº­×¥¿µ{¦¡ o 18.9 ¡u«Ø¥ßªÅ¶¡¼h¡v¹ï¸Ü®ØªºÅܧó o 18.10 DB2 ±±¨î¤¤¤ßªººÃÃø±Æ¸Ñ o 18.11 UNIX ¨t²Î±±¨î¤¤¤ßªººÃÃø±Æ¸Ñ o 18.12 OS/2 ¥i¯àªº Infopop °ÝÃD o 18.13 jdk11_path ¬[ºc°Ñ¼Æªº»¡©ú o 18.14 ¨Ï¥Î¡uScript ¤¤¤ß¡v©Î¡u²§°Ê¤é»x¡v®Éµo¥Íªº Solaris ¨t²Î¿ù»~ (SQL10012N) o 18.15 DPREPL.DFT Àɮתº»¡©ú o 18.16 ±Ò°Ê¦h­Ó±±¨î¤¤¤ß applet o 18.17 ±±¨î¤¤¤ß¥H Applet °õ¦æ®Éªº½u¤W»¡©ú o 18.18 ¦b Applet ¼Ò¦¡ (Windows 95) ¤U°õ¦æ±±¨î¤¤¤ß o 18.19 ¨Ï¥Î¤jªº¬d¸ßµ²ªG * ¸ê°T¤¤¤ß o 19.1 ¦b Windows §@·~¨t²Î¤Uªº¡uµL®Ä±¶®|¡v¿ù»~ o 19.2 ·í Netscape ¤w¶}±Ò®É¡A¦b Netscape Navigator ¤¤¶}±Ò¥~³¡ Web Ãìµ²(UNIX ¨t²Î) o 19.3 ±Ò°Ê¡u¸ê°T¤¤¤ß¡vªº°ÝÃD * ºëÆF o 20.1 ¦b«Ø¥ß¸ê®Æ®wºëÆF³]©wÂX¥R¤j¤p o 20.2 MQSeries »²§UºëÆF o 20.3 OLE DB »²§UºëÆF ------------------------------------------------------------------------ ±±¨î¤¤¤ß ------------------------------------------------------------------------ 18.1 ºÞ²z DB2 Server for VSE & VM ¦øªA¾¹¯à¤O DB2 Universal Database ª©¥» 7 ¡u±±¨î¤¤¤ß¡v¼W±j¹ï DB2 ¦øªA¾¹ for VSE ©M VM ¸ê®Æ®wªº¤ä´©¡C¡u±±¨î¤¤¤ß¡vÀ˵ø©Ò¦³ VSE ©M VM ¸ê®Æ®wª«¥óªº DB2 ¦øªA¾¹¡C ¦P®É ¤]¤ä´©«Ø¥ß¯Á¤Þ¡B­«²Õ¯Á¤Þ¡B§ó·s²Î­p­È©M­«·s³sµ²«ü¥O¡C ­«²Õ¯Á¤Þ©M­«·s³sµ²»Ý­n Àx¦sµ{§Ç¡A¦Ó¸ÓÀx¦sµ{§Ç°õ¦æ©ó VSE ©M VM ¥D¹q¸£¤Wªº DB2 ¦øªA¾¹¡C ¦¹Àx¦sµ{§Ç¥Ñ ±±¨î¤¤¤ß©Ò´£¨Ñ¡A¾A¥Î©ó VSE ©M VM ¤U DB2 ¦øªA¾¹ªº VSE ©M VM ¯S©Ê¡C ¾ã¦X±±¨î¤¤¤ß®e³\¨Ï¥ÎªÌºÞ²z DB2¡AµL½× DB2 ¦øªA¾¹°õ¦æ©ó¨º¤@­Ó¥­¥x¡CVSE ©M VM ª«¥óªº DB2 ¦øªA¾¹Åã¥Ü¦b±±¨î¤¤¤ß¥Dµøµ¡¡A°£¤F DB2 Universal Database ª«¥ó¡C ¿ï¨úª«¥ó®É¡A·|©I¥sºÞ²z³o¨Çª«¥óªº¬Û¹ïÀ³°Ê§@©M¤½¥Îµ{¦¡¡C ½d¨Ò¡A¨Ï¥ÎªÌ¥i¥H¦C¥Ü ¯S§O¸ê®Æ®wªº¯Á¤Þ¡A¿ï¨ú¨ä¤¤ªº¤@­Ó¯Á¤Þ¨Ã±N¤§­«²Õ¡C ¨Ï¥ÎªÌ¤]¥i¥H¦C¥Ü¸ê®Æ®wªºªí ®æ¡A¨Ã°õ¦æ§ó·s²Î­p­È¡A©Î©w¸qªí®æ¬°§Û¼g¨Ó·½¡C ¦³Ãö¬[ºc±±¨î¤¤¤ß¡A¨Ã¦b VSE ©M VM ª«¥óªº DB2 ¦øªA¾¹°õ¦æºÞ²z§@·~ªº¸ê°T¡A½Ð°Ñ ·Ó DB2 Connect User's Guide©Î¦w¸Ë»P¬[ºc¸É¥R¡C ------------------------------------------------------------------------ 18.2 Java 1.2 ¤ä´©±±¨î¤¤¤ß ¨Ï¥Î Java 1.2 ¤¤ªºÂù¦V¤ä´©¡A±±¨î¤¤¤ß¥i¥H¤ä´©Âù¦V»y¨¥¡A¦pªü©Ô§B»y©M§Æ§B¨Ó »y¡C ¦¹¤ä´©¥u¥i¥Î©ó Windows NT ¥­¥x¡C ±ý¿ëÃÑ©M¨Ï¥Î Java 1.2¡A±±¨î¤¤¤ß­n¶i¦æ¦w¸Ë¡G 1. JDK 1.2.2 ¦b DB2 UDB CD ªº DB2\bidi\NT ¥Ø¿ý¤U¡C ibm-inst-n122p-win32-x86.exe ¬O¦w¸Ëµ{¦¡¡A ibm-jdk-n122p-win32-x86.exe ¬O JDK ¤À°e¡C±N¨â­ÓÀɮ׽ƻs¨ìµwºÐ¤Wªº¼È®É¥Ø¿ý¤¤¡A µM«á±q¸Ó¥Ø¿ý°õ¦æ¦w¸Ë µ{¦¡¡C 2. ±N¥¦¦w¸Ë¦b \java\Java12 ¤U¡A ¬O DB2 ªº¦w¸Ë¸ô®|¡C 3. JDK/JRE ¦w¸Ë´£¥Ü®É¡A¤£­n¿ï¨ú JDK/JRE ¬°¨t²Î VM¡C Java 1.2 ¦w¸Ë¦¨¥\«á¡A¥H¥¿±`¤è¦¡±Ò°Ê±±¨î¤¤¤ß®É·|¨Ï¥Î Java 1.2¡C ±ý°±¤î¨Ï¥Î Java 1.2¡A½Ð¦b \java\Java12 ¤U¸Ñ°£¦w¸Ë JDK/JRE¡A©Î§ó§ï \java\Java12 ¦¸¥Ø¿ýªº¦W¦r¡C µù: ¤£­n²V²c \java\Java12 ©M \Java12¡C \Java12 ¬O DB2 ¦w¸Ëªº¤@³¡¥÷¡A¨Ã¥B¥]¬A Java 1.2 ªº JDBC ¤ä´©¡C ------------------------------------------------------------------------ 18.3 ¦b Windows §@·~¨t²Î¤U¨Ï¥Î½u¤W»¡©úªº¡uµL®Ä±¶®|¡v¿ù»~ ¨Ï¥Î±±¨î¤¤¤ß½u¤W»¡©ú¡A±z¥i¯à·|¹J¨ì³o¼Ëªº¿ù»~¡G¡uµL®Äªº±¶®|¡v¡C¦pªG±z³Ìªñ¦w ¸Ë¤F·sªº Web ÂsÄý¾¹©Î Web ÂsÄý¾¹·sª©¡A½Ð½T©w HTML ©M HTM ¤å¥ó©M§ó§ï¹LªºÂsÄý ¾¹¬Ûµ²¦X¡C ½Ð°Ñ¾\µøµ¡»¡©ú¥DÃD¡u¶}±ÒÀÉ®×®ÉÅܧóµ{¦¡ªº±Ò°Ê¡v¡C ------------------------------------------------------------------------ 18.4 OS/2 ¨t²Î¤Uªº Java ±±¨î¤¤¤ß ±±¨î¤¤¤ß¥²¶·¦w¸Ë¦b HPFS ®æ¦¡¤ÆªººÏºÐ¾÷¤W¡C ------------------------------------------------------------------------ 18.5 ¦b Windows §@·~¨t²Î¤§²§°Ê¤é»xÀ˵ø¤w§¹¦¨¤u§@ªº¡uÀɮשڵ´¦s¨ú¡v¿ù»~ ¦b DB2 Universal Database for Windows NT ¤W¡A ¦b¸Õ¹Ï¶}±Ò²§°Ê¤é»x¨ÓÀ˵ø¦b ¡uScript ¤¤¤ß¡v©Ò«Ø¥ßªº¤u§@©ú²Ó®É¡Aµo¥Í¡uÀɮשڵ´¦s¨ú¡vªº¿ù»~¡C ¤u§@ª¬ºAÅ㠥ܧ¹¦¨¡C ­Y¡uScript ¤¤¤ß¡v¤¤«Ø¥ßªº¤u§@§t¦³ START «ü¥O¡A«K·|µo¥Í³o¼Ëªº¦æ¬°¡C ¬°¤FÁקK³o¼Ëªº¦æ¬°¡A½Ð¦b§å¦¸ÀÉ©M¤u§@¤º¡A ¨Ï¥Î START/WAIT «ü¥O¡A¦Ó¤£­n¨Ï¥Î START «ü¥O¡C ------------------------------------------------------------------------ 18.6 ¦h¦ì¸m§ó·s´ú¸Õ³s±µ ¦h¦ì¸m§ó·s´ú¸Õ³s±µ¦bª©¥» 7 ¡u±±¨î¤¤¤ß¡vªº¥\¯à¡A¬°¥Ø¼Ð®×¨Òªºª©¥»©Ò­­¨î¡C¡u»· ºÝ¡v´ú¸Õ³s±µ¥\¯à±ý°õ¦æªº¥Ø¼Ð®×¨Ò¡A ¦Ü¤Ö»Ý­nª©¥» 7¡C ±ý¦bª©¥» 6 °õ¦æ¦h¦ì¸m§ó ·s´ú¸Õ³s±µ¥\¯à¡A½Ð¦b¥Ø¼Ð®×¨Ò¤¤´£¨ì±±¨î¤¤¤ß¡A¨Ã¦b¨º¨à°õ¦æ¥¦¡C ------------------------------------------------------------------------ 18.7 DB2 for OS/390 ªº±±¨î¤¤¤ß §Q¥ÎOS/390 ªº DB2 UDB ±±¨î¤¤¤ß¨ÓºÞ²z±ÂÅv¤½¥Îµ{¦¡ªº¨Ï¥Î¡C ¹ï©ó OS/390 ªº DB2 UDB¡A¤½¥Îµ{¦¡¨ç¼Æ¬O¿W¥ß¦³¶¶§Ç¯S©Êªº¤¸¯À¡A¦b¥¦³Q DB2 ±±¨î¤¤¤ßºÞ²z¤§«e¡A¥²¶· ±ÂÅv©M¦w¸Ë¦bÀô¹Ò¤º¡C ¸ê®Æ®w DB2 for OS/390 ¤l¨t²Î¡A±±¨î¤¤¤ß·|©w¸q "CC390" ¸ê®Æ®w¡A§@¬°±±¨î¤¤¤ßªº ¤º³¡¤ä´©¡C ½Ð¤£­n­×§ï¦¹¸ê®Æ®w¡C ÁöµM¦b±±¨î¤¤¤ß¥Ø¿ý©Î¸ê°T¤¤¤ß§@·~¸ê°T¤¤¡A¨S¦³¯S§O´£¨ì DB2 for OS/390 ª©¥» 7.1¡A¦ý¬O¡A¸Ó¤å¥ó¤ä´© OS/390 ª©¥» 7.1 DB2 ªº¨ç¼Æ¡C «Ü¦h DB2 for OS/390 ª©¥» 6 ªº¯S®í¨ç¼Æ¡A©M DB2 for OS/390 ª©¥» 7.1 ¬ÛÃö¡C¦³¨Ç DB2 for OS/390 ª©¥» 7.1 ªº¯S®í¨ç¼Æ¡A¦b¥Ø¿ý¤¤¨S¦³ª©¥»¦WºÙ¡C ¦b±±¨î¤¤¤ß¬[ºc DB2 for OS/390 ª©¥» 7.1 ¤l¨t²Î¤§«á¡A¹ï©Ò¦³¸Óª©¥»ªº¤å¥ó³£¦³¦s¨úÅv­­¡C ±ý¦Û±±¨î¤¤¤ß¦s¨ú©M¨Ï¥Î Generate DDL ¨ç¼Æ¡A½Ð¦w¸Ë Generate DDL ¨ç¼Æ¡G * Ãö©óª©¥» 5¡A¨Ï¥Î DB2 for OS/390 ª©¥» 5 ¨Ó¦w¸Ë DB2Admin¡C * Ãö©óª©¥» 6¡A¦w¸Ë¤pªºµ{¦¡³]­p¥[±j¥\¯à¡A¹ï©ó DB2 for OS/390 ª©¥» 7.1 ºÞ ²z¯S©Ê¦Ó¨¥´N¦p PTF ¯ë¡C * Ãö©óª©¥» 7.1¡AGenerate DDL ¨ç¼Æ¬°¿W¥ß©w»ù¤§ DB2 for OS/390 ª©¥» 7.1 ºÞ ²z¯S©Ê¤§¤@³¡¥÷¡C ±ý±q±±¨î¤¤¤ß¦s¨úÀx¦sµ{§Ç«Ø¸m¾¹¡A¦b±Ò°Ê DB2 UDB ±±¨î¤¤¤ß®É¡A¥²¶·¶i¦æ¦w¸Ë¡C ¥¦¬O DB2 À³¥Îµ{¦¡¶}µo±qÄݯ¸ªº¤@³¡¥÷¡C ±ý¦b¤u§@¯¸¬° OS/390 ¤l¨t²Î½s¥Ø DB2¡A½Ð¿ï¾Ü¨Ï¥Î±qÄݯ¸¬[ºc»²§Uµ{¦¡¤u¨ã¡C 1. ¦b¡u¨Ó·½¡v­¶­±¡A«ü©w¦Û¦æ¬[ºc»P¸ê®Æ®wªº³s½u¶ê¶s¡C 2. ¦b¡u³q«H¨ó©w¡v­¶­±¡A§¹¦¨¾A·íªº³q«H¸ê°T¡C 3. ¦b¡u¸ê®Æ®w¡v­¶­±¡A©ó¸ê®Æ®w¦WºÙÄæ¦ì«ü©w¤l¨t²Î¦WºÙ¡C 4. ¦b¡u¸`ÂI¿ï¶µ¡v­¶­±¡A¿ï¨ú¬[ºc¸`ÂI¿ï¶µ (¿ï¥Îªº)¤Ä¿ï®Ø¡C 5. ¦b§@·~¨t²ÎÄæ¦ì¿ï¨ú¡uMVS/ESA, OS/390¡v¡C 6. «ö¤@¤U§¹¦¨¡A¥H§¹¦¨¬[ºc¡C ­Y­n³z¹L¹h¹D¾÷¾¹¨Ó½s¥Ø DB2 for OS/390 ¤l¨t²Î¡A ½Ð¿í´`¤W­z¹h¹D¾÷¾¹ªº¨BÆJ 1-6¡CµM«á¡G 1. ¦b±qÄݯ¸¾÷¾¹¡A±Ò°Ê±±¨î¤¤¤ß¡C 2. ¦b¡u¨t²Î¡v¸ê®Æ§¨¤W«ö¤@¤U·Æ¹«¥kÁä¡A¦A¿ï¨ú·s¼W¡C 3. ¦b¡u·s¼W¨t²Î¡v¹ï¸Ü®Ø¤º¡A¦b¨t²Î¦WºÙÄæ¦ìÁä¤J¹h¹D¾÷¾¹¦WºÙ¡C 4. ¦b»·ºÝ®×¨ÒÄæ¦ìÁä¤J DB2DAS00¡C 5. °w¹ï TCP/IP ³q«H¨ó©w (¦b¡u³q«H¨ó©w¡v°Ñ¼Æ¸Ì)¡A ½Ð¦b¥D¹q¸£¦WºÙÄæ¦ì«ü©w¹h ¹D¾÷¾¹ªº¥D¹q¸£¦WºÙ¡C 6. ¦bªA°Èµ{¦¡¦WºÙÁä¤J 523¡C 7. «ö¤@¤U½T©w¨Ó·s¼W¨t²Î¡C ±zÀ³¸Ó¥i¥H¦b¨t²Î¸ê®Æ§¨¤U­±¬Ý¨ì·s¼Wªº¹h¹D¾÷¾¹¡C 8. ®i¶}¹h¹D¾÷¾¹¦WºÙ¡C 9. ¦b¡u®×¨Ò¡v¸ê®Æ§¨¤W«ö¤@¤U·Æ¹«¥kÁä¡A¦A¿ï¨ú·s¼W¡C 10. ¦b¡u·s¼W®×¨Ò¡v¹ï¸Ü®Ø¤¤¡A«ö¤@¤U´_·s¡A ¦C¥X¹h¹D¾÷¾¹¤W¥i¥Îªº®×¨Ò¡C ¦pªG¹h ¹D¾÷¾¹¬° Windows NT ¨t²Î¡A«h·|¦b®×¨Ò DB2 ¤U½s¥Ø DB2 for OS/390 ¤l¨t ²Î¡C 11. ¿ï¨ú®×¨Ò¡C ¦¹®×¨Ò·|¦Û°Ê¶ñ¼g³q«H¨ó©w°Ñ¼Æ¡C 12. «ö¤@¤U½T©w¨Ó·s¼W®×¨Ò¡C 13. ¶}±Ò®×¨Ò¸ê®Æ§¨¡A¥i¥H¬Ý¨ì­è¤~·s¼Wªº®×¨Ò¡C 14. ®i¶}®×¨Ò¡C 15. ¦b¸ê®Æ®w¸ê®Æ§¨¤W«ö¤@¤U·Æ¹«¥kÁä¡A ¦A¿ï¨ú·s¼W¡C 16. «ö¤@¤U´_·s¡AÅã¥Ü¹h¹D¾÷¾¹¤Wªº¥»ºÝ¸ê®Æ®w¡C ¦pªG±z­n¦b¡u·s¼W¸ê®Æ®w¡v¹ï¸Ü ®Ø¤¤·s¼W DB2 ¤l¨t²Î¡A ½Ð©ó¡u¸ê®Æ®w¦WºÙ¡vÄæ¦ìÁä¤J¤l¨t²Î¦WºÙ¡C ¿ï¶µ¡G¿é ¤J¤l¨t²Î (©Î¬O¸ê®Æ®w) ªº¥»ºÝ§O¦W¡C 17. «ö¤@¤U½T©w¡C ²{¦b¡A±z¤w¸g¦¨¥\¦a¦b±±¨î¤¤¤ß·s¼W¤l¨t²Î¡C ¶}±Ò¸ê®Æ®w®É¡A·|Åã¥Ü DB2 for OS/390 ¤l¨t²Î¡C "±±¨î¤¤¤ß 390" ³¹¸`ªº²Ä¤@­Ó¬q¸¨«ü¥X¡G OS/390 ªº DB2 UDB ±±¨î¤¤¤ß¥iÅý±zºÞ²z¤w±ÂÅv IBM DB2 ¤½¥Îµ{¦¡ªº¨Ï¥Î¡C ­Y¬° DB2 UDB for OS/390 ­Ó§O­qÁʯS©Êªº¤¸¥ó¤¤ªº¤½¥Îµ{¦¡¨ç¼Æ¡A ¦b¥Ñ DB2 ±±¨î¤¤¤ßºÞ²z¤§«e¡A¥²¶·¸g¹L±ÂÅv¥B¦w¸Ë¦bÀô¹Ò¤¤¡C ¦¹³¹¸`À³§ï¬°¡G OS/390 ªº DB2 ±±¨î¤¤¤ß¥iÅý±zºÞ²z¤w±ÂÅv IBM DB2 ¤½¥Îµ{¦¡ªº¨Ï¥Î¡C ­Y¬°­Ó§O­qÁʲ£«~ªº¤¸¥ó¤¤ªº¤½¥Îµ{¦¡¨ç¼Æ¥²¶·¸g¹L±ÂÅv¥B¦w¸Ë¦bÀô¹Ò¤¤¡A ¤~¯à¥Ñ DB2 ±±¨î¤¤¤ß¨ÓºÞ²z¡C ------------------------------------------------------------------------ 18.8 OS/390 ±±¨î¤¤¤ß¥²­nªº­×¥¿µ{¦¡ ±N APAR PQ36382 ¤Þ¥Î¨ì DB2 for OS/390 ª©¥» 5 ©M DB2 for OS/390 ª©¥» 6 ªº 390 ½á¯à¯S©Ê¡A¨Ï¥Î DB2 UDB ±±¨î¤¤¤ßª©¥» 7 ¨Ó°õ¦æ³o¨Ç¤l¨t²Îªº¤½¥Îµ{¦¡¡C ¤Þ¥Î APAR ¦Ü¤U¦Cªº FMID¡G DB2 for OS/390 Version 5 390 Enablement: FMID JDB551D DB2 for OS/390 Version 6 390 Enablement: FMID JDB661D ------------------------------------------------------------------------ 18.9 ¡u«Ø¥ßªÅ¶¡¼h¡v¹ï¸Ü®ØªºÅܧó "<<" ¤Î ">>" «ö¶s¤w¦Û¡u«Ø¥ßªÅ¶¡¼h¡v¹ï¸Ü®Ø¤¤°£¥h¡C ------------------------------------------------------------------------ 18.10 DB2 ±±¨î¤¤¤ßªººÃÃø±Æ¸Ñ ¦b¡u§Ö³t¤Jªù¡v¤@®Ñªº¡u±±¨î¤¤¤ßªº¦w¸Ë»P¬[ºc¡v¤@³¹¤¤¡A¨ä¡uºÃÃø±Æ¸Ñ¸ê°T¡v ¤@¸` ·|§i¶D±z¦b±N¡u±±¨î¤¤¤ß¡v¥Î¬° applet ®É­Yµo¥Í°ÝÃD¡AÀ³¦p¦ó±q©R¥Oµøµ¡ ¤¤­«³]±z ±qÄݯ¸ÂsÄý¾¹ªº CLASSPATH¡C ¥»¸`¥ç·|»¡©ú¦p¦ó±q«e­zªº©R¥Oµøµ¡±Ò°ÊÂsÄý¾¹¡A ¦ý «o¥¼´£¨Ñ±Ò°ÊÂsÄý¾¹ªº«ü¥O¡C ­Y­n±Ò°Ê Internet Explorer¡A½ÐÁä¤J start iexplore¡A µM«á«ö Enter Áä¡C ­Y­n±Ò°Ê Netscape¡A½ÐÁä¤J start netscape¡AµM«á «ö Enter Áä¡C ³o¨Ç«ü¥O«Y°²³]ÂsÄý¾¹¤w³]¦b±zªº PATH ¤¤¡C ¦p­Y¤£µM¡A½Ð±N¨ä¥[¤J ±zªº PATH ¤¤¡A ©Î¬O¤Á´«¨ìÂsÄý¾¹ªº¦w¸Ë¥Ø¿ý¡A­«·sµo¥X start «ü¥O¡C ------------------------------------------------------------------------ 18.11 UNIX ¨t²Î±±¨î¤¤¤ßªººÃÃø±Æ¸Ñ ¦pªG±zµLªk¦b UNIX «¬¨t²Î±Ò°Ê±±¨î¤¤¤ß¡A«h³]©w JAVA_HOME Àô¹ÒÅܼƫü¦V Java ¤À °e¡G * Java ¦w¸Ë¦b /usr/jdk118¡A½Ð³]©w JAVA_HOME ¨ì /usr/jdk118¡C * ¹ï©ó sh¡Bksh¡Bbash shell¡G ¶×¥X JAVA_HOME=/usr/jdk118. * ¹ï©ó csh ©Î tcsh shell¡G setenv JAVA_HOME /usr/jdk118 ------------------------------------------------------------------------ 18.12 OS/2 ¥i¯àªº Infopop °ÝÃD ¦pªG±z¬O¦b OS/2 ¤W°õ¦æ±±¨î¤¤¤ß¡A¨Ï¥Î¸ÑªR«× 1024x768 ¤Î 256 ¦â¡A ¨Ã±Ò¥Î¤F WorkPlace Shell Palette Awareness¡A«h¶W¥X²{¦æµøµ¡Ãä®Øªº Infopop ·|¥H¶Â¦â¤å ¦rÅã¥Ü¦b¶Â¦â­I´º¤U¡C ±ý­×¥¿¦¹°ÝÃD¡AÅܧóÅã¥Ü³]©w¬° 256 ¦â¥H¤W¡A©Î°±¤î¨Ï¥Î Workplace Shell Palette Awareness¡C ------------------------------------------------------------------------ 18.13 jdk11_path ¬[ºc°Ñ¼Æªº»¡©ú ¦b±±¨î¤¤¤ß»¡©ú¤º¡AJDK 1.1 ¦w¸Ë¸ô®| (jdk11_path) ¬[ºc°Ñ¼Æªº»¡©ú¡A ©ó¤l¼ÐÃD¤Þ ¥Î¦Ü¤U¤Ö¤F¤@¦æ¡C ¡u¤Þ¥Î¦Ü¡v¤U§¹¾ãªº¦C¥Ü¬°¡G * ¥»ºÝ©M»·ºÝ±qÄݯ¸ªº¸ê®Æ®w¦øªA¾¹ * ±qÄݯ¸ * ¨ã¦³¥»ºÝ±qÄݯ¸ªº¸ê®Æ®w¦øªA¾¹ * ¨ã¦³¥»ºÝ¤Î»·ºÝ±qÄݯ¸ªº¤À³Î¸ê®Æ®w¦øªA¾¹ * ¨ã¦³¥»ºÝ±qÄݯ¸ªº½Ã¬P¸ê®Æ®w¦øªA¾¹ ------------------------------------------------------------------------ 18.14 ¨Ï¥Î¡uScript ¤¤¤ß¡v©Î¡u²§°Ê¤é»x¡v®Éµo¥Íªº Solaris ¨t²Î¿ù»~ (SQL10012N) ¦b¿ï¨ú¡uScript ¤¤¤ß¡v©Î¡u²§°Ê¤é»x¡v¤¤ªº Solaris ¨t²Î®É¡A¥i¯à·|µo¥Í¤U¦C¿ù »~¡G SQL10012N - ·í¸ü¤J«ü©wªºÀÉ®×®w "/udbprod/db2as/sqllib/function/unfenced/ db2scdar!ScheduleInfoOpenScan"®É¡A±µ¦¬¨ì«D¹w´Áªº§@·~¨t²Î¿ù»~¡C SQLSTATE=42724¡C ³o¬O¥Ñ©ó Solaris °õ¦æÃìµ²¾¹¤¤ªº¿ù»~©Ò¾É­P¡C±z¥u»Ý¤Þ¥Î¤U¦Cªº­×¸Éµ{¦¡¡A§Y¥i§ó ¥¿¦¹°ÝÃD¡G 105490-06 (107733 ²^¨O¤F 105490) for Solaris 2.6 ------------------------------------------------------------------------ 18.15 DPREPL.DFT Àɮתº»¡©ú ¦b¡u±±¨î¤¤¤ß¡v¤¤¡A¡u¤u¨ã³]©w¡vµ§°O¥»¤§¡u§Û¼g¡v­¶ªº»¡©ú¨BÆJ 5d ¼g¹D¡G ±NÀÉ®×Àx¦s¨ì¡u±±¨î¤¤¤ß¡vªº¤u§@¥Ø¿ý (¨Ò¦p¡ASQLLIB\BIN)¡A ¦p¦¹¤@¨Ó¡A¨t²Î¥i¥H¨Ï¥Î¨ä§@¬°¹w³]ÀɮסC À³§ï¼g¬°¡G ±NÀÉ®×Àx¦s¨ì¡u±±¨î¤¤¤ß¡vªº¤u§@¥Ø¿ý (SQLLIB\CC)¡A ¦p¦¹¤@¨Ó¡A¨t²Î¥i¥H¨Ï¥Î¨ä§@¬°¹w³]ÀɮסC ------------------------------------------------------------------------ 18.16 ±Ò°Ê¦h­Ó±±¨î¤¤¤ß applet ±z¤£¯à¦b¤@¥x¾÷¾¹¤W¦P®É±Ò°Ê¤@­Ó¥H¤Wªº±±¨î¤¤¤ß applet¡C³o¶µ­­¨î¾A¥Î©ó©Ò¦³¤ä´© ÂsÄý¾¹©Ò°õ¦æªº±±¨î¤¤¤ß applet¡C ------------------------------------------------------------------------ 18.17 ±±¨î¤¤¤ß¥H Applet °õ¦æ®Éªº½u¤W»¡©ú ·í¡u±±¨î¤¤¤ß¡v¬O¥H applet ¤è¦¡°õ¦æ®É¡AF1 Áä¥u¯à°÷¦b¨ã¦³ Infopop ¥\¯àªºµøµ¡ ©Îµ§°O¥»¤¤¹B§@¡C ±z¥i¥H¦b¤U¦C¤¸¥ó¤¤«ö F1 Áä¡A¥s¥X Infopop¡G * DB2 Universal Database for OS/390 * ºëÆF °£¤W­z¨â¶µ¥H¥~ªº¡u±±¨î¤¤¤ß¡v¤¸¥ó¬ÒµLªk¨Ï¥Î F1 Áä¥s¥X»¡©ú¡C ¦¹®É­Y­nÅã¥Ü¨ä¥¦ ¤¸¥óªº»¡©ú¡A½Ð¨Ï¥Î¡u»¡©ú¡v«ö¶s©Î¡u»¡©ú¡v¤U©Ô¥\¯àªí¡C ------------------------------------------------------------------------ 18.18 ¦b Applet ¼Ò¦¡ (Windows 95) ¤U°õ¦æ±±¨î¤¤¤ß ­Y«ü©wªº¨Ï¥ÎªÌ ID ©M±K½XµL®Ä¡A«KµLªk¶}±Ò¡uScript ¤¤¤ß¡v¡C µn¤J¡u±±¨î¤¤¤ß¡v ®É¡A½Ð½T©w¨Ï¥ÎªÌ ID ©M±K½X¬O§_¦³®Ä¡C ------------------------------------------------------------------------ 18.19 ¨Ï¥Î¤jªº¬d¸ßµ²ªG ¨ä¤è«K¨Ï¥ÎªÌ²£¥Í¶Ç¦^¤j¶q¦C¼Æªº¬d¸ß¡C¤£¤Ó¾A¦X¨Ï¥ÎªÌ¥Î¨Ó¹w´ú¹ê»Ú¶Ç¦^ªº¦C¼Æ¡C Ãö©ó¥i¯à¶Ç¦^¼Æ¥H¤d­p©Î¼Æ¥H¸U­p¦C¼Æªº¬d¸ß¡A¦³¤U¦C¨â­Ó°ÝÃD¡G 1. »Ý­nªá¶O«Ü¦h®É¶¡¤~¯à¨ú±oµ²ªG¡C 2. »Ý­n¤j¶qªº±qÄݯ¸°O¾ÐÅé¤~¯à«O¦sµ²ªG¡C ¬°¤F¨Ï³o­Ó³B²z§ó¥[«K§Q¡ADB2 ±N¤j¶qµ²ªG¶°¤À³Î¦¨³\¦h¤ù¬q¡C ¥H¤@¦¸¤@­Ó¤ù¬qªº¤è ¦¡Â^¨ú¤ÎÅã¥Ü¬d¸ßµ²ªG¡C µ²ªG¦p¤U¡G 1. ·í¬d¸ßªº²Ä¤@­Ó¤ù¬q¥i¥HÀ˵ø¡A¦P®É¤wÂ^¨ú³Ñ¾l¤ù¬q®É¡A·|´î¤ÖÅã¥Ü®É¶¡¡C 2. ·í¦b¥ô¦ó®É«ü©w®É¶¡¤W±qÄݯ¸¶ÈÀx¦s¬d¸ßµ²ªGªº¤@­Ó¤ù¬q¡A·|´î¤Ö±qÄݯ¸ªº°O¾Ð Åé»Ý¨D¡C ±±¨î°O¾ÐÅ餤ªº¬d¸ßµ²ªG¦C¼Æ¡G 1. ¶}±Ò¡u¤u¨ã³]©w¡vµ§°O¥»ªº¡u¤@¯ë¡v­¶­±¡C 2. ¦b³Ì¤j­È°Ï¬q¤¤¡A¿ï¨ú¡G o ½d¨Ò¤º®e¡A¥i­­¨î¡u½d¨Ò¤º®e¡vµøµ¡¤¤Åã¥Üªºµ²ªG¦C¼Æ¡C ¦b¿é¤JÄæ¦ì¤¤«ü ©wµ²ªG¶°ªº¤ù¬q¤j¤p (¦C¼Æ)¡C o ©R¥O¤¤¤ß¡A¥i­­¨î¡u©R¥O¤¤¤ß¡vªº¡u¬d¸ßµ²ªG¡v­¶­±¤WÅã¥Üªºµ²ªG¦C¼Æ¡C ¦b¿é¤JÄæ¦ì¤¤«ü©wµ²ªG¶°ªº¤ù¬q¤j¤p (¦C¼Æ)¡C ·í¨Ï¥Î¡u½d¨Ò¤º®e¡vµøµ¡©Î¡u©R¥O¤¤¤ß¡vªº¡u¬d¸ßµ²ªG¡v­¶­±¤Wªº¬d¸ßµ²ªG®É¡A °O¾Ð Å餤¦C¼ÆÄæ¦ì«ü¥Ü«O¯d¦b°O¾ÐÅ餤ªº¬d¸ß¦C¼Æ¡C ¦¹¼Æ¥Øµ´¤£·|¤j©ó³Ì¤j­È³]©w¡C«ö¤@ ¤U¤U¤@¨B¡AÂ^¨ú¦Üµ²ªG¶°ªº¤U¤@­Ó¤ù¬q¡C ·í¤U¤@¨B«D§@¥Î¤¤®É¡Aªí¥Ü±z¤w¨ì¹Fµ²ªG¶° §ÀºÝ¡C ------------------------------------------------------------------------ ¸ê°T¤¤¤ß ------------------------------------------------------------------------ 19.1 ¦b Windows §@·~¨t²Î¤Uªº¡uµL®Ä±¶®|¡v¿ù»~ ¨Ï¥Î¸ê°T¤¤¤ß¡A±z·|µo²{¦p¤Uªº¿ù»~¡G¡uµL®Ä±¶®|¡v¡C ¦pªG±z³Ìªñ¦w¸Ë¤F·sªº Web ÂsÄý¾¹©Î Web ÂsÄý¾¹·sª©¡A½Ð½T©w HTML ©M HTM ¤å¥ó©M§ó§ï¹LªºÂsÄý¾¹¬Ûµ²¦X¡C ½Ð °Ñ¾\µøµ¡»¡©ú¥DÃD¡u¶}±ÒÀÉ®×®ÉÅܧóµ{¦¡ªº±Ò°Ê¡v¡C ------------------------------------------------------------------------ 19.2 ·í Netscape ¤w¶}±Ò®É¡A¦b Netscape Navigator ¤¤¶}±Ò¥~³¡ Web Ãìµ²(UNIX ¨t²Î) ¦pªG¤w¸g¶}±Ò Netscape Navigator¡A¨ÃÅã¥Ü¥»ºÝ DB2 HTML ¤å¥ó©Î¥~³¡ºô¯¸¡A ¸Õ¹Ï ±q¡u¸ê°T¤¤¤ß¡v¶}±Ò¥~³¡ºô¯¸±N¾É­P Netscape µo¥Í¿ù»~¡C ¿ù»~·|´£¨ì "Netscape §ä¤£¨ì¦WºÙ¬° ªºÀɮשΥؿý"¡C ­Y­n¸Ñ¨M³o­Ó°ÝÃD¡A½Ð¦b¶}±Ò¥~³¡ºô¯¸¤§«e¡AÃö³¬¶}±Òªº Netscape ÂsÄý¾¹¡C Netscape ±N­«·s±Ò°Ê¨Ã°_©l¥~³¡ºô¯¸¡C ½Ðª`·N¡A§Q¥Î¤w¶}±Òªº Netscape ¨Ó¶}±Ò¥»ºÝ DB2 HTML ¤å¥ó¤£·|µo¥Í³o­Ó¿ù»~¡C ------------------------------------------------------------------------ 19.3 ±Ò°Ê¡u¸ê°T¤¤¤ß¡vªº°ÝÃD ¦b¬Y¨Ç¨t²Î¤W¡A­Y±z¨Ï¥Î¡u¶}©l¥\¯àªí¡v¡B¡u²Ä¤@­Ó¨BÆJ¡v©Î db2ic «ü¥O¨Ó©I¥s¡u¸ê °T¤¤¤ß¡v¡A±Ò°Ê³t«×·|«D±`ºC¡C ­Y¹J¨ì³o­Ó°ÝÃD¡A½Ð±Ò°Ê¡u±±¨î¤¤¤ß¡v¡A µM«á¿ï¨ú »¡©ú --> ¸ê°T¤¤¤ß¡C ------------------------------------------------------------------------ ºëÆF ------------------------------------------------------------------------ 20.1 ¦b«Ø¥ß¸ê®Æ®wºëÆF³]©wÂX¥R¤j¤p ¥i¥H¨Ï¥Î«Ø¥ß¸ê®Æ®wºëÆF¨Ó³]©w·s«Ø¸ê®Æ®w¤§¨Ï¥ÎªÌªí®æªÅ¶¡ªº (¤£¬O¥Ø¿ý©Î¼È®Éªí ®æªºªí®æªÅ¶¡) ÂX¥R¤j¤p©M¹w¥ý´£¨ú¤j¤p°Ñ¼Æ¡C¥u¦³·í¨Ï¥ÎªÌªí®æªÅ¶¡¦b¡u¨Ï¥ÎªÌªí ®æ¡vºëÆF«ü©w¦Ü¤Ö¤@­Ó°t¸m°Ï®É¡A¤~·|±Ò¥Î¦¹¯S©Ê¡C ------------------------------------------------------------------------ 20.2 MQSeries »²§UºëÆF DB2 ª©¥» 7.2 ´£¨Ñ·sªº MQSeries »²§UºëÆF¡C¦¹ºëÆF«Ø¥ß¤@­Óªí®æ¨ç¼Æ¡A ¨Ï¥Î DB2 MQSeries Functions ¨ÓŪ¨ú MQSeries ¦î¦C¡A DB2 MQSeries Functions ¥ç¬°ª©¥» 7.2 ¤¤ªº·s¥\¯à¡C ®Ú¾Ú±zªº³]©w¡A¦¹ºëÆF¥i±N¨C¤@«h MQSeries °T®§µø¬°¤@­Ó¦³©w¬É ²Å¸¹ªº¦r¦ê¡A ©Î¤@­Ó©T©wªø«×ªºª½Äæ¦r¦ê¡C «Ø¥ßªºªí®æ¨ç¼Æ¥i®Ú¾Ú±zªº³]©w¨Ó­åªR ¦r¦ê¡A ±N¨C¤@«h MQSeries °T®§¶Ç¦^¦¨¤@¦Cªí®æ¨ç¼Æ¡C ¦¹ºëÆF¥ç¥iÅý±z¦bªí®æ¨ç¼Æ ¤§¤W«Ø¥ß·§²¤ªí¡A¹wÄý MQSeries °T®§©Mªí®æ¨ç¼Æµ²ªG¡C ³o­ÓºëÆF¥i±q¡uÀx¦sµ{§Ç«Ø ¸m¾¹¡v©Î¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¨Ó±Ò°Ê¡C ¥»ºëÆFªº»Ý¨D¬°¡G * MQSeries ª©¥» 5.2 * MQSeries À³¥Îµ{¦¡¶Ç°T¤¶­± (AMI) * DB2 MQSeries Function Ãö©ó³o¨Ç»Ý¨Dªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\MQSeries¡C Ãö©ó½d¨Ò»P MQSeries »²§UºëÆFªº±Ð¾Ç«ü¾É¡A½Ð¸õ¦Ü http://www.ibm.com/software/data/db2/udb/ide ªº±Ð¾Ç«ü¾É¬q¸¨¡C ------------------------------------------------------------------------ 20.3 OLE DB »²§UºëÆF ¦¹ºëÆF¨ó§U±z«Ø¥ß¤@­Óªí®æ¨ç¼Æ¡A±q¤ä´© Microsoft OLE DB ¼Ð·Çªº¥t¤@­Ó¸ê®Æ®w´£ ¨ÑªÌ¨ÓŪ¨ú¸ê®Æ¡C ¥t¥~¡A±z¥i«Ø¥ß¤@­Ó DB2 ªí®æ¡A¥Ñ OLE DB ªí®æ¨ç¼Æ¨Ó´£¨Ñ³Æ§´ ªº¸ê®Æ¡A ±z¥ç¥i«Ø¥ß OLE DB ªí®æ¨ç¼Æªº·§²¤ªí¡C³o­ÓºëÆF¥i±q¡uÀx¦sµ{§Ç«Ø¸m¾¹¡v ©Î¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¨Ó±Ò°Ê¡C ¥»ºëÆFªº»Ý¨D¬°¡G * OLE DB ´£¨ÑªÌ (¦p Oracle ©Î Microsoft SQL Server) * OLE DB ¤ä´©¥\¯à Ãö©ó½d¨Ò»P OLE DB »²§UºëÆFªº±Ð¾Ç«ü¾É¡A½Ð¸õ¦Ü http://www.ibm.com/software/data/db2/udb/ide ªº±Ð¾Ç«ü¾É¬q¸¨¡C ------------------------------------------------------------------------ Business Intelligence ³¡¥÷¥Ø¿ý * Business Intelligence ±Ð¾Ç«ü¾É o 21.1 ¸g¹L­×­qªº Business Intelligence ±Ð¾Ç«ü¾É * ¸ê®Æ­ÜÀx¤¤¤ßºÞ²z¤â¥U o 22.1 ºÃÃø±Æ¸Ñ o 22.2 ³]¸m Excel ¬°­ÜÀx¨Ó·½ o 22.3 ©w¸q¤Î°õ¦æµ{§Ç o 22.4 ¶×¥X´y­z¸ê®Æ¹ï¸Ü o 22.5 ¬° Submit OS/390 JCL ¤u§@¦ê¬yµ{¦¡ (VWPMVS) ©w¸q­È o 22.6 Åܧó¸ê®Æ­ÜÀx½d¨Òªþ¿ý o 22.7 ¸ê®Æ­ÜÀx¤¤¤ß°T®§ o 22.8 ¦b DB2 OLAP Integration Server ¤¤«Ø¥ß®Ø¬[¨Ã¸ü¤J¸ê®Æ o 22.9 ±N Classic Connect »P¸ê®Æ­ÜÀx¤¤¤ß·f°t¨Ï¥Î o 22.10 ¸ê®Æ­ÜÀx¤¤¤ßÀô¹Òµ²ºc o 22.11 ¨Ï¥Î Invert Âà´«µ{¦¡ o 22.12 ¥H DB2 ª©¥» 7 ­ÜÀx¥N²zµ{¦¡¦s¨ú DB2 ª©¥» 5 ¸ê®Æ + 22.12.1 ²¾Âà DB2 ª©¥» 5 ¦øªA¾¹ + 22.12.2 Åܧó¥N²zµ{¦¡¬[ºc + 22.12.2.1 UNIX ­ÜÀx¥N²zµ{¦¡ + 22.12.2.2 Microsoft Windows NT¡BWindows 2000 ©M OS/2 ­Ü Àx¥N²zµ{¦¡ o 22.13 IBM ERwin ´y­z¸ê®Æ¨ú¥Xµ{¦¡ + 22.13.1 ¤º®e + 22.13.2 ³nÅé»Ý¨D + 22.13.3 µ{¦¡ÀÉ + 22.13.4 «Ø¥ß¼Ð¥Ü»y¨¥ÀÉ + 22.13.5 ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v + 22.13.6 ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v + 22.13.7 ºÃÃø±Æ¸Ñ + 22.13.8 ERwin »P DB2 ¸ê®Æ­ÜÀx¤¤¤ßªº¹ï¬M + 22.13.8.1 ERwin »P¸ê°T«¬¿ýºÞ²zµ{¦¡ªº¹ï¬M o 22.14 ¿z¿ï¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº¦WºÙ»P¦ì§} + 22.14.1 + 22.14.1.1 °ò¥»­n¨D + 22.14.1.2 Trillium ³nÅé¨t²Î¤¸¥ó + 22.14.1.3 ±N¡uTrillium §å¦¸¨t²Î¡v»P¡u¸ê®Æ­ÜÀx¤¤¤ß¡v·f°t ¨Ï¥Î + 22.14.1.4 ¶×¤J Trillium ´y­z¸ê®Æ + 22.14.1.5 ¹ï¬M´y­z¸ê®Æ + 22.14.1.6 ­­¨î + 22.14.2 ¼¶¼g Trillium §å¦¸¨t²Î JCL ÀÉ + 22.14.3 ¦b UNIX ©M Windows ¤W¼¶¼g Trillium §å¦¸¨t²Î Script ÀÉ + 22.14.4 ©w¸q Trillium §å¦¸¨t²Î¨BÆJ + 22.14.5 ¨Ï¥Î¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡ + 22.14.6 ¿ù»~³B²z±`¦¡ + 22.14.6.1 ¿ù»~¦^ÂнX + 22.14.6.2 ¤é»xÀÉ o 22.15 MQ Series »P¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº¾ã¦X + 22.15.1 «Ø¥ß MQSeries °T®§ªº·§²¤ªí + 22.15.1.1 °ò¥»­n¨D + 22.15.1.2 ­­¨î + 22.15.1.3 «Ø¥ß MQSeries °T®§ªº·§²¤ªí + 22.15.2 ¶×¤J MQSeries °T®§©M XML ´y­z¸ê®Æ + 22.15.2.1 °ò¥»­n¨D + 22.15.2.2 ­­¨î + 22.15.2.3 ¶×¤J MQSeries °T®§»P XML ´y­z¸ê®Æ + 22.15.2.4 ¨Ï¥Î MQSeries ¨Ï¥ÎªÌ©w¸qµ{¦¡ + 22.15.2.5 ¿ù»~¦^ÂнX + 22.15.2.6 ¿ù»~¤é»xÀÉ o 22.16 Microsoft OLE DB »P¡u¸ê®Æ²§°ÊªA°È¡v¤ä´© + 22.16.1 «Ø¥ß OLE DB ªí®æ¨ç¼Æªº·§²¤ªí + 22.16.2 «Ø¥ß DTS ¸ê®Æ¥]ªº·§²¤ªí o 22.17 ¼W¶q COMMIT ·f°t replace ¨Ï¥Î o 22.18 ¤¸¥ó°lÂܸê®ÆÀɦW o 22.19 AIX ¤Î Solaris §@·~Àô¹Ò¤W Sybase ¨Ó·½»Ý­nªº OPEN CLIENT o 22.20 ½d¨Òµn¿ý§ó¥¿ o 22.21 ²Ä 3 ³¹ ³]©w­ÜÀx¨Ó·½ + 22.21.1 ¹ï¬M Microsoft Access ¤¤ªº³Æ§Ñ¿ýÄæ¦ì¦Ü­ÜÀx¨Ó·½ o 22.22 ²Ä 10 ³¹ ºûÅ@­ÜÀx¸ê®Æ®w + 22.22.1 Ãìµ²ªí®æ¦Ü DB2 UDB RUNSTATS µ{¦¡ªº¨BÆJ¦¸Ãþ«¬ o 22.23 ¹w³]­ÜÀx±±¨î¸ê®Æ®w o 22.24 ­ÜÀx±±¨î¸ê®Æ®wºÞ²zµøµ¡ o 22.25 Åܧó§@¥Î¤¤­ÜÀx±±¨î¸ê®Æ®w o 22.26 «Ø¥ß©M°_©l³]©w­ÜÀx±±¨î¸ê®Æ®w o 22.27 «Ø¥ßª©¥»ªº SQL ¨BÆJ o 22.28 ¦b¡uµ{§Ç¼Ò«¬¡vµøµ¡¤¤¡AÅܧó¨Ó·½©Î¥Ø¼Ð o 22.29 ·s¼W»¡©ú¦Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡vª«¥ó o 22.30 °õ¦æ¡u½d¨Ò¤º®e¡v o 22.31 ½s¿è Create DDL SQL ³¯­z¦¡ o 22.32 ²¾Âà Visual Warehouse °Ó·~À˵ø o 22.33 «Ø¥ß¥Ø¼Ðªí®æ¤Î¥D­nÁä o 22.34 ¨Ï¥Î Merant ODBC ÅX°Êµ{¦¡ o 22.35 ·s«Ø ODBC ÅX°Êµ{¦¡ o 22.36 ©w¸q OS/2 ¸ê®Æ®w¤¤ªº­ÜÀx¨Ó·½©Î¥Ø¼Ð o 22.37 ºÊ·þ­ÜÀx±±¨î¸ê®Æ®wªºª¬ºA o 22.38 ¨Ï¥Î SQL »²§Uµ{¦¡»P TBC_MD ½d¨Ò¸ê®Æ®w o 22.39 ¨Ï¥Î FormatDate ¨ç¼Æ o 22.40 Åܧó»y¨¥³]©w o 22.41 ¨Ï¥Î¡u²£¥ÍÁä­Èªí®æ¡vÂà´«µ{¦¡ o 22.42 ºûÅ@¸ê®Æ®w³s±µ o 22.43 ³]©w»·ºÝ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v±qÄݯ¸ o 22.44 ©w¸q DB2 for VM ­ÜÀx¨Ó·½ o 22.45 ©w¸q DB2 for VM ©Î DB2 for VSE ¥Ø¼Ðªí®æ o 22.46 ±Ò¥Î¦³©w¬É²Å¸¹ªºÃѧO¦r¤ä´© o 22.47 Data Joiner ¿ù»~«ü¥X³sµ²°ÝÃD o 22.48 ¸ê®Æ­ÜÀx¤¤¤ß³]©w©M°õ¦æ§Û¼g o 22.49 ºÃÃø±Æ¸Ñ¯µ³Z o 22.50 ¦s¨ú¨Ó·½©M¥Ø¼ÐÀÉ o 22.51 ¤ä´©ªº«D IBM ¸ê®Æ®w¨Ó·½ªº·s¼W¨Æ¶µ o 22.52 ¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¤â°Ê«Ø¥ß¸ê®Æ¨Ó·½ o 22.53 ¨Ï¥Î Common Warehouse Metadata Interchange (CWMI) ¶×¤J¤Î¶× ¥X´y­z¸ê®Æ + 22.53.1 ²¤¶ + 22.53.2 ¶×¤J´y­z¸ê®Æ + 22.53.3 ¦b°õ¦æ¶×¤J¤½¥Îµ{¦¡¤§«á§ó·s´y­z¸ê®Æ + 22.53.4 ¶×¥X´y­z¸ê®Æ o 22.54 OS/390 Runstats ¤½¥Îµ{¦¡¨BÆJ o 22.55 OS/390 ¸ü¤J¤½¥Îµ{¦¡¨BÆJ o 22.56 Common Warehouse Metamodel (CWM) XML ¤ä´© o 22.57 ³B²z¼Ò«¬²£¥Í¾¹ o 22.58 ºõ¥Ø¼Ò«¬²£¥Í¾¹ o 22.59 ¥²­n¿é¤JÄæ¦ì o 22.60 ¡u¸ê®Æ­ÜÀx¤¤¤ß¡vµo®g¥x¥[±j¥\¯à o 22.61 ¦C¦L¨BÆJ¸ê°T¨ìÀÉ®× * Data Warehouse Center Application Integration Guide(µL¤¤¤åª©) o 23.1 Additional metadata templates + 23.1.1 Commit.tag + 23.1.1.1 Tokens + 23.1.1.2 Examples of values + 23.1.2 ForeignKey.tag + 23.1.2.1 Tokens + 23.1.2.2 Examples of values + 23.1.3 ForeignKeyAdditional.tag + 23.1.3.1 Tokens + 23.1.3.2 Examples of values + 23.1.4 PrimaryKey.tag + 23.1.4.1 Tokens + 23.1.4.2 Examples of values + 23.1.5 PrimaryKeyAdditional.tag + 23.1.5.1 Tokens + 23.1.5.2 Examples of values * ¸ê®Æ­ÜÀx¤¤¤ß½u¤W»¡©ú o 24.1 ©w¸q§Û¼gªºªí®æ©Î·§²¤ªí o 24.2 °õ¦æ¨ã¦³ AS/400 ¥N²zµ{¦¡ªº Essbase VWPs o 24.3 ¨Ï¥Î¤½§G¸ê®Æ­ÜÀx¤¤¤ß´y­z¸ê®Æµøµ¡¤Î¤wµ²¦Xªº¤º®eµøµ¡ o 24.4 ¥~¨ÓÁä o 24.5 §Û¼gµ§°O¥» o 24.6 ¶×¤J¼Ð¥Ü»y¨¥ o 24.7 ·s¼W¸ê®ÆªºÃìµ² o 24.8 ¶×¤Jªí®æ o 24.9 RUNSTATS ©M REORGANIZE TABLE ½u¤W»¡©ú¶°¦X o 24.10 ¡u³qª¾¡v­¶­±¡A¡u­ÜÀx¤º®e¡v»P¡u±Æµ{¡vµ§°O¥» o 24.11 ¡u¥N²zµ{¦¡ºÝ¡vµ§°O¥»ªº¥N²zµ{¦¡¼Ò²ÕÄæ¦ì * DB2 OLAP Starter Kit o 25.1 OLAP Server ºô¯¸ o 25.2 ¤ä´©ªº§@·~¨t²ÎªA°Èµ{¦¡µ¥¯Å o 25.3 §¹¦¨ DB2 OLAP Starter Kit ¦b UNIX ¤Wªº¦w¸Ë o 25.4 ¬[ºc OLAP Starter Kit ªº ODBC + 25.4.1 ¦b UNIX ¨t²Î¬[ºc¸ê®Æ¨Ó·½ + 25.4.1.1 ¬[ºc ODBC Àô¹ÒÅÜ¼Æ + 25.4.1.2 ½s¿è odbc.ini ÀÉ®× + 25.4.1.3 ·s¼W¸ê®Æ¨Ó·½¨ì odbc.ini ÀÉ + 25.4.1.4 ODBC ªº DB2 ³]©w­È½d¨Ò + 25.4.1.5 ODBC ªº Oracle ³]©w­È½d¨Ò + 25.4.2 ¦b UNIX ¨t²Î¤W¬[ºc OLAP ´y­z¸ê®Æ«¬¿ý + 25.4.3 ¦b Windows ¨t²Î¤W¬[ºc¸ê®Æ¨Ó·½ + 25.4.4 ¦b Windows ¨t²Î¤W¬[ºc OLAP ´y­z¸ê®Æ«¬¿ý + 25.4.5 ¦b±z¬[ºc¸ê®Æ¨Ó·½¤§«á o 25.5 ±q OLAP Starter Kit ®à¤WºÞ²zµ{¦¡µn¤J + 25.5.1 Starter Kit µn¤J½d¨Ò o 25.6 ¦Û¦æ«Ø¥ß©M¬[ºc OLAP Starter Kit ªº½d¨Ò¸ê®Æ®w o 25.7 ²¾ÂàÀ³¥Îµ{¦¡¦Ü OLAP Starter Kit ª©¥» 7.2 o 25.8 ¤wª¾°ÝÃD»P­­¨î o 25.9 OLAP ¸Õºâªí¼W¯q¶° EQD Àɮ׿ò¥¢ * ¸ê°T«¬¿ýºÞ²zµ{¦¡ºÞ²z¤â¥U o 26.1 ¸ê°T«¬¿ýºÞ²zµ{¦¡°_©l³]©w¤½¥Îµ{¦¡ + 26.1.1 + 26.1.2 ª©Åv°ÝÃD + 26.1.3 ¦w¸Ë°ÝÃD o 26.2 ¥H DB2 ª©¥» 7 ¸ê°T«¬¿ýºÞ²zµ{¦¡¦s¨ú DB2 ª©¥» 5 ¸ê°T«¬¿ý o 26.3 ³]¸m¸ê°T«¬¿ý o 26.4 »P¨ä¥¦²£«~¥æ´«´y­z¸ê®Æ o 26.5 ¨Ï¥Î flgnxoln «ü¥O¥æ´«´y­z¸ê®Æ o 26.6 ¨Ï¥Î MDISDGC «ü¥O¥æ´«´y­z¸ê®Æ o 26.7 ©I¥sµ{¦¡ * Information Catalog Manager Programming Guide and Reference(µL¤¤¤åª©) o 27.1 Information Catalog Manager Reason Codes * ¸ê°T«¬¿ýºÞ²zµ{¦¡¨Ï¥Î¤â¥U * ¸ê°T«¬¿ýºÞ²zµ{¦¡¡G½u¤W°T®§ o 29.1 °T®§ FLG0260E o 29.2 °T®§ FLG0051E o 29.3 °T®§ FLG0003E o 29.4 °T®§ FLG0372E o 29.5 °T®§ FLG0615E * ¸ê°T«¬¿ýºÞ²zµ{¦¡¡G½u¤W»¡©ú o 30.1 Web ¸ê°T«¬¿ýºÞ²zµ{¦¡ * DB2 Warehouse Manager ¦w¸Ë¤â¥U o 31.1 ­ÜÀxÂà´«µ{¦¡ªº³nÅé»Ý¨D o 31.2 SAP R/3 Connector + 31.2.1 ¦w¸Ë¥ý¨M±ø¥ó o 31.3 Web Connector + 31.3.1 ¦w¸Ë¥ý¨M±ø¥ó * Query Patroller Administration Guide(µL¤¤¤åª©) o 32.1 DB2 Query Patroller Client is a Separate Component o 32.2 Migrating from Version 6 of DB2 Query Patroller Using dqpmigrate o 32.3 Enabling Query Management o 32.4 Location of Table Space for Control Tables o 32.5 New Parameters for dqpstart Command o 32.6 New Parameter for iwm_cmd Command o 32.7 New Registry Variable: DQP_RECOVERY_INTERVAL o 32.8 Starting Query Administrator o 32.9 User Administration o 32.10 Creating a Job Queue o 32.11 Using the Command Line Interface o 32.12 Query Enabler Notes o 32.13 DB2 Query Patroller Tracker may Return a Blank Column Page o 32.14 Query Patroller and Replication Tools o 32.15 Appendix B. Troubleshooting DB2 Query Patroller Clients ------------------------------------------------------------------------ Business Intelligence ±Ð¾Ç«ü¾É ------------------------------------------------------------------------ 21.1 ¸g¹L­×­qªº Business Intelligence ±Ð¾Ç«ü¾É FixPak 2 ¥]¬A¤F­×­q¹Lªº Business Intelligence ±Ð¾Ç«ü¾É¤Î¸ê®Æ­ÜÀx¤¤¤ß½d¨Ò¸ê ®Æ®w (§ó¥¿¤F³\¦hª©¥» 7.1 ¤¤©Ò¦s¦bªº°ÝÃD)¡C¬°¤F¤Þ¥Î­×­q¹Lªº¸ê®Æ­ÜÀx¤¤¤ß½d¨Ò ¸ê®Æ®w¡A ½Ð°õ¦æ¤U¦C¨Æ¶µ¡G ¦pªG±z©|¥¼¦w¸Ë½d¨Ò¸ê®Æ®w¡A½Ð¨Ï¥Î¡u²Ä¤@­Ó¨BÆJ¡vµo®g¥x¨Ó«Ø¥ß·sªº½d¨Ò¸ê®Æ®w¡C «ö¤@¤U ¶}©l¡A ¿ï¨ú µ{¦¡¶° --> IBM DB2 --> ²Ä¤@­Ó¨BÆJ¡C ¦pªG±z¦b¥ý«e¤w¦w¸Ë¤F½d¨Ò¸ê®Æ®w¡A½Ð±N½d¨Ò¸ê®Æ®w DWCTBC¡BTBC_MD ¤Î TBC ±Ë±ó¡C ¦pªG±z¹ï½d¨Ò¸ê®Æ®w·s¼W¤F¥ô¦ó­n«O¦sªº¸ê®Æ¡A½Ð¦b±Ë±ó¸ê®Æ®w¤§«e±N¸ê®Æ³Æ¥÷¡C­Y ­n±Ë±ó³o¤T­Ó½d¨Ò¸ê®Æ®w¡G 1. ¶}±Ò DB2 ©R¥Oµøµ¡¡A«ö¤@¤U¶}©l¡A ¦A¿ï¨ú µ{¦¡¶° --> IBM DB2 --> ©R¥Oµøµ¡ ¡C 2. ¦b DB2 ©R¥Oµøµ¡¤¤¡AÁä¤J¤U¦C¤T¦æ©R¥O (Áä¤J¨C¤@¦æ«á«ö Enter)¡G db2 drop database dwctbc db2 drop database tbc_md db2 drop database tbc 3. Ãö³¬ DB2 ©R¥Oµøµ¡¡C 4. ¨Ï¥Î¡u²Ä¤@­Ó¨BÆJ¡vµo®g¥x¨Ó«Ø¥ß·sªº½d¨Ò¸ê®Æ®w¡C«ö¤@¤U ¶}©l¡A ¿ï¨ú µ{¦¡ ¶° --> IBM DB2 --> ²Ä¤@­Ó¨BÆJ¡C ------------------------------------------------------------------------ ¸ê®Æ­ÜÀx¤¤¤ßºÞ²z¤â¥U ------------------------------------------------------------------------ 22.1 ºÃÃø±Æ¸Ñ ¸ê®Æ­ÜÀx¤¤¤ßºÃÃø±Æ¸Ñ¸ê°T²¾¦Ü DB2 Troubleshooting Guide¡C ------------------------------------------------------------------------ 22.2 ³]¸m Excel ¬°­ÜÀx¨Ó·½ ¦b¡u²Ä 3 ³¹ ³]©w­ÜÀx¨Ó·½¡vªº¡u¦b Windows NT ¤W³]¸m«D DB2 ¸ê®Æ®w­ÜÀx¨Ó·½ ¡v ¤¤¡A¦³Ãö Microsoft Excel ªº¬q¸¨¯Ê¤Ö¤@­Ó¨BÆJ¡C·sªº¨BÆJÅã¥Ü¦b¥H¤Uªº¨BÆJ 3 ¤§ ¤¤¡C ¦pªG±z¥¿¦b¨Ï¥Î Microsoft Excel 95/97 ODBC ÅX°Êµ{¦¡¦s¨ú Excel ¸Õºâªí¡A±z¥²¶· ¬°¸Õºâªí¤¤ªº¨C­Ó¤u§@ªí«Ø¥ß¤@­Ó¤w©R¦Wªºªí®æ¡C­Y­n¬°¨C¤@­Ó¤u§@ªí«Ø¥ß¤w©R¦Wªº ªí®æ¡G 1. ¿ï¨ú±z­nªºª½Äæ©M¾î¦C¡C 2. «ö¤@¤U Excel ---> ´¡¤J ---> ¦WºÙ ---> ©w¸q¡C 3. ½Ð½T»{¡u©w¸q¦WºÙ¡vµøµ¡ªº¡u°Ñ·Ó¡vÄæ¦ì¥]§t¤F±z¦b¨BÆJ 1 ¤¤©Ò¿ï¨úªº¸ê®Æ ®æ¡C ¦pªG¨S¦³¡A½Ð«ö¤@¤U¡u°Ñ·Ó¡vÄæ¦ì³Ì¥kÃ䪺¹Ï¥Ü¡A¨Ó¥]§t©Ò¦³±z¤w¿ï¨úªº ¸ê®Æ®æ¡C 4. ¬°¤w¼Ð°Oªº¸ê®Æ¿é¤J¦WºÙ (©Î¨Ï¥Î¹w³]¦WºÙ)¡C 5. «ö¤@¤U¡u½T©w¡v¡C ------------------------------------------------------------------------ 22.3 ©w¸q¤Î°õ¦æµ{§Ç ¦b¡u²Ä 5 ³¹ ©w¸q¤Î°õ¦æµ{§Ç¡vªº¡u±q¸ê®Æ­ÜÀx¤¤¤ß¥~±Ò°Ê¨BÆJ¡v¤¤¡A ½Ðª`·N¨ì¦b­Ü Àx¦øªA¾¹¤u§@¯¸¤Î¥N²zµ{¦¡ºÝ¤W»Ý­n JDK 1.1.8 ©Î§ó·sªºª©¥»¡A ¦pªG±z±Ò°Êªº¨BÆJ ¦³Âù¦ì¤¸²Õªº¦WºÙ¡C ------------------------------------------------------------------------ 22.4 ¶×¥X´y­z¸ê®Æ¹ï¸Ü ¦b²Ä 12 ³¹¡u¶×¥X¤Î¶×¤J¸ê®Æ­ÜÀx¤¤¤ß´y­z¸ê®Æ¡vªº¡u±N´y­z¸ê®Æ¶×¥X¦Ü¼Ð¥Ü»y¨¥ ÀÉ¡v³o¤@¸`¤¤¡A¨BÆJ 5 À³¦p¤U©Ò¥Ü¡G ¦pªG±z¤£·Q¶×¥X»P±z¥¿¶×¥X¤§µ{§Ç¬ÛÃöªº®Éµ{ªí¸ê°T¡A ½Ð²M°£¨Ö¤J®Éµ{ªí¤Ä¿ï®Ø¡C ------------------------------------------------------------------------ 22.5 ¬° Submit OS/390 JCL ¤u§@¦ê¬yµ{¦¡ (VWPMVS) ©w¸q­È ¦b 180 ­¶¡A¡u©w¸q Submit OS/390 JCL ¤u§@¦ê¬yµ{¦¡¡v(VWPMVS) ³¹¸`¤º¨BÆJ 8¡A »¡©ú¦b JES ÀɮצP¤@­Ó¥Ø¿ý¤U©w¸q .netrc ÀɮסC¸Óµ{¦¡«o«Ø¥ß¤F .netrc ÀɮסC ¦pªG³o­ÓÀɮפ£¦s¦b¡A¸Óµ{¦¡·|¦b°_©l¥Ø¿ý¤U«Ø¥ß¥¦¡C ¦pªG .netrc Àɮפw¸g¦s¦b¡A «h¸Óµ{¦¡·|§ó§ï²{¦sÀɪºÀɦW¨Ã«Ø¥ß·sÀɮסCµ{¦¡§¹¦¨³B²zµ{§Ç®É¡A·s«Ø¥ßªº .netrc ÀÉ®×·|³Q§R°£¡A¦A§â­ì¨ÓªºÀɮתºÀɦW§ó§ï¬° .netrc¡C ------------------------------------------------------------------------ 22.6 Åܧó¸ê®Æ­ÜÀx½d¨Òªþ¿ý * ¦b¸ê®Æ­ÜÀx½d¨Òªþ¿ý¤º¡A¡uÀ˵ø©M­×§ï½d¨Ò´y­z¸ê®Æ¡v¤@¸`¤¤¡A¨Ó·½ªí®æªº¦C¥Ü ¤º§t GEOGRAPHIESªí®æ¡C * ¦b¸ê®Æ­ÜÀx½d¨Òªþ¿ýªº¡u´£ª@¨BÆJ¡v¤@¸`¤¤¡A´£ª@²£«~¼Ò¦¡µ{§Ç¤º¡A¤U¦C³¯­z¦¡ ¬O¤£¥¿½Tªº¡A¦]¬°¥Ø¼Ðªí®æ¬O¦b±z´£ª@´ú¸Õ¼Ò¦¡¨BÆJ®É©Ò«Ø¥ß¡G ¸ê®Æ­ÜÀx¤¤¤ß¶}©l«Ø¥ß¥Ø¼Ðªí®æ¡A¨ÃÅã¥Ü¶i«×µøµ¡¡C ------------------------------------------------------------------------ 22.7 ¸ê®Æ­ÜÀx¤¤¤ß°T®§ ¦b Microsoft Windows NT ¤Î Windows 2000 ¤W¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v·|±N¨Æ¥ó°O¸ü¦b ¨t²Îªº¨Æ¥ó¤é»x¤¤¡C¨ä¨Æ¥ó ID ·|¹ïÀ³¨ì¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº°T®§½X¤W¡C¦³Ãö¡u¸ê®Æ ­ÜÀx¤¤¤ß¡v°T®§ªº¸ê°T¡A½Ð°Ñ¾\ °T®§°Ñ¦Ò¤â¥U¡C ------------------------------------------------------------------------ 22.8 ¦b DB2 OLAP Integration Server ¤¤«Ø¥ß®Ø¬[¨Ã¸ü¤J¸ê®Æ ²Ä 315 ­¶ªº¹Ï 20 ¦³»~¡C¤U¦C«ü¥O¤~¬O¥¿½T¡G "C:\IS\bin\olapicmd" < "C:\IS\Batch\my_script.script" > "C:\IS\Batch\my_script.log" ­Y¸ô®|¤¤ªº¥Ø¿ý¦WºÙ¤¤§t¦³ªÅ¥Õ (¦p¡GProgram Files)¡A±z¥²¶·¨Ï¥ÎÂù¤Þ¸¹¬A¦í "C:\IS\bin\olapicmd"¡C ------------------------------------------------------------------------ 22.9 ±N Classic Connect »P¸ê®Æ­ÜÀx¤¤¤ß·f°t¨Ï¥Î * ¦b¡uªþ¿ý F ±N Classic Connect »P¸ê®Æ­ÜÀx¤¤¤ß·f°t¨Ï¥Î¡v¤¤¡A ²Ä 359 ­¶ªº ¡u¦w¸Ë CROSS ACCESS ODBC ÅX°Êµ{¦¡¡v³¹¸`ªº¤º®e¤w§ï¬°¤U¦C±Ô­z¡G °õ¦æ DB2 Warehouse Manager ª©¥» 7 ªº¦Û­q¦w¸Ë¡A¥H¦w¸Ë CROSS ACCESS ODBC ÅX°Êµ{¦¡¡A¨Ã¿ï¨ú¡uClassic Connect ÅX°Êµ{¦¡¡v¤¸¥ó¡C¦¹ÅX°Êµ{¦¡¤£ÄÝ©ó DB2 Warehouse Manager ¼Ð·Ç¦w¸Ëªº¤@³¡¥÷¡C CROSS ACCESS ODBC ÅX°Êµ{¦¡·|³Q¦w¸Ë¨ì SQLLIB ¥Ø¿ýªº ODBC32 ¤l¥Ø¿ý¤¤¡C ¦b¦w¸Ë§¹¦¨«á¡A±z¥²¶·¦Û¦æ±NÅX°Êµ{¦¡ªº¸ô®| (¨Ò¦p¡AC:\Program Files\SQLLIB\ ODBC32)¥[¨ì PATH ¨t²ÎÀô¹ÒÅܼơC¦pªG±z¤w¦w¸Ë¨ä¥¦ª©¥»ªº CROSS ACCESS ODBC ÅX°Êµ{¦¡¡A§â ...\SQLLIB\ODBC32\ ¸ô®|©ñ¨ì¨ä¥¦ª©¥»¸ô®|ªº«e­±¡C§@·~¨t²Î·|¨Ï ¥Î¥]¬A CROSS ACCESS ODBC ÅX°Êµ{¦¡ªº¸ô®|¤¤ªº²Ä¤@­Ó¥Ø¿ý¡C * ¤U¦Cµ{§ÇÀ³¸Ó­n¥[¨ì ¡uªþ¿ý F ±N Classic Connect »P¸ê®Æ­ÜÀx¤¤¤ß·f°t¨Ï ¥Î¡v¤¤¡G ¦w¸Ë Classic Connect ODBC ÅX°Êµ{¦¡¡G 1. ´¡¤J Warehouse Manager CD-ROM ¨ì¥úºÐ¾÷¤¤¡C µo®g¥x´N·|¶}±Ò¡C 2. «ö¤@¤Uµo®g¥xªº¦w¸Ë¡C 3. ¦b¡u¿ï¨ú²£«~¡vµøµ¡¤¤¡A½Ð½T©w¿ï¨ú¤F DB2 Warehouse Manager ¤Ä¿ï®Ø¡A µM«á«ö¤@¤U¤U¤@¨B¡C 4. ¦b¡u¿ï¨ú¦w¸ËÃþ«¬¡vµøµ¡¤¤¡A½Ð¿ï¨ú¦Û­q¦w¸Ë¡A µM«á«ö¤@¤U¤U¤@¨B¡C 5. ¦b¡u¿ï¨ú¤¸¥ó¡vµøµ¡¤¤¡A¿ï¨ú Classic Connect ÅX°Êµ{¦¡¤Î ­ÜÀx¥N²zµ{ ¦¡¡A²M°£©Ò¦³¨ä¥¦ªº¤Ä¿ï®Ø¡AµM«á«ö¤@¤U¤U¤@¨B¡C 6. ¦b¡u¶}©l½Æ»sÀɮסvµøµ¡¡A½Æ¬d±zªº¿ï¾Ü¡C¦pªG±z­nÅܧó¥ô¦ó¿ï¶µ¡A ½Ð«ö ¤W¤@¨B¦^¨ì­nÅܧó¿ï¶µªºµøµ¡¡C«ö¤@¤U¤U¤@¨B¡A¶}©l¦w¸Ë¡C ------------------------------------------------------------------------ 22.10 ¸ê®Æ­ÜÀx¤¤¤ßÀô¹Òµ²ºc ¦b²Ä 371 ­¶ªº¡uªþ¿ý G ¸ê®Æ­ÜÀx¤¤¤ßÀô¹Òµ²ºc¡v¤¤¡A ªí®æ¤¤¦³¤@­Ó¤£¥¿½Tªº¶µ¥Ø¡C C:\Program Files\SQLLIB\ODBC32¨Ã¨S¦³¥[¨ì PATH Àô¹ÒÅܼơC PATH Àô¹ÒÅܼƩҰµ ªº°ß¤@§ó·s¬° C:\Program Files\SQLLIB\BIN¡C ------------------------------------------------------------------------ 22.11 ¨Ï¥Î Invert Âà´«µ{¦¡ ®Ñ¤¤´£¨ì Invert Âà´«µ{¦¡¥i¥H®Ú¾Ú°Ñ¼Æ¨Ó«Ø¥ß¥Ø¼Ðªí®æ¡A ¦ý¬O¥¦¨S¦³´£¨ì²£¥Íªº¥Ø ¼Ðªí®æ¤£·|¦³´Á±æªº¿é¥Xª½Äæ¡A¥²¶·¦b¥Ø¼Ðªí®æ¤¤©ú¥Õªº«Ø¥ß³o¨Çª½Äæ¡C ------------------------------------------------------------------------ 22.12 ¥H DB2 ª©¥» 7 ­ÜÀx¥N²zµ{¦¡¦s¨ú DB2 ª©¥» 5 ¸ê®Æ DB2 ª©¥» 7 ­ÜÀx¥N²zµ{¦¡¥Ñ DB2 ª©¥» 7 ¦w¸Ëµ{§Ç¬[ºc¡A ¤ä´©¹ï DB2 ª©¥» 6 ©M DB2 ª©¥» 7 ¸ê®Æªº¦s¨ú¡C±ý¦s¨ú DB2 ª©¥» 5 ªº¸ê®Æ¡A±z¥²¶·±Ä¨ú¤U¦C¨ä¤¤¤@¶µ¤è ªk¡G * ²¾Âà DB2 ª©¥» 5 ¦øªA¾¹ ¦Ü DB2 ª©¥» 6 ©Î DB2 ª©¥» 7¡C * ©ó¾A·íªº§@·~¨t²Î¤¤­×§ï¥N²zµ{¦¡¬[ºc¡A¥i¥H¦s¨ú DB2 ª©¥» 5 ªº¸ê®Æ¡C DB2 ª©¥» 7 ­ÜÀx¥N²zµ{¦¡¤£¤ä´© DB2 ª©¥» 2 ©Î¤§«eª©¥»¸ê®Æªº¦s¨ú¡C 22.12.1 ²¾Âà DB2 ª©¥» 5 ¦øªA¾¹ ¦³Ãö²¾Âಾ DB2 ª©¥» 5 ¦øªA¾¹ªº¸ê°T¡A½Ð°Ñ¾\§@·~¨t²Îªº DB2 Universal Database §Ö³t¤Jªù¡C 22.12.2 Åܧó¥N²zµ{¦¡¬[ºc ¤U¦C¸ê°T»¡©ú¦p¦óÅܧó¦U§@·~¨t²Î¤§¥N²zµ{¦¡¬[ºc¡C ²¾Âà DB2 ¦øªA¾¹¦Ü DB2 ª©¥» 6 ©Î§ó·sª©®É¡A°£¥h¬[ºcªºÅܧó¡C 22.12.2.1 UNIX ­ÜÀx¥N²zµ{¦¡ ³]©w UNIX ­ÜÀx¥N²zµ{¦¡¡ACLI ©Î ODBC ¦s¨ú«ü¥O¹ï DB2 ª©¥» 5 ¤§¸ê®Æªº¦s¨ú¡G 1. ¦w¸Ë DB2 ª©¥» 6 °õ¦æ®É¶¡±qÄݯ¸¡C¦Û¤U¦C URL ¿ï¨ú±qÄݯ¸¤U¸ü¡A¥i¥H±o¨ì°õ ¦æ®É¶¡±qÄݯ¸¡G http://www.ibm.com/software/data/db2/udb/support 2. §ó·s­ÜÀx¥N²zµ{¦¡¬[ºcÀÉ¡ADB2INSTANCE Àô¹ÒÅܼƫü¦V DB2 ª©¥» 6 ®×¨Ò¡C 3. ½s¥Ø DB2 ª©¥»®×¨Òªº©Ò¦³¸ê®Æ®w¡A¦s¨ú­ÜÀx¥N²zµ{¦¡¡C 4. µo¥X¥N²z±`¾nµ{¦¡µ{§Ç ID ªº§R°£«ü¥O¡A°±¤î¥N²z±`¾nµ{¦¡µ{§Ç¡C¥N²z±`¾nµ{¦¡ ±N¦Û°Ê­«·s±Ò°Ê¡C§R°£µ{§Ç»Ý­n¦³ root Åv­­¡C 22.12.2.2 Microsoft Windows NT¡BWindows 2000 ©M OS/2 ­ÜÀx¥N²zµ{¦¡ ³]©w Microsoft NT¡BWindows 2000 ©Î OS/2 ­ÜÀx¥N²zµ{¦¡¡A¦s¨ú DB2 ª©¥» 5 ªº¸ê ®Æ¡C 1. ¦b¨S¦³¦w¸Ë DB2 ª©¥» 7.2 ­ÜÀx¥N²zµ{¦¡ªº¤u§@¯¸¡A¦w¸Ë DB2 Connect Enterprise Edition ª©¥» 6¡C DB2 Connect Enterprise Edition ¬O DB2 Universal Database Enterprise Edition ©M DB2 Universal Database Enterprise - Extended Edition ªº¤@³¡ ¤À¡C¦pªG¦w¸Ë³o¨Ç DB2 ²£«~ªºª©¥» 6¡AµL¶·¥t¥~¦w¸Ë DB2 Connect¡C ­­¨î: ¦b¬Û¦Pªº Windows NT ©Î OS/2 ¤u§@¯¸¡A¤£¯à¦w¸Ë DB2 ¦h­«ª©¥»¡C ±z¥i ¥H¦b¨ä¥¦ Windows NT ¤u§@¯¸¡B OS/2 ¤u§@¯¸©Î UNIX ¤u§@¯¸¤W¦w¸Ë DB2 Connect¡C 2. ¬[ºc­ÜÀx¥N²zµ{¦¡©M DB2 Connect ª©¥» 6¡A¦s¨ú DB2 ª©¥» 5 ªº¸ê®Æ¡C¸Ô²Ó¸ê °T¡A½Ð°Ñ¾\ DB2 Connect ¨Ï¥Î¤â¥U¡C¥H¤U¬°¥²­n¨BÆJªº·§Æ[¡G a. ¦b DB2 ª©¥» 5 ¨t²Î¡A¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹½s¥Øª©¥» 5 ªº¸ê®Æ®w¡A¦s ¨ú­ÜÀx¥N²zµ{¦¡¡C b. ¦b DB2 Connect ¨t²Î¡A¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹¶i¦æ½s¥Ø¡G + DB2 ª©¥» 5 ¨t²Îªº TCP/IP ¸`ÂI + DB2 ª©¥» 5 ¨t²Îªº¸ê®Æ®w + DB2 ª©¥» 5 ¨t²Îªº DCS µn¿ý¶µ¥Ø c. ©ó­ÜÀx¥N²zµ{¦¡¤u§@¯¸¡A¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹¶i¦æ½s¥Ø¡G + DB2 Connect ¨t²Îªº TCP/IP ¸`ÂI + DB2 Connect ¨t²Îªº¸ê®Æ®w ¦³Ãö½s¥Ø¸ê®Æ®wªº¸ê°T¡A½Ð°Ñ¾\ DB2 Universal Database ¦w¸Ë»P¬[ºc¸É¥R 3. ©ó­ÜÀx¥N²zµ{¦¡¤u§@¯¸¡A±N DB2 CLI ®M¸Ë³nÅé©M³z¹L DB2 Connect ©Ò¦s¨úªº¦U ­Ó¸ê®Æ®w¶i¦æ³sµ²¡C ¤U¦C DB2 «ü¥O´£¨Ñ³sµ²¨ì v5database ªº½d¨Ò¡A ¤@­Ó°²³]©Êªº DB2 ª©¥» 5 ªº ¸ê®Æ®w¡C ¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹µo¥X¤U¦C«ü¥O¡Cdb2cli.lst ¤Î db2ajgrt ªº ¦ì¸m¦b \sqllib\bnd ¥Ø¿ý¤¤¡C db2 connect to v5database user userid using password db2 bind db2ajgrt.bnd db2 bind @db2cli.lst blocking all grant public ¨ä¤¤ userid ¬O v5database ªº¨Ï¥ÎªÌ ID¡A ¦Ó password ¬O¨Ï¥ÎªÌ ID ªº³q¦æ ½X¡C db2cli.list ³Q³sµ²¨ì DB2 ª©¥» 5 ¸ê®Æ®w®É¡A·|µo¥Í¿ù»~¡Cµo¥Í¿ù»~¡A¬O¦]¬° ¦¹¬[ºc¨Ã¤£¤ä´©¤j«¬ª«¥ó¡C³o¶µ¿ù»~¤£·|¼vÅT­ÜÀx¥N²zµ{¦¡¹ï DB2 ª©¥» 5 ¸ê®Æ ®wªº¦s¨ú¡C »Ý­n¦³ DB2 Universal Database ª©¥» 5 ªº FixPak 14 (©ó 2000 ¦~ 6 ¤ëµo ¦æ)¡A ¤~¯à³z¹L DB2 Connect ¨Ó¦s¨ú DB2 ª©¥» 5 ªº¸ê®Æ¡C½Ð°Ñ·Ó FixPak ¤º ªº APAR ½s¸¹ JR14507¡C ------------------------------------------------------------------------ 22.13 IBM ERwin ´y­z¸ê®Æ¨ú¥Xµ{¦¡ 22.13.1 ¤º®e ³nÅé»Ý¨D µ{¦¡ÀÉ «Ø¥ß¼Ð¥Ü»y¨¥ÀÉ ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v ºÃÃø±Æ¸Ñ ERwin ¨ì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¹ï¬M ERwin ¨ì¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¹ï¬M ¥»¸`»¡©ú¦p¦ó¨Ï¥Î IBM ERwin Metadata Extract Program ¨Ó±q ER1 Àɨú¥X´y­z¸ê ®Æ¡A¥H¤Î«Ø¥ß¡uDB2 ¸ê®Æ­ÜÀx¤¤¤ß¡v©Î¡u¸ê°T«¬¿ýºÞ²zµ{¦¡ (DataGuide)¡v¼Ð¥Ü»y¨¥ ÀÉ¡C ´y­z¸ê®Æ¨ú¥Xµ{¦¡·|¨ú¥X©Ò¦³¹êÅ骫¥ó (¦pÀx¦s©ó¿é¤J ER1 Àɤ¤ªº¸ê®Æ®w¡Bªí®æ¤Îª½ Äæ)¡A ¨Ã¥B±N´y­z¸ê®Æ¼Ò«¬¼g¤J¡u¸ê®Æ­ÜÀx¤¤¤ß¡v©Î¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¼Ð¥Ü»y¨¥ Àɤ¤¡C«Ø¥ßª«¥ó¤§¶¡ (¦p¸ê®Æ®w©Mªí®æ¤§¶¡¡A¥H¤Îªí®æ©M¹êÅ餧¶¡) ªº©Ò¦³¹ïÀ³Ãö«Y ¼ÐÅҮɡA¤]·|Â^¨ú¤Î«Ø¥ß¥Ñ¹êÅé¤ÎÄݩʲզ¨ªº¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤§ÅÞ¿è¼Ò«¬¡C¹ï ¤£§t¸ê®Æ®wªºªí®æ¦Ó¨¥¡A·|«Ø¥ß¤@­Ó¦W¬° DATABASE ªº¹w³]¸ê®Æ®w¡C¹ï¤£§tºõ¥Øªºªí ®æ¦Ó¨¥¡A·|¨Ï¥Î¹w³]ºõ¥Ø USERID¡C¹ï¼Ò«¬¦WºÙ¦Ó¨¥¡A·|¨Ï¥Î ER1 ÀɦW¡C¦³Ãö ER1 ÄÝ ©Ê¹ï¬M¦Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡v©Î¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡vªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\¡uERwin »P DB2 ¸ê®Æ­ÜÀx¤¤¤ßªº¹ï¬M¡v©M¡uERwin »P¸ê°T«¬¿ýºÞ²zµ{¦¡ªº¹ï¬M¡v¡C ´y­z¸ê®Æ¨ú¥Xµ{¦¡¤ä´©¨ã¦³ÃöÁp¦¡¸ê®Æ®wªº©Ò¦³ ER1 ¼Ò«¬¡A ¥]¬A DB2¡BInformix¡B Oracle¡BSybase¡BODBC ¸ê®Æ¨Ó·½¤Î Microsoft SQL Server¡C 22.13.2 ³nÅé»Ý¨D ¨t²Î»Ý²Å¦X¤U¦Cªº³nÅé»Ý¨D¥H°õ¦æ´y­z¸ê®Æ¨ú¥Xµ{¦¡¡G * Windows NT 4.0 ©Î¥H¤W * ERwin 3.5.2 (¸Ë¦³ Service Pack 3 Build 466) ¨t²Î»Ý²Å¦X¤U¦Cªº³nÅé»Ý¨D¥H¶×¤J ERwin ¼Ð¥Ü»y¨¥ÀÉ¡G ¸ê®Æ­ÜÀx¤¤¤ß¡G IBM DB2 Universal Database ª©¥» 7.2 ¸ê°T«¬¿ýºÞ²zµ{¦¡¡G IBM DB2 Warehouse Manager ª©¥» 7.2 ¼ÒªO¼Ð¥Ü»y¨¥ÀÉ (.tag) ¥²¶·¦ì©ó VWS_TEMPLATES Àô¹ÒÅܼƩҫü¥Üªº¥Ø¿ý¤¤¡C Ãþ«¬¼Ð¥Ü»y¨¥ÀÉ (.typ) ¥²¶·¦ì©ó DGWPATH Àô¹ÒÅܼƩҫü¥Üªº¥Ø¿ý¤¤¡C 22.13.3 µ{¦¡ÀÉ ´y­z¸ê®Æ¨ú¥Xµ{¦¡¦w¸Ë¦b IBM DB2 ¥Ø¿ýªº sqllib\bin ¦¸¥Ø¿ý¤¤¡C ¦¹µ{¦¡±N¤U¦CÀÉ ®×¦w¸Ë¨ì±zªº¥Ø¿ý¤¤¡G flgerwin.exe ¥D­nªº²¾Âàµ{¦¡ erwext.dll ¼Ð¥Ü»y¨¥Àɲ£¥Í¾¹ DLL cdmerwsn.dll ERwin API ¥~¼hÃþ§O DLL ­Y­n±Ò°Ê¨ú¥Xµ{¦¡¡A½Ð±q«ü¥O´£¥Ü¤Wµo¥X flgerwin «ü¥O¡C 22.13.4 «Ø¥ß¼Ð¥Ü»y¨¥ÀÉ ­Y­n«Ø¥ß¡u¸ê®Æ­ÜÀx¤¤¤ß¡v©Î¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¼Ð¥Ü»y¨¥ÀÉ¡A ½Ð°õ¦æ flgerwin.exe µ{¦¡¨Ã´£¨Ñ¨â­Ó¥D­n°Ñ¼Æ¡C²Ä¤@­Ó°Ñ¼Æ¬°´y­z¸ê®Æ¦Û¨ä¤¤¨ú¥Xªº ER1 ÀÉ¡C²Ä¤G­Ó°Ñ¼Æ¬°¿é¥X¼Ð¥Ü»y¨¥Àɪº¦WºÙ¡C¨Ì¹w³]¡A¨ú¥Xµ{¦¡±N MERGE °Ñ¼Æ¥[¤J¡u¸ê ®Æ­ÜÀx¤¤¤ß¡v¼Ð¥Ü»y¨¥Àɤ¤¡C «ü¥O»yªk¬°¡G flgerwin inputFile.er1 outputFile.tag [-dwc] [-icm] [ -m] [-u] [-a] [-d] «Ø¥ß¬Pª¬ºõ¥Øªº«ü¥O»yªk¬°¡G flgerwin inputFile.er1 outputFile.tag [-dwc] [-starschema] -dwc ½Ð«Ø¥ß¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¼Ð¥Ü»y¨¥ÀÉ¡C±z¥i¨Ï¥Î -dwc ªº¿ï¥Î©Ê°Ñ¼Æ -m »P -starschema¡C -icm ½Ð«Ø¥ß¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¼Ð¥Ü»y¨¥ÀÉ¡C -icm ¥i¥Îªº¿ï¥Î©Ê°Ñ¼Æ¬° -m¡B-u ¡B-a ¤Î -d¡C -starschema ½Ð«Ø¥ß ERwin ¼Ò«¬¬Pª¬ºõ¥Ø¼Ð¥Ü»y¨¥ÀÉ¡C -m «ü©wª«¥ó¤Wªº°Ê§@¬° MERGE¡C -u «ü©wª«¥ó¤Wªº°Ê§@¬° UPDATE¡C -a «ü©wª«¥ó¤Wªº°Ê§@¬° ADD¡C -d «ü©wª«¥ó¤Wªº°Ê§@¬° DELETE¡C ´y­z¸ê®Æ¨ú¥Xµ{¦¡¨Ï¥Îªº¬O´y­z¸ê®Æ¦Ó«D¸ê®Æ¡C§¹¦¨ ERwin ¼Ð¥Ü»y¨¥ÀɶפJ«á¤Î¨Ï¥Î ¥Ø¼Ðªí ®æ¤§«e¡A±z¥²¶·²Å¦X³q¦æ½X¤Î¨Ï¥ÎªÌ ID¡C±N´y­z¸ê®Æ»P²{¦sªº¸ê®Æ®w¸ê®Æ¦X ¨Ö¡G ¦b¤º®e --> ¸ê®Æ®w --> ¨Ï¥ÎªÌ ID ¤UÅܧó¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¨Ï ¥ÎªÌ ID ©M³q¦æ½X¡A ¨Ï²Å¦X¤w¦X¨Öªº¸ê®Æ®w¨Ï¥ÎªÌ ID ©M³q¦æ½X¡C ³z¹L´y­z¸ê®Æ¨ú¥Xµ{¦¡¡A±z¥i¥H¶×¤J¼Ð¥Ü»y¨¥Àɧ@¬°¥Ø¼Ð¡C ¦b³Ì·s¶×¤Jªº´y­z¸ê®Æ ¤¤¡A©|¥¼²¾¤J¤@¨Çªí®æ¡C±z¥i¥H¥ÎÅÞ¿è©Î¹êÅéªí¥ÜªkÀ˵ø³o¨Ç ªí®æ¡AµM«á«Ø¥ß¤@­Ó­Ü Àx¨BÆJ¨Ó²¾¤J±q ERwin ¶×¤Jªºªí®æ©w¸q¡C ¿é¤J ER1 ÀÉ®×¥²¶·³B©ó¥i¼g¤Jª¬ºA¡C°õ¦æ´y­z¸ê®Æ¨ú¥Xµ{¦¡«á¡A ER1 ÀɮקYÅܦ¨°ß Ūª¬ºA¡C­Y­nÅܧó¬°Åª¨ú/¼g¤J¼Ò¦¡¡A½Ð¨Ï¥Î¦p¤U©Ò½d¨Ò©Ò¥Üªº«ü¥O¡G attrib -r erwinsimplemode.er1 ¨ä¤¤¡Aerwinsimplemode.er1 ¬O ERwin ¯Â¤å¦rÀɪº¦WºÙ¡C ­Y ER1 Àɮפw¨Ï¥Î©ó²{¦æ ERwin ¶¥¬q§@·~¤¤¡A©Î°»´ú¨ì¬Y­Ó¿ù»~ª¬ªp¡A «h´y­z¸ê®Æ ¨ú¥Xµ{¦¡¥H°ßŪª¬ºAÀx¦s ER1 ÀɮסC­Y ER1 Àɮ׳B©ó°ßŪª¬ºA¡A ±z·|¦¬¨ì¤@­Ó²§±` µ{¦¡²×¤î¿ù»~°T®§¡C´y­z¸ê®Æ¨ú¥Xµ{¦¡·|Åã¥Ü¥Ø«e³B²zªºªí®æ¦WºÙ¡C ·í´y­z¸ê®Æ¨ú¥X µ{¦¡§¹¦¨³B²z®É¡A±z·|¦¬¨ì¤@«h°Ñ¦Ò°T®§¡C ·í±zÂǥѱNºû«×ªí®æ¦Û°Êµ²¦X¦¨¨Æ¹êªí®æ¨Ó«Ø¥ß¬Pª¬ºõ¥Ø®É¡A »Ý­n¤@¬q®É¶¡¤~¯à§¹¦¨ ³B²zµ{§Ç¡A¦Ó©Ò»Ý­nªº®É¶¡µø±z¨Ï¥Îªºªí®æ¼Æ¥Ø¦Ó©w¡C ¦b³B²zµ{§Ç´Á¶¡¡A¦Û°Êµ²¦X¦æ ¬°ºñ¦â¡CÀx¦s¤§«á¡A¦Û°Êµ²¦X¦æ·|Åܦ¨¶Â¦â¡C ¨Ï¥Î¦Û°Ê²£¥Íªº­­¨î¦WºÙ¨Ó½T«O­­¨î¦WºÙ¬O°ß¤@ªº¡C ¦b³B²zµ{§Ç´Á¶¡¡A±z·|¦¬¨ì°T®§ "µo²{­«½Æªºª½Äæ¡C ª½Äæ±NµLªk³Q¨ú¥X¡C" ³o¬O¤@­Ó °Ñ¦Ò°T®§¡A¨Ã¤£¼vÅT¨ú¥Xµ{¦¡ªº¶¶§Q§¹¦¨¡C ·í¥~¨ÓÁ䪺¹êÅé¦WºÙ»P¥Ø«e©Ò³B²zªí®æ¤¤ ªºª½Ä椧¹êÅé¦WºÙ¬Û¦P®É¡A·|Åã¥Ü¦¹°T®§¡C 22.13.5 ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v ±z¥i¥H¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¡C±z¥i¥H¨Ï¥Î¡u¸ê®Æ­ÜÀx¤¤¤ß¡v©Î©R¥O ¦æ¡C ­Y­n¨Ï¥Î¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¶×¤J¼Ð¥Ü»y¨¥ÀÉ¡A½Ð¡G 1. «ö¤@¤U ¶}©l --> µ{¦¡¶° --> IBM DB2 --> ±±¨î¤¤¤ß¡C§Y·|¶}±Ò DB2¡u±±¨î¤¤ ¤ß¡v¡C 2. ¶}±Ò¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¨Ãµn¤J¡C 3. ¦b­ÜÀx¤W«ö¤@¤U¥kÁä¡C§Y·|¶}±Ò¡u¶×¤J¡vµøµ¡¡C 4. «ö¤@¤U ¶×¤J´y­z¸ê®Æ -> ERwin¡C§Y¥i¶}±Ò¶×¤J´y­z¸ê®Æµøµ¡¡C 5. ¦b¿é¤JÀÉÄæ¦ì¤¤¡AÁä¤J¿é¤J¼Ð¥Ü»y¨¥Àɪº¦WºÙ¡A¨Ã«ö¤@¤U½T©w¡C 6. ¤Ä¿ï¨ú¥X¬Pª¬ºõ¥Ø¤Ä¿ï®Ø¡A¥H©w¸q ERwin ¬Pª¬ºõ¥Ø´y­z¸ê®Æ¼Ò«¬¬°­ÜÀxºõ¥Ø¡C §¹¦¨¶×¤J¤§«á¡A±z¥i¥H«ö¤@¤UÀ˵ø --> ´_·s¥HÀ˵ø·sªº¨BÆJ¡C ­Y­n¨Ï¥Î©R¥O¦æ¶×¤J¼Ð¥Ü»y¨¥ÀÉ¡A½Ð¡G iwh2imp2 tag-filename log-pathname target-control-db userid password tag-filename ¼Ð¥Ü»y¨¥Àɪº§¹¾ã¸ô®|©MÀɮצWºÙ¡C log-pathname ¤é»xÀɪº§¹¾ã¸ô®|¦WºÙ¡C target-control-db ¶×¤Jªº¥Ø¼Ð¸ê®Æ®w¦WºÙ¡C userid ¥Î¨Ó¦s¨ú±±¨î¸ê®Æ®wªº¨Ï¥ÎªÌ ID¡C password ¥Î¨Ó¦s¨ú±±¨î¸ê®Æ®wªº³q¦æ½X¡C ­Y­nÅܧó DB2 ¸ê®Æ®w©w¸q¨Ï¨ä¦¨¬°¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤ªº¤@­Ó¨Ó·½¡A ±z¥i¥HÅܧó¼Ð ¥Ü»y¨¥ÀÉ¡G * °w¹ï±z­n§@¬°¨Ó·½ªº¨C¤@­Ó¸ê®Æ®w¡A±N ISWH ¼Ð¥Ü±q ISWH(Y) ÅÜ§ó¬° ISWH(N)¡C * °w¹ï±z­n§@¬°¨Ó·½ªº¨C¤@­Ó¸ê®Æ®w¡A±NÃö«Y¼Ð¥Ü±q :RELTYPE.TYPE(LINK) SOURCETYPE(SCGTARIR) TARGETYPE(DATABASE) ÅÜ§ó¬° :RELTYPE.TYPE(LINK) SOURCETYPE(SCGSRCIR) TARGETYPE(DATABASE)¡C ¶×¤J¼Ð¥Ü»y¨¥ÀÉ«á¡A±z·|¦¬¨ì¤U¦C°T®§¡G Message: DWC13238E The object of type "COLUMN" identified by "DBNAME(___) OWNER(___) TABLE(___) COLUMNS(___)" is defined twice in the tag language file. ³o¬O¤@­Ó°Ñ¦Ò°T®§¡A±zªº¶×¤J¤w¶¶§Q§¹¦¨¡C ­Y±z¾Ö¦³ªº¹êÅé¨ã¦³¦P¦Wªº¥~¨ÓÁä¡A©Î¾Ö ¦³ªº¹êÅé¨ã¦³¨üºIÂ_¼vÅTªºÃþ¦ü¤w©R¦Wª½Äæ¡A ©Î¨ä¥¦Ãþ¦üªº±¡ªp¡A±z·|¦¬¨ì¦¹°T®§¡C Àˬd±zªº¼Ò«¬¬O§_¦³­«½Æªºª½Äæ¦WºÙ¡A µM«á¶i¦æ¾A·íªº½Õ¾ã¡C 22.13.6 ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v ¶×¤J¼Ð¥Ü»y¨¥Àɨì¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¦³¨â­Ó¤èªk¡C ±z¥i¥H¨Ï¥Î¡u¸ê°T«¬¿ýºÞ²z ªÌ¡v©Î¨Ï¥Î«ü¥O¦æ¡C ¨Ï¥Î¡u¸ê°T«¬¿ýºÞ²zªÌ¡v¨Ó¶×¤J¼Ð¥Ü»y¨¥ÀÉ¡G 1. «ö¤@¤U¶}©l --> µ{¦¡¶° --> DB2 --> ¸ê°T«¬¿ýºÞ²zµ{¦¡¡C 2. «ö¤@¤U«¬¿ý --> ¶×¤J¡C§Y·|¶}±Ò¡u¶×¤J¡vµøµ¡¡C 3. «ö¤@¤U´M§ä¨Ó·j´M¼Ð¥Ü»y¨¥ÀÉ¡AµM«á«ö¤@¤U¶×¤J¡C §¹¦¨¶×¤J¤§«á¡A±z¥i¥H«ö¨â¤U¥D¦®¹Ï¥Ü¡A³o·|¶}±Ò¤@­Óµøµ¡¡AÅã¥Ü©Ò¦³¶×¤Jªº¼Ò«¬¤Î ¸ê®Æ®w¡C ­Y­n¨Ï¥Î©R¥O¤¶­±¶×¤J¼Ð¥Ü»y¨¥ÀÉ¡A½Ð¿é¤J¤U¦C«ü¥O¡G DGUIDE /USERID userid /PASSWORD password /DGNAME dgname /IMPORT filename /LOGFILE filename /ADMIN /RESTART (B|C) /USERID ¥Î¨Ó¦s¨ú±±¨î¸ê®Æ®wªº¨Ï¥ÎªÌ ID¡C /PASSWORD ¨Ï¥ÎªÌ ID ªº³q¦æ½X¡C /DGNAME ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¦WºÙ¡C /IMPORT ¼Ð¥Ü»y¨¥Àɪº§¹¾ã¸ô®|©MÀɮצWºÙ¡C /LOGFILE ¤é»xÀɪº§¹¾ã¸ô®|¦WºÙ¡C /ADMIN «ü¥Ü±z¥HºÞ²zªÌ¨­¥÷µn¤J¡C /RESTART «ü¥Ü¶×¤J±N±q¼Ð¥Ü»y¨¥Àɶ}ÀY³B±Ò°Ê (¿ï¶µ B)¡A©Î±q¤W¤@­Ó½T©wÂI±Ò°Ê (¿ï¶µ C¡A¹w³]­È)¡C 22.13.7 ºÃÃø±Æ¸Ñ ­Y±z¦¬¨ì¿ù»~°T®§¡A½Ð¦b¦¹³Bªº°T®§¤¤§ä¨ì¸Ñ¨M¿ù»~¥i±Ä¨úªº°Ê§@¡C ¿ò¥¢ªº ER1 ¿é¤JÀɩμХܿé¥XÀÉ¡C ´y­z¸ê®Æ¨ú¥Xµ{¦¡»Ý­n¯S©w¦¸§Çªº¨â­Ó°Ñ¼Æ¡C ²Ä¤@­Ó°Ñ¼Æ¬° ER1 ÀɦW¡A²Ä¤G­Ó°Ñ¼Æ ¬°¼Ð¥Ü¿é¥XÀɦWºÙ¡C ­Y«ü©w²{¦sªº¼Ð¥Ü»y¨¥ÀɦWºÙ¡A«hÀÉ®×·|³Q§ï¼g¡C Windows ¨t²Î²§±`µ{¦¡²×¤î¡C ¿é¤J ER1 ÀÉ¥i¯à³B©ó°ßŪª¬ºA¡C­YÀx¦s ER1 Àɮɵo¥Í°ÝÃD¡A¦Ó¥B´y­z¸ê®Æ¨ú¥Xµ{¦¡ ±N¸Ó Àɮ׸m©ó°ßŪ¼Ò¦¡¤¤¡A«h·|µo¥Í¦¹±¡ªp¡C½Ð¦b«ü¥O Shell ¤¤µo¥X¤U¦C«ü¥O¡G attrib -r inputFile.er1 ÂÇ¥H±N ER1 Àɮת¬ºAÅܧó¬°Åª¨ú/¼g¤J¡C µLªk¶}±Ò¼Ð¥Ü»y¨¥ÀÉ¡C Àˬd¨t²Î¤¤¦³µL³y¦¨ÀÉ®×µLªk¦b²{¦æºÏºÐ¾÷¶}±Ò©Î«Ø¥ßªº¥ô¦ó°ÝÃD¡C §ä¤£¨ì¼ÒªOÀɪº¸ô®|¡C ¥¼³]©wÀô¹ÒÅÜ¼Æ VWS_TEMPLATES¡CÀˬd¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¬O§_¤w¦w¸Ë¡C §ä¤£¨ìÃþ«¬Àɪº¸ô®|¡C ¥¼³]©wÀô¹ÒÅÜ¼Æ DGWPATH¡CÀˬd¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¬O§_¤w¦w¸Ë¡C ¥¼¤ä´©ªº¦øªA¾¹ª©¥»¡G... ±z¹Á¸Õ¦Û¨ä¤¤¨ú¥Xªº¿é¤J ER1 ÀÉÀx¦s¦b¤£¨üµ{¦¡¤ä´©ªº¥Ø¼Ð¦øªA¾¹¤W¡C ½Ð±Ò°Ê ERwin¡B¶}±Ò ER1 ÀÉ¡AµM«á«ö¤@¤U¦øªA¾¹ --> ¥Ø¼Ð¦øªA¾¹¡A¥H¤Î¾A·íªºª©¥» [½Ð°Ñ¾\ ³nÅé»Ý¨D]¡CÀx¦s ER1 ÀÉ¡C ¤£©úªº ERwAPI ¿ù»~¡C µo¥Í ERwin API ¿ù»~¡Aµ{¦¡µLªk¨ú±o¿ù»~ªº¬ÛÃö¸ê°T¡C ½Ð½T©w ERwin 3.5.2 ¤w¦w ¸Ë¡C±z¥²¶·µn°O ERwin API¡C ­Y­nµn°O ERwin API¡A½Ð±q¦w¸Ë ERwin µ{¦¡ÀÉ©Ò¦bªº¥Ø¿ý°õ¦æ¤U¦C«ü¥O¡G regsvr32 er2api32.dll¡C ±z·|¬Ý¨ì°T®§ "DllRegisterServer in er2api32.dll succeeded"¡C ±z¥i¥H±q¡u¸ê®Æ­ÜÀx¤¤¤ß¡v±Ò°Ê¨ú¥Xµ{¦¡¡A©Î±q«ü¥O Shell µo¥X flgerwin «ü¥O¨Ó±Ò °Ê¨ú¥Xµ{¦¡¡C ¨ú¥Xµ{¦¡¿ù»~¡G... Àˬd¿ù»~°T®§¨Ã±Ä¨ú¾A·í°Ê§@¡C³o³Ì¦³¥i¯à¬O¤º³¡¨ú¥Xµ{¦¡¿ù»~¡A ½Ð¦V IBM ·~°È¥N ªí³ø§i°ÝÃD¡C ¤£©úªº¨ú¥Xµ{¦¡¿ù»~¡C µo¥Í¤£©úªº¿ù»~¡C³o³Ì¦³¥i¯à¬O¤º³¡¿ù»~¡A½Ð¦V IBM ·~°È¥Nªí³ø§i°ÝÃD¡C ¨ú¥Xµ{¦¡¦]¿ù»~¦Ó²×¤î¡C µo¥ÍµLªk¶¶§Q§¹¦¨¨ú¥Xµ{¦¡ªº¿ù»~¡C ½Ð°Ñ¾\ªþ¥[ªº¿ù»~°T®§¥H¸Ñ¨M°ÝÃD¡A©ÎÁpµ¸ IBM ·~°È¥Nªí¡C 22.13.8 ERwin »P DB2 ¸ê®Æ­ÜÀx¤¤¤ßªº¹ï¬M ¥»¸`»¡©ú¥D­n ERwin ª«¥óÄݩʦp¦ó¹ïÀ³¨ì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¼Ð¥Ü¡G ¸ê®Æ®w - WarehouseDatabase.tag ©Î SourceDatabase.tag ERwin ©R¥O¦æ¼Ð¥Ü ¸ê®Æ­ÜÀx¤¤¤ß ¹Ï¸Ñ¦WºÙ NAME ­ÜÀx¨Ó·½©Î­ÜÀx¥Ø¼Ðªº¦WºÙ ¹Ï¸Ñ§@ªÌ RESPNSBL Ápµ¸ ¸ê®Æ®w¦WºÙ DBNAME ¸ê®Æ®w¦WºÙ ¸ê®Æ®wª©¥» DBTYPE ¸ê®Æ®wÃþ«¬ ¹Ï¸Ñ»¡©ú SHRTDESC »¡©ú ªí®æ - Table.tag ERwin ©R¥O¦æ¼Ð¥Ü ¸ê®Æ­ÜÀx¤¤¤ß ªí®æ¦WºÙ NAME ªí®æ¦WºÙ ªí®æ¦WºÙ TABLES ªí®æ¦WºÙ ¸ê®Æ®w¦WºÙ DBNAME µL ªí®æ¾Ö¦³ªÌ OWNER ªí®æºõ¥Ø ªí®æµù¸Ñ SHRTDESC »¡©ú ª½Äæ - Column.tag ERwin ©R¥O¦æ¼Ð¥Ü ¸ê®Æ­ÜÀx¤¤¤ß ª½Äæ¦WºÙ NAME ª½Äæ¦WºÙ ¸ê®ÆÃþ«¬ NATIVEDT ¸ê®ÆÃþ«¬ ªø«× LENGTH ªø«× ¤p¼Æ¦ì¼Æ SCALE ¤p¼Æ¦ì¼Æ Null ¿ï¶µ NULLABLE ±µ¨üªÅ­È (¤Ä¿ï®Ø) ¦ì¸m POSNO µL ¥D­nÁä KEYPOSNO µL ¸ê®Æ®w¦WºÙ DBNAME µL ªí®æ¾Ö¦³ªÌ OWNER µL ªí®æ¦WºÙ TABLES µL ª½Äæµù¸Ñ SHRTDESC »¡©ú 22.13.8.1 ERwin »P¸ê°T«¬¿ýºÞ²zµ{¦¡ªº¹ï¬M ¥»¸`»¡©ú¥D­n ERwin ª«¥óÄݩʦp¦ó¹ïÀ³¨ì¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¼Ð¥Ü¡G ¸ê®Æ®w - Database.tag ERwin ©R¥O¦æ¼Ð¥Ü ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¶­± ¹Ï¸Ñ¦WºÙ NAME ¸ê®Æ®w¦WºÙ ¹Ï¸Ñ§@ªÌ RESPNSBL ¸ê®Æ®w¾Ö¦³ªÌ ¸ê®Æ®w¦WºÙ DBNAME ¸ê®Æ®w¦WºÙ ¸ê®Æ®wª©¥» DBTYPE ¸ê®Æ®wÃþ«¬ ¹Ï¸Ñ»¡©ú SHRTDESC ²µuªº»¡©ú ªí®æ - TableOrView.tag ERwin ©R¥O¦æ¼Ð¥Ü ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¶­± ªí®æ¦WºÙ NAME ªí®æ¦WºÙ ªí®æ¦WºÙ TABLES ªí®æ¦WºÙ ¸ê®Æ®w¦WºÙ DBNAME ¸ê®Æ®w¦WºÙ ªí®æ¾Ö¦³ªÌ OWNER ªí®æ¾Ö¦³ªÌ ªí®æµù¸Ñ SHRTDESC ²µuªº»¡©ú ERwin API TABLVIEW ©w¸q¥Nªí¤@­Ó·§²¤ªí ª½Äæ - ColumnOrField.tag ERwin ©R¥O¦æ¼Ð¥Ü ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¶­± ª½Äæ¦WºÙ NAME ª½Äæ¦WºÙ ¸ê®ÆÃþ«¬ DATATYPE ª½Ä檺¸ê®ÆÃþ«¬ ªø«× LENGTH ª½Ä檺ªø«× ¤p¼Æ¦ì¼Æ SCALE ª½Ä檺¤p¼Æ¦ì¼Æ Null ¿ï¶µ NULLS ª½Äæ¥i§_¬°ªÅ­È (?) ¦ì¸m POSNO ª½Äæ¦ì¸m ¥D­nÁä KEYPOSNO ¥D­nÁ䤤ª½Ä檺¦ì¸m ERwin API ISKEY ª½Äæ¬O§_¬°Á䪺¤@³¡¥÷ (?) ERwin API UNIQKEY ª½Äæ¬O§_¬°°ß¤@Áä (?) ¸ê®Æ®w¦WºÙ DBNAME ¸ê®Æ®w¦WºÙ ªí®æ¾Ö¦³ªÌ OWNER ªí®æ¾Ö¦³ªÌ ªí®æ¦WºÙ TABLES ªí®æ¦WºÙ ª½Äæµù¸Ñ SHRTDESC ²µuªº»¡©ú ERwin ISTEXT ¸ê®Æ¬O§_¬°¤å¦r (?) ERwin API IDSRES ¸ê®Æªº¸ÑªR«× ¼Ò«¬ - Model.tag ERwin ©R¥O¦æ¼Ð¥Ü ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¶­± ER1 ÀɦW NAME ¼Ò«¬¦WºÙ ¹Ï¸Ñ§@ªÌ RESPNSBL ¶i¤@¨B¸ê°T... ¹Ï¸Ñ»¡©ú SHRTDESC ²µuªº»¡©ú ¹êÅé - Entity.tag ERwin ©R¥O¦æ¼Ð¥Ü ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¶­± ¹êÅé¦WºÙ NAME ¹êÅé¦WºÙ ªþµù SHRTDESC ²µuªº»¡©ú ©w¸q LONGDESC ¸Ô²Ó»¡©ú ¹êÅé¾Ö¦³ªÌ RESPNSBL ¶i¤@¨B¸ê°T... ÄÝ©Ê - Attribute.tag ERwin ©R¥O¦æ¼Ð¥Ü ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¶­± ª«¥ó¦WºÙ NAME ª«¥ó¦WºÙ ªþµù SHRTDESC ²µuªº»¡©ú ©w¸q LONGDESC ¸Ô²Ó»¡©ú ¸ê®ÆÃþ«¬ DATATYPE ¦¨­ûªº¸ê®ÆÃþ«¬ ªø«× LENGTH ¦¨­ûªºªø«× ------------------------------------------------------------------------ 22.14 ¿z¿ï¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº¦WºÙ»P¦ì§} 22.14.1 ¨Ï¥Î¡u¸ê®Æ­ÜÀx¤¤¤ß¡v©M¡uTrillium ³nÅé¨t²Î¡v¨Ó¿z¿ï¦WºÙ»P¦ì§}¸ê®Æ¡C ¡uTrillium ³nÅé¨t²Î¡v¬O¤@­Ó¦WºÙ»P¦ì§}¿z¿ï²£«~¡A ¥i¥H­«·s®æ¦¡¤Æ¡B¼Ð·Ç¤Æ¤ÎÅç ÃÒ¦WºÙ©M¦ì§}¸ê®Æ¡CÂǥѱq¨Ï¥ÎªÌ©w¸qµ{¦¡±Ò°Ê¡uTrillium §å¦¸¨t²Î¡vµ{¦¡¡A±z¥i¥H ¦b¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤¨Ï¥Î¡uTrillium ³nÅé¨t²Î¡v¡C ·í±z±q¡uTrillium §å¦¸¨t²Î¡v Script ©Î JCL ¶×¤J´y­z¸ê®Æ®É¡A·|±N¨Ï¥ÎªÌ©w¸qµ{¦¡·s¼W¦Ü¡u­ÜÀx¡v¾ðª¬µ²ºc¤¤¡C ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤w´£¨Ñ»P Vality and Evolutionary Technologies, Inc ªº¤u¨ã¤§ ¾ã¦X¡C 22.14.1.1 °ò¥»­n¨D * ±z¥²¶·¦b­ÜÀx¥N²zµ{¦¡ºÝ©Î»·ºÝ¥D¹q¸£¤W¦w¸Ë¡uTrillium ³nÅé¨t²Î¡v¡C * ¦b UNIX ©M Windows ¥­¥x¤W¡A¥²¶·±N¡uTrillium ³nÅé¨t²Î¡vªº bin ¥Ø¿ý¸ô®| ·s¼W¦Ü¨t²ÎÀô¹ÒÅÜ¼Æ PATH ¤¤¡A¤~¯à±Ò¥Î¥N²zµ{¦¡µ{§Ç¨Ó°õ¦æ¡uTrillium §å¦¸ ¨t²Î¡vµ{¦¡¡C ¦b UNIX ¤W¡A±Ò°Ê vwdaemon µ{§Ç¤§«e¡A¥²¶·±N PATH Åܼƥ[¤J IWH.environment Àɤ¤¡A¥H§¹¦¨°õ¦æ¡C * ¨Ï¥ÎªÌ¥²¶·¨ã³Æ Trillium ³nÅ骺¨Ï¥Î±`ÃÑ¡C ¤UªíÅã¥Ü³nÅé»Ý¨D¡C §@·~¨t²Î ¥²­nªº³nÅé UNIX Trillium ³nÅé¨t²Î ª©¥» 4.0 ¡u¸ê®Æ­ÜÀxºÞ²zµ{¦¡¡vª©¥» 7.2 ­ÜÀx¥N ²zµ{¦¡ Windows NT »P Windows 2000 Trillium ³nÅé¨t²Î ª©¥» 4.0 ¡u¸ê®Æ­ÜÀxºÞ²zµ{¦¡¡vª©¥» 7.2 ­ÜÀx¥N ²zµ{¦¡ ¥H»·ºÝ¦s¨ú¦Ó¨¥¡A¥D¹q¸£¥²¶·¦w¸Ë ftpd ©M rexecd ±`¾nµ{¦¡¡C OS/390 ¦w¸Ë¦b»·ºÝ OS/390 ¥D¹q¸£ªº¡uTrillium ³nÅé¨t²Î¡vª©¥» 4.0 ¦w¸Ë¦b UNIX¡BWindows NT ¤Wªº¡u¸ê®Æ­Ü ÀxºÞ²zµ{¦¡¡vª©¥» 7.2 ­ÜÀx¥N²zµ{¦¡ ¥²¶·¦w¸Ë TCP/IP 3.2 (©Î¥H¤W) ¶È¤ä´©¬°»·ºÝ¥D¹q¸£ªº OS/390 §@·~¨t²Î 22.14.1.2 Trillium ³nÅé¨t²Î¤¸¥ó ¡uTrillium ³nÅé¨t²Î¡v¥Ñ¥|­Ó¥D­n¤¸¥ó²Õ§@¡G Âà´«¾¹¡B­åªR¾¹¡Bgeocoder ¤Î¤Ç°t ¾¹¡C¨Ï¥Î³o¨Ç¤¸¥ó¬°¤@²Õ¥\¯à¡A ¥H°õ¦æ¦WºÙ»P¦ì§}¿z¿ï§@·~¡C±z¥i¥H±q¡uTrillium §å¦¸¨t²Î¡v(¤@­Ó¨Ï¥ÎªÌ©w¸qµ{¦¡) °õ¦æ³o¨Ç¤¸¥ó¡C Âà´«¾¹ ¨Ï¥ÎÂà´«¾¹¨Ó¼Ð·Ç¤Æ¤Î±N¨Ó·½¸ê®ÆÂà´«¦¨«ü©wªº¿é¥X®æ¦¡¡C ­åªR¾¹ ¨Ï¥Î­åªR¾¹¨Ó¸ÑĶ¦WºÙ©M¦ì§}¨Ó·½¸ê®Æ¡A¥H¤Î«Ø¥ß¨Ó·½¸ê®Æ¬ÛÃöªº´y­z¸ê®Æ¡C ¦a²z½s½Xµ{¦¡ (Geocoder) ¨Ï¥Î geocoder ±N¨Ó·½¸ê®Æ»P¶l»¼ªA°Èµ{¦¡¸ê®Æ°µ¤ñ¸û¡A ¥H´£¨Ñ¥ô¦ó¿òº|¸ê °T¡A¨Ò¦p±H¥óªÌ©Î ZIP+4 ¦r½X¡Cgeocoder ¤]¥i³z¹L¡u¬ü°ê²Î­p½Õ¬d¡v ¸ê®Æ¨Ó °õ¦æ¤ñ¹ï§@·~¡C ¤Ç°t¾¹ ¨Ï¥Î¤Ç°t¾¹¨Ó¤ñ¸ûÃþ¦ü¦WºÙ©M¦ì§}¥HÃѧO­«½Æ°O¿ý¡C ±z¥i¥H¨Ï¥Î¤Ç°t¾¹°õ¦æ°Ñ ·Ó¤ñ¹ï¡A¥H¤ñ¸û¤@­Ó°O¿ý»P¤@²Õ°O¿ý¡C 22.14.1.3 ±N¡uTrillium §å¦¸¨t²Î¡v»P¡u¸ê®Æ­ÜÀx¤¤¤ß¡v·f°t¨Ï¥Î ¦b¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤¡A±z¥i¥H¶×¤J¡uTrillium §å¦¸¨t²Î¡v´y­z¸ê®Æ¤Î«Ø¥ß¨Ï¥ÎªÌ©w ¸qµ{¦¡¨BÆJ¡C¦¹¨BÆJ·|©I¥s¥»ºÝ­ÜÀx¥N²zµ{¦¡ºÝ©Î»·ºÝ­ÜÀx¥N²zµ{¦¡ºÝ¤Wªº ¡uTrillium §å¦¸¨t²Î¡vScript¡C ¦b¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤¡A¡uTrillium §å¦¸¨t²Î¡v Script ¬O¤@­Ó¨ã¦³¨Ó·½¤Î¥Ø¼ÐÀɪº¨BÆJ¡C¨Ó·½ÀɬO¥Î©ó²Ä¤@­Ó¡uTrillium §å¦¸¨t ²Î¡v©R¥Oªº¿é¤J¸ê®ÆÀÉ¡C ¥Ø¼ÐÀɬO Script ¤¤³Ì«á¤@­Ó Trillium ©R¥O©Ò«Ø¥ßªº¿é¥X ¸ê®ÆÀÉ¡C µM«á¡A¥i½Æ»s¦¹¨BÆJ¦Ü¥t¤@­Ó³B²zµ{§Ç¡A·f°t¨ä¥¦¨BÆJ¨Ï¥Î¡C ¤U¹ÏÅã¥Ü¡uTrillium §å¦¸¨t²Î¡v¿é¤J¤Î¿é¥X¸ê®ÆÀÉ»P¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤¨Ó·½¤Î¥Ø¼Ð Àɤ§¶¡ªºÃö«Y¡C ¹Ï 1. ½d¨Ò Trillium Script ÀÉ REM Running the converter pfcondrv -parmfile c:\tril40\us_proj\parms\pfcondrv.par REM Running the parser pfprsdrv -parmfile c:\tril40\us_proj\parms\pfprsdrv.par REM Running the Matcher cfmatdrv -parmfile c:\tril40\us_proj\parms\pfmatdrv.par ¹Ï 2. pfcondrv.par Àɪº¤º®e INP_FNAME01 c:\tril40\us_proj\data\convinp INP_DDL01 c:\tril40\us_proj\dict\input.ddl ¹Ï 3. pfmatdrv.par Àɪº¤º®e OUT_DDNAME c:\tril40\us_proj\data\maout DDL_OUT_FNAME c:\tril40\us_proj\dict\parseout.ddl ¹Ï 4. ¡uTrillium §å¦¸¨t²Î¡v¨BÆJ©w¸q c:\Tril40\us_proj\data\convinp (source file) -> Trillium Batch System Step -> c:\tril40\us_proj\data\maout (target file) 22.14.1.4 ¶×¤J Trillium ´y­z¸ê®Æ ­Y­n¶×¤J Trillium ´y­z¸ê®Æ¨ì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¡G 1. «Ø¥ß¡uTrillium §å¦¸¨t²Î Script¡v©Î JCL¡C±z¥i¥H¨Ï¥Î¥ô¦ó Script ©Î JCL ¼¶¼g¤u¨ã¨Ó«Ø¥ß Script ©Î JCL ÀÉ¡C 2. ¥H·Æ¹«¥kÁä«ö¤@¤U­ÜÀx¡AµM«á«ö¤@¤U¶×¤J´y­z¸ê®Æ -> Trillium¡A¶}±Ò ¡uTrillium §å¦¸¨t²Î¡vµøµ¡¡C 3. ¦b Script ©Î JCL Äæ¦ì¤¤¡AÁä¤J±z­n°õ¦æªº¡uTrillium §å¦¸¨t²Î¡vScript ©Î JCL Àɤ§¦WºÙ¡C 4. ¦b¿é¤JÀÉÄæ¦ì¤¤¡AÁä¤J²Ä¤@¦¸¦b«ü©wªº Script ©Î JCL Àɤ¤°õ¦æ¤§¡uTrillium §å¦¸¨t²Î¡vµ{¦¡ªº¿é¤J¸ê®ÆÀɦWºÙ¡C 5. ¦b¿é¤J DDL Äæ¦ì¤¤¡AÁä¤J»¡©ú¿é¤J¸ê®ÆÀɪº¿é¤J DDL Àɤ§¦WºÙ¡C¦¹ÀÉ®×¥²¶·¥i ¦b­ÜÀx¥N²zµ{¦¡ºÝ¨Ï¥Î¡C 6. ¦b¿é¥XÀÉÄæ¦ì¤¤¡AÁä¤J Script ©Î JCL Àɤ¤³Ì«á¤@­Ó¡uTrillium §å¦¸¨t²Î¡vµ{ ¦¡ªº¿é¥X¸ê®ÆÀɦWºÙ¡C 7. ¦b¿é¥X DDL Äæ¦ì¤¤¡AÁä¤J»¡©ú¿é¥X¸ê®ÆÀɪº¿é¥X DDL Àɤ§¦WºÙ¡C¦¹ÀÉ®×¥²¶·¥i ¦b­ÜÀx¥N²zµ{¦¡ºÝ¨Ï¥Î¡C 8. ¿ï¥Îªº¡G¦b¿é¥X¿ù»~ÀÉÄæ¦ì¤¤¡A Áä¤J±z­n¨Ï¥Îªº¿é¥X¿ù»~ÀɦWºÙ¡C¦¹¿ù»~ÀÉ·| ±q¡uTrillium §å¦¸¨t²Î¡vµ{¦¡Â^¨ú°õ¦æ´Á¿ù»~¡C³o¨Ç¿ù»~°O¿ý©ó stderr ¤é»x ¤¤¡C¥H¥»ºÝ¥D¹q¸£¦Ó¨¥¡A­Y±z¥¼¦b¦¹«ü©w¦WºÙ¡A «h·|«Ø¥ß¹w³]¿é¥X¿ù»~ÀÉ¡C¦³ Ãö¿é¥X¿ù»~Àɪº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\¥DÃD¡u¿ù»~³B²z±`¦¡¡v¡C 9. «ö¤@¤U³s½u¼ÐÅÒ¡C 10. ­Y±z¶×¤Jªº Trillium ´y­z¸ê®Æ¦ì©ó­ÜÀx¥N²zµ{¦¡ºÝ¤W¡A ½Ð«ö¤@¤U¥»ºÝ¥D¹q¸£ ¡C ­Y±z¶×¤Jªº Trillium ´y­z¸ê®Æ¤£¬O¦ì©ó­ÜÀx¥N²zµ{¦¡ºÝ¤W¡A ½Ð«ö¤@¤U»·ºÝ¥D ¹q¸£¡AµM«á«ü©w»·ºÝ¥D¹q¸£¡C ½Ð°Ñ¾\¥»¸`µy«á´£¨ìªº¥DÃD¡u«ü©w»·ºÝ¥D¹q ¸£¡v¡C 11. «ö¤@¤U½T©w¡A¥H¶×¤J Trillium ´y­z¸ê®Æ¨ÃÃö³¬¸Óµ§°O¥»¡C 12. ­Y Script ©Î JCL ¤£¬O±q¹w³]¥N²zµ{¦¡ºÝ°õ¦æ¡A½Ð¦b¡u¤º®e¡vµ§°O¥»¤¤«ü©w¥Î ©ó¡uTrillium §å¦¸¨t²Î¡v¨BÆJªº­ÜÀx¥N²zµ{¦¡ºÝ¡C ¶×¤J§@·~§¹¦¨«á¡A¤U¦C­ÜÀxª«¥ó·|·s¼W¦Ü¡u­ÜÀx¡v¾ðª¬µ²ºc¤¤¡C * Trillium §å¦¸¨t²Î scriptName ¼ÒªO¡A ¨ä¤¤ scriptName ¬O Script ©Î JCL Àɪº¦WºÙ¡C * ¡uTrillium §å¦¸¨t²Î¡v³B²zµ{§Ç¡C * °õ¦æ¨Ï¥ÎªÌ©w¸qµ{¦¡ªº¡uTrillium §å¦¸¨t²Î¡v¨BÆJ¡C * ¶×¤J´y­z¸ê®Æ®É«ü©wªº­ÜÀxÀɮרӷ½¤Î¥Ø¼Ð¡CÀɮרӷ½¤ÎÀɮץؼЬ°©T©wÀɮסC * ¡uTrillium §å¦¸¨t²Î¡vµ{¦¡¸s²Õ¡C «ü©w»·ºÝ¥D¹q¸£ ­Y­n«ü©w»·ºÝ¥D¹q¸£¡A½Ð¡G 1. «ö¤@¤U»·ºÝ¥D¹q¸£¡AµM«áÁä¤J§t¦³±z¶×¤Jªº´y­z¸ê®Æ¤§»·ºÝ¨t²Îªº TCP/IP ¥D¹q ¸£¦WºÙ¡C­Y¿ï¨ú¡u»·ºÝ¥D¹q¸£¡v¡A«h¥Ø¼ÐÀɳQ«Ø¥ß¬°¥»ºÝÀɮסA ¦]¬°»·ºÝ¥Ø¼Ð Àɤ£¨ü¤ä´©¡C±z¥i¥H·s¼W FTP ¨BÆJ¨Ó¨Ï»·ºÝÀɮצ¨¬°«ü©wªº¥»ºÝ¥Ø¼ÐÀÉ¡C 2. ¦b»·ºÝ§@·~¨t²Î²M³æ¤¤¡A«ö¤@¤U±z¦s¨úªº»·ºÝ¥D¹q¸£¤§§@·~¨t²Î¡C 3. ¦b»·ºÝ¨Ï¥ÎªÌ ID Äæ¦ì¤¤¡AÁä¤J±z¦s¨úªº»·ºÝ¥D¹q¸£¤§¨Ï¥ÎªÌ ID¡C 4. ¦b³q¦æ½X¿ï¶µ²M³æ¤¤¡A¿ï¨ú¥Î©ó©Ò­n¦s¨úªº»·ºÝ¥D¹q¸£¤§³q¦æ½X¿ï¶µ¡G ¤£»Ý­n³q¦æ½X «ü©w¦s¨ú»·ºÝ¥D¹q¸£ªº´y­z¸ê®Æ¤£»Ý­n³q¦æ½X¡C Â^¨ú³q¦æ½X «ü©w±q¨Ï¥ÎªÌ©w¸qµ{¦¡Â^¨ú³q¦æ½X¡C ¦b³q¦æ½Xµ{¦¡Äæ¦ì¤¤¡AÁä¤J±NÂ^¨ú³q¦æ½Xªº³q¦æ½Xµ{¦¡¦WºÙ¡C ¦¹µ{¦¡¥²¶· ¦ì©ó­ÜÀx¥N²zµ{¦¡ºÝ¡A¨Ã¥B±N³q¦æ½X¼g¤J¿é¥XÀɪº²Ä¤@¦æ¤¤¡C ¦bµ{¦¡°Ñ¼ÆÄæ¦ì¤¤¡AÁä¤J³q¦æ½Xµ{¦¡ªº°Ñ¼Æ¡C ²Ä¤@­Ó°Ñ¼Æ¥²¶·¬O¼g¤J³q¦æ ½Xªº¿é¥XÀÉ¡C µy«á¿é¤J³q¦æ½X «ü©wµy«á¦A¿é¤J³q¦æ½X¡C ¦b°õ¦æ¡uTrillium §å¦¸¨t²Î¡vµ{¦¡ªº¨BÆJ¤§¡u¤º®e¡vµ§°O¥»¤¤¡A¿é¤J³q¦æ ½X¡C 22.14.1.5 ¹ï¬M´y­z¸ê®Æ ¬°¤F«Ø¥ß¨Ó·½©M¥Ø¼ÐÀɪº´y­z¸ê®Æ¡ATrillium ·|Ū¨ú Trillium DDL ÀÉ¡C ¦¹ DDL ÀÉ ·|Âà´«¦¨¤U¦C¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¸ê®ÆÃþ«¬¡G UNIX¡BWindows NT ¤Î§@·~¨t²Îªº DDL ¸ê ®ÆÃþ«¬ ­ÜÀx¸ê®ÆÃþ«¬ ASCII CHARACTER CHARACTER(n) ASCII NUMERIC EBCDIC CHARACTER EBCIDIC NUMERIC ¨ä¥¦Ãþ«¬ NUMERIC µù: °ß¦³¡uTrillium ³nÅé¨t²Î¡v¦b OS/390 §@·~¨t²Î¤W°õ¦æ¡AEBCDIC CHARACTER ©M EBCIDIC NUMERIC ¸ê®ÆÃþ«¬¤~¨ü¨ì¤ä´©¡C ÅÜ¼Æ n ¥Nªí¦r¦ê¤¤ªº¦r¤¸¼Æ¡C 22.14.1.6 ­­¨î ±z¥i¥H³z¹L¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤ªº¶×¤J´y­z¸ê®Æ§@·~¤Î Trillium DDL¡A ¦b¿é¤J¤Î¿é ¥X DDL Àɤ¤«ü©w¤@¨Ç­«Å|Äæ¦ì¡C ¤£¹L¡A¬Û¹ïÀ³ªº­ÜÀx¨Ó·½¤Î­ÜÀx¥Ø¼ÐÀɮפ£¯à¦b ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤·f°t SQL ¨BÆJ©Î½d¨Ò¤º®e¨Ï¥Î¡C ¦]¬°¶×¤J´y­z¸ê®Æ§@·~·|©¿²¤ ¶V¹L¾ã­Ó°O¿ýªº­«Å|Äæ¦ì¡A©Ò¥H±z¤´¥i«ü©w³o¨ÇÄæ¦ì¡A ¦ý¥¦­Ì¦bµ²ªG¨Ó·½¤Î¥Ø¼ÐÀɤ¤ ¤£¯à·í§@ª½Äæ¨Ï¥Î¡C ­Y«ü©w¤F¿ù»~ÀÉ¡A«h Script ªº¦WºÙ¤£¯à¥]§t¥ô¦óªÅ®æ¡C 22.14.2 ¼¶¼g Trillium §å¦¸¨t²Î JCL ÀÉ ­Y­n¼¶¼g Trillium §å¦¸¨t²Î JCL ÀÉ¡A¤U¦C»Ý¨D¥²¶·²Å¦X¡C * ¤u§@¦WºÙ¥²¶·¬O¨Ï¥ÎªÌ ID ¥[¤W¤@­Ó¦r¤¸¡C * ¤u§@¥²¶·»¼°e¦Ü¤w«O¯d¿é¥XÃþ§O¤¤¡C * °õ¦æ¡uTrillium §å¦¸¨t²Î¡vµ{¦¡ªº¨C¤@­Ó¤u§@¨BÆJ¡A ¥²¶·¨Ö¤J©w¸q¥Ã¤[¸ê®Æ¶° ªº SYSTERM DD ³¯­z¦¡¡C¦¹¸ê®Æ¶°¥]§t¡uTrillium §å¦¸¨t²Î¡vµ{¦¡ªº¿ù»~¡C´£ ¥X JCL ¤§«e¡A¦¹¸ê®Æ¶°·|¦Û°Ê³Q§R°£¡C ¦³Ãö¿ù»~³B²z±`¦¡¤Î³ø§iªº¸Ô²Ó¸ê°T¡A ½Ð°Ñ¾\¥DÃD¡u¿ù»~³B²z±`¦¡¡v¡C ·í Script ©Î JCL ¦b»·ºÝ¥D¹q¸£¤W°õ¦æ®É¡A¥²¶·«ü©w¿é¥X¿ù»~ÀÉ¡F §_«h¡A¿ù»~°T®§ ¤£·|³Q°O¿ý¤Î¶Ç°e¦Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¡C ¦b UNIX ©Î Windows ¤W¡AÂ^¨ú¿ù»~°T®§³Ì ²³æªº¤èªk¬O¼¶¼g¥t¤@­Ó©I¥s¡uTrillium §å¦¸¨t²Î¡vScript ªº Script¡A¨Ã±N¼Ð·Ç¿ù »~¶Ç°e¦Ü¿é¥XÀÉ¡C ¹Ï 5. ¨Ö¤J SYSTERM DD ³¯­z¦¡ªº¤u§@¨BÆJ½d¨Ò //SYSTERM DD UNIT=&UNIT, // DISP=(MOD,CATLG,KEEP), // SPACE=(400,(20,20),,,ROUND), // DSN=&PROJPREF.&TRILVER.&PROJECT.STDERR; 22.14.3 ¦b UNIX ©M Windows ¤W¼¶¼g Trillium §å¦¸¨t²Î Script ÀÉ ­Y¡uTrillium §å¦¸¨t²Î¡vScript ©Î°Ñ¼ÆÀÉ¥]§t¿é¤JÀɪº¬Û¹ï¸ô®|¡A ¨Ï¥ÎªÌ¥²¶·±N Script Àɶ}ÀYªº cd ³¯­z¦¡©ñ¸m¨ì Script Àɪº¥Ø¿ý¤¤¡C 22.14.4 ©w¸q Trillium §å¦¸¨t²Î¨BÆJ ¦b©w¸q¡uTrillium §å¦¸¨t²Î¡v¨BÆJ¤§«e¡A±z¥²¶·±N©Ò­n¨Ï¥Îªº Trillium ´y­z¸ê®Æ¶× ¤J³B²zµ{§Ç¤¤¡C·s¼W¡uTrillium §å¦¸¨t²Î¡v¨BÆJ¦Ü³B²zµ{§Ç¤¤¡G 1. ¶}±Ò³B²zµ{§Ç¼Ò«¬²£¥Í¾¹¤¤ªº³B²zµ{§Ç¡C 2. «ö¤@¤U¿ï¥Î°Ï¤Wªº Trillium §å¦¸¨t²Î¹Ï¥Ü¡C 3. «ö¤@¤U Trillium §å¦¸¨t²Îµ{¦¡ -> programName¡A¨ä¤¤ programName ¬O±z­n¨Ï ¥Îªº¡uTrillium §å¦¸¨t²Î¡vµ{¦¡¦WºÙ¡C 4. «ö¤@¤Uµe¥¬¤W±z­nÅã¥Ü¨BÆJ©Ò¦bªº¦ì¸m¡C 5. §¹¦¨ DB2 Universal Database »¡©ú¤¤¥DÃD¡u©w¸q¤@­Ó°õ¦æ¨Ï¥ÎªÌ©w¸qµ{¦¡ªº¨B ÆJ¡v¤ºªº¨BÆJ¡C 22.14.5 ¨Ï¥Î¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡ ¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡ÀHªþ©ó Windows NT ©M UNIX ªº¡uDB2 ¸ê®Æ­Ü Àx¤¤¤ß¡vª©¥» 7.2 ¤¤¡C±z¶×¤J Trillium ´y­z¸ê®Æ®É©Ò«Ø¥ßªº¡uTrillium §å¦¸¨t ²Î¡v¨BÆJ¡A±N°õ¦æ¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡¡C ¨Ï¥ÎªÌ©w¸qµ{¦¡·|©I¥s ¡uTrillium §å¦¸¨t²Î¡vScript ©Î JCL¡C¤Uªí¥]§t¥Î©ó¡uTrillium §å¦¸¨t²Î¡vScript ©Î JCL ªº°Ñ¼Æ¡G °Ñ¼Æ ­È »·ºÝ¥D¹q¸£ * localhost ¬°¹w³]­È¡C­Y¡uTrillium §å¦¸¨t²Î¡v¦w¸Ë¦b­ÜÀx¥N²zµ{¦¡ºÝ¡A «h¨Ï¥Î¦¹­È¡C * ­Y¡uTrillium §å¦¸¨t²Î¡v¦w¸Ë¦b»· ºÝ§@·~¨t²Î¤W¡A«h¨Ï»·ºÝ¥D¹q¸£¦W ºÙ¡C Script ©Î JCL Script ©Î JCL ªº¦WºÙ »·ºÝ§@·~¨t²Î »·ºÝ¥D¹q¸£¤W§@·~¨t²Îªº¦WºÙ¡C ­Y»·ºÝ¥D ¹q¸£°Ñ¼Æ¬° localhost¡A«h¨t²Î¤£³B²z¦¹ °Ñ¼Æ¡C ¦³®Ä­È¬°¡G * MVS for OS/390 §@·~¨t²Î * UNIX for AIX¡BSUN Solaris¡BHP-UX ¤Î NUMA/Q §@·~¨t²Î * WIN for Windows NT ©Î 2000 §@·~ ¨t²Î »·ºÝ¨Ï¥ÎªÌ ID ¾Ö¦³°õ¦æ»·ºÝ©R¥OªºÅv­­¤§¨Ï¥ÎªÌ ID¡C­Y RemotehostName ªº­È¬° localhost¡A«h¨t ²Î¤£³B²z¦¹°Ñ¼Æ¡C ³q¦æ½X¿ï¶µ ¨ú±o³q¦æ½Xªº¤èªk¡C¦³®Ä­È¬°¡G ENTERPASSWORD ­Y³q¦æ½X¦b¤U¤@­Ó°Ñ¼Æ¶Ç»¼¡A«h¨Ï¥Î ¦¹­È¡C PASSWORDNOTREQUIRED ­Y¤£»Ý­n³q¦æ½X¡A«h¨Ï¥Î¦¹­È¡C GETPASSWORD ­Yµ{¦¡¦WºÙ¦b¤U¤@­Ó°Ñ¼Æ¶Ç»¼¡A«h¨Ï ¥Î¦¹­È¡C ­­¨î¡G * ¦¹µ{¦¡¥²¶·¦ì©ó¥N²zµ{¦¡ºÝ¡B±N³q¦æ ½X¼g¤J¿é¥XÀɪº²Ä¤@¦æ¤¤¡A ¥H¤Î¦b ¶¶§Q°õ¦æ«á¶Ç¦^ 0¡C * ³q¦æ½X°Ñ¼Æ­È¥²¶·¬O³q¦æ½Xµ{¦¡ªº¦W ºÙ¡C * µ{¦¡°Ñ¼Æ­È¥²¶·¬O¥HÂù¤Þ¸¹¬A¦íªº¦r ¦ê¡C * ¦r¦ê¤¤²Ä¤@­Ó°Ñ¼Æ¥²¶·¬O¼g¤J³q¦æ½X ©Ò¦bªº¿é¥XÀɦWºÙ¡C ³q¦æ½X ¦³®Ä­È¬°³q¦æ½X©Î³q¦æ½Xµ{¦¡¦WºÙ¡C³q¦æ ½Xµ{¦¡¥²¶·¦ì©ó­ÜÀx¥N²zµ{¦¡ºÝ¡C µ{¦¡°Ñ¼Æ ³q¦æ½Xµ{¦¡ªº°Ñ¼Æ¡C ¿é¥X¿ù»~ÀÉ ¿é¥X¿ù»~Àɪº¦WºÙ¡C µù: ¦¹ªí®æ¤¤©Ò¦³°Ñ¼Æªº¸ê®ÆÃþ«¬¬° CHARACTER¡C 22.14.6 ¿ù»~³B²z±`¦¡ ¦b Windows NT ¤Î UNIX §@·~¨t²Î¤W¡A¡uTrillium §å¦¸¨t²Î¡vµ{¦¡±N¿ù»~°T®§¼g¤J¼Ð ·Ç¿ù»~ (stderr) Àɤ¤¡A¦Ó¦b OS/390 §@·~¨t²Î¤W¡A¬O¼g¤J SYSTERM ¸ê®Æ¶°¤¤¡C ­Y­nÂ^¨ú Windows NT ©Î UNIX §@·~¨t²Îªº¡uTrillium §å¦¸¨t²Î¡vµ{¦¡¿ù»~¡A ¥²¶· ±N¼Ð·Ç¿ù»~­«·s¾É¦V¦Ü¿é¥X¿ù»~ÀÉ¡C ­Y­nÂ^¨ú OS/390 §@·~¨t²Îªº¡uTrillium §å¦¸¨t²Î¡vµ{¦¡¿ù»~¡A JCL ¥²¶·¨Ö¤J SYSTERM DD ³¯­z¦¡¡C ­Y¦b¡u¶×¤J´y­z¸ê®Æ¡vµøµ¡¤¤«ü©w¿é¥X¿ù»~ÀɦW¡A±z¥²¶·­«·s¾É¦V©Î±N¼Ð·Ç¿ù¿é¥XÀx ¦s¦Ü¿ù»~Àɤ¤¡C ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v·|Ū¨ú¦¹ÀɮרöǦ^¤º§t ERROR ¦r¦êªº©Ò¦³¦æ¬° ¿ù»~°T®§¡C ©Ò¦³¡uTrillium §å¦¸¨t²Î¡vµ{¦¡¿ù»~°T®§³£¥]§t ERROR ¦r¦ê¡C ­Y­ÜÀx¥N²zµ{¦¡ºÝ¤W°õ¦æªº Script ©Î JCL ¤¤¥¼«ü©w¿é¥X¿ù»~ÀÉ¡A «h¡u¸ê®Æ­ÜÀx¤¤ ¤ß¡v·|¦Û°Ê«Ø¥ß¤@­ÓÀɦW¨Ã±N¼Ð·Ç¿ù»~¿é¥X­«·s¾É¦V¦Ü¸ÓÀɮסC ­Yµo²{¥ô¦ó¿ù»~¡A«h ¤£·|§R°£¿ù»~ÀÉ¡C¿ù»~ÀÉÀx¦s©óÀô¹ÒÅÜ¼Æ VWS_LOGGING ©Ò«ü©wªº¥Ø¿ý¤¤¡C ¸ÓÀɦW¬° tbsudp-date- time.err¡A¨ä¤¤ date ¬O«Ø¥ßÀɮתº¨t²Î¤é´Á¡A¦Ó time ¬O«Ø¥ßÀɮתº ¨t²Î®É¶¡¡C ¤U¦CÀɦWÅã¥Ü¿é¥X¿ù»~ÀɦWªº®æ¦¡¡G tbsudp-021501-155606.err 22.14.6.1 ¿ù»~¦^ÂнX ¿ù»~½X »¡©ú 0 ¦¨¥\®É 4 ĵ§i¡G³q¦æ½XÀÉ®×¥i¯àµLªk®ø°£¡A©Î ¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡¦s ¨ú¼È¦sÀɮɵo¥Í¤º³¡¿ù»~¡C ½ÐÀˬd³q¦æ½XÀɮת¬ºA¡A©ÎÀô¹ÒÅÜ¼Æ VWS_LOGGING ©Ò«ü©w¥Ø¿ý¤U«Ø¥ßªº©Ò¦³¼È ¦sÀɪ¬ºA¡C 8 °Ñ¼Æ­È©Î¼Æ¥Ø¤£¥¿½T¡C ½Ð°Ñ¦Ò¤é»xÀÉ©Î¤å ¥ó¨Ó¨ú±o¥¿½T»yªk¡C 12 ¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡³z ¹L FTP ³s±µ»·ºÝ¥D¹q¸£®Éµo¥Í°ÝÃD¡C ÀË ¬d FTP ³s½u©Î¥D¹q¸£¦WºÙ¡B¨Ï¥ÎªÌ ID ¤Î ³q¦æ½X¡C 16 ¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡µL ªk«Ø¥ß¤é»x©Î¤º³¡ÀɮסC Àˬd¨Ï¥ÎªÌ¦³µL¥¿½T±ÂÅv¤ÎºÏºÐªÅ¶¡¬O§_ ¤wº¡¡C 20 µLªk°õ¦æ OS/390 JCL¡A©Î¡uTrillium §å ¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡³z¹L FTP ±q OS/390 §R°£©Î¨ú±oÀɮ׮ɵo¥Í¿ù»~¡C Àˬd JESLogFile ¨Ó§ä¥X¿ù»~­ì¦]¡C 48 §ä¤£¨ìÀô¹ÒÅÜ¼Æ VWS_LOGGING ©ÎµLªk«Ø¥ß ¤é»xÀÉ¡C ½Ð°Ñ¦Ò¤é»xÀÉ¥H¨ú±o¸Ô²Ó¸ê°T¡C 56 µLªk°õ¦æ Windows NT ©Î UNIX Script¡A ©Î¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡ ³s±µ»·ºÝ¥D¹q¸£®Éµo¥Í¿ù»~¡CÀˬd³s½u©Î ¥D¹q¸£¦WºÙ¡B¨Ï¥ÎªÌ ID ¤Î³q¦æ½X¡C 500 Script ©Î JCL ÀɶǦ^¿ù»~¡A©Î¥¼¶Ç¦^¿ù »~¡A¦ý¿ù»~ÀÉ¥]§t¸ê®Æ¡C ½Ð°Ñ¦Ò¤é»xÀÉ¥H ¨ú±o¸Ô²Ó¸ê°T¡C¦b OS/390 ¤W¡A¥ç½Ð°Ñ¾\ JESLogFile¡C 22.14.6.2 ¤é»xÀÉ ·í¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡°õ¦æ®É¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v±N©Ò¦³¶EÂ_¸ê°T Àx¦s¦b¤é»xÀɤ¤¡C¸Ó¤é»xÀɦWºÙ¬° tbsudp-date-time.log¡A ¨ä¤¤ date ¬O«Ø¥ßÀÉ®× ªº¨t²Î¤é´Á¡A¦Ó time ¬O«Ø¥ßÀɮתº¨t²Î®É¶¡¡C ¸Ó¤é»xÀɫإߩó¥N²zµ{¦¡ºÝ¤W¥ÑÀô¹Ò ÅÜ¼Æ VWS_LOGGING ©Ò«ü©wªº¥Ø¿ý¤¤¡C ­Y¡uTrillium §å¦¸¨t²Î¡v¨Ï¥ÎªÌ©w¸qµ{¦¡¶¶§Q °õ¦æ¡A«h·|§R°£¸Ó¤é»xÀÉ¡C ------------------------------------------------------------------------ 22.15 MQ Series »P¡u¸ê®Æ­ÜÀx¤¤¤ß¡vªº¾ã¦X ²{¦b¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¥iÅý±z¦s¨ú MQSeries °T®§¦î¦Cªº¸ê®Æ¡A§@¬°¤@­Ó DB2 ¸ê®Æ ®w·§²¤ªí¡C´£¨ÑºëÆF¨Ó«Ø¥ß DB2 ªí®æ¨ç¼Æ¤Î¨Ñ±z¦b¨ä¤¤¦s¨ú¸ê®Æªº DB2 ·§²¤ªí¡C¨C ¤@­Ó MQSeries °T®§³Qµø¬°¤@­Ó¦³©w¬É²Å¸¹ªº¦r¦ê¡A ¨ä®Ú¾Ú±zªº³W®æ¨Ó­åªR¨Ã¶Ç¦^¬° ¤@­Óµ²ªG¦C¡C¦¹¥~¡AÄÝ©ó XML ¤å¥óªº MQSeries °T®§¥i¦s¨ú¬°­ÜÀx¨Ó·½¡C¨Ï¥Î¡u¸ê®Æ ­ÜÀx¤¤¤ß¡v¡A±z¥i¥H±q MQSeries °T®§¦î¦C¤Î¡uDB2 XML ÂX¥R¤¸¤å¥ó¦s¨ú©w¸q (DAD)¡vÀɶפJ´y­z¸ê®Æ¡C 22.15.1 «Ø¥ß MQSeries °T®§ªº·§²¤ªí 22.15.1.1 °ò¥»­n¨D DB2 Universal Database ª©¥» 7.2. DB2 Warehouse Manager ª©¥» 7.2 MQSeries ¤ä´©¡C¦³Ãö MQSeries »Ý¨Dªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\MQSeries¡C ¦³Ãö³]©w­ÜÀx ¨Ó·½ªº¸ê°T¡A½Ð°Ñ¾\¨Ï¥ÎªÌ©w¸qªº¨ç¼Æ¤§¦w¸Ë°Ï¬q¡C 22.15.1.2 ­­¨î * ·í½s¥Ø­ÜÀx¨Ó·½¸ê®Æ®w®É¡A·|¦b¥N²zµ{¦¡¾÷¾¹¤W½s¥Ø¸ê®Æ®w§O¦W¡C ¤£¹L¡A·í«Ø ¥ß MQSeries ©M XML ·§²¤ªí®É¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v°²³]¸ê®Æ®w§O¦W¤]©w¸q©ó±q Äݯ¸¾÷¾¹¤W¡A¨Ã±N¹Á¸Õ¨Ï¥Î­ÜÀx¨Ó·½¸ê®Æ®w¨Ï¥ÎªÌ ID ©M³q¦æ½X¨Ó³s±µ¥¦¡C ­Y ¶¶§Q§¹¦¨¡A«h·|©I¥sºëÆF¨Ñ±z«Ø¥ß·§²¤ªí¡C­Y¥¢±Ñªº¸Ü¡A«h·|Åã¥Ü¤@«hĵ§i°T ®§¡A¦Ó±z¥²¶·¦bºëÆF¤¤½s¥Ø©Î¿ï¾Ü¥t¤@­Ó¸ê®Æ®w§O¦W¡C * ½Ð°Ñ¾\¡uª©¥»ª`·N¨Æ¶µ¡vªº SQL Reference °Ï¬q¡A¥H¨ú±o MQ °T®§ªº³Ì¤jªø «×¡C 22.15.1.3 «Ø¥ß MQSeries °T®§ªº·§²¤ªí «Ø¥ß MQSeries °T®§ªº·§²¤ªí¡G 1. ±q¡u¸ê®Æ­ÜÀx¤¤¤ß¡vµøµ¡¤¤¡A®i¶}­ÜÀx¨Ó·½¾ðª¬µ²ºc¡C 2. ®i¶}¥]§t·§²¤ªíªº­ÜÀx¨Ó·½¡C 3. ¥H·Æ¹«¥kÁä«ö¤@¤U·§²¤ªí¸ê®Æ§¨¡AµM«á«ö¤@¤U¹ï MQSeries °T®§«Ø¥ß...¡C §Y·|¶}±Ò MQSeries ºëÆF¡C§¹¦¨¦¹ºëÆF«á¡A·|¦b¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤«Ø¥ß¤@­Ó·s ·§²¤ªí¡C ·í¿ï©w·§²¤ªí«á¡A«K·|¦s¨ú MQSeries ¦î¦C¡A¨Ã¥B¦bºëÆF¤¤®Ú¾Ú±zªº ³W®æ¡A ±N¨C¤@­Ó°T®§­åªR¬°¦³©w¬É²Å¸¹ªº¦r¦ê¡C 22.15.2 ¶×¤J MQSeries °T®§©M XML ´y­z¸ê®Æ 22.15.2.1 °ò¥»­n¨D DB2 Universal Database ª©¥» 7.2. DB2 XML Extender ª©¥» 7.2. MQSeries ¤ä´©¡C¦³Ãö MQSeries »Ý¨Dªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\MQSeries¡C ¦³Ãö³]©w­ÜÀx ¨Ó·½ªº¸ê°T¡A½Ð°Ñ¾\¨Ï¥ÎªÌ©w¸qªº¨ç¼Æ¤§¦w¸Ë°Ï¬q¡C 22.15.2.2 ­­¨î ­Y¥Ø¼Ðªí®æ¤º¦s¦b¥D­n©Î¥~¨ÓÁä¡A«h¶×¤J·|¥¢±Ñ¡C ¦b¶×¤J¤§«e¡A±z¥²¶·¤â°Ê§R°£¡u¸ê ®Æ­ÜÀx¡v¤¤³o¨ÇÁä­Èªº©w¸q¡C 22.15.2.3 ¶×¤J MQSeries °T®§»P XML ´y­z¸ê®Æ ­Y­n¶×¤J MQSeries ´y­z¸ê®Æ¨ì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¡G 1. ·Ç³Æ­ÜÀx¥Ø¼Ð¸ê®Æ®w¡G o ±z¥²¶·©w¸q­ÜÀx¥Ø¼ÐºÝ¥H¤Îµn°O©M±Ò¥ÎÂà´«µ{¦¡¡C o ±z¥²¶·¹ï DB2 XML Extender ±Ò¥Î­ÜÀx¥Ø¼ÐºÝ¡C¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 XML Extender ª©¥» 7.2 ª©¥»ª`·N¨Æ¶µ¡C o «Ø¥ß XML Extender ¸ê®Æ¦s¨ú©w¸q (DAD) ÀÉ¡A«ü¥Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¦p¦ó ±N XML ¤å¥ó¤º®e¹ï¬M¨ì­ÜÀxªí®æ¡C¨Ï¥Î DAD Àɹï¸ê®Æ®w±Ò¥Î XML ¶°¦X¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 XML Extender ª©¥» 7.2 ª©¥»ª`·N¨Æ¶µ¡C 2. ¥H·Æ¹«¥kÁä«ö¤@¤U­ÜÀx¡AµM«á«ö¤@¤U¶×¤J´y­z¸ê®Æ -> MQSeries¡A¶}±Ò¶×¤J´y­z ¸ê®Æµøµ¡¡C 3. ¦b AMI ªA°Èµ{¦¡Äæ¦ì¤¤¡AÁä¤J¶Ç°e©ÎÂ^¨ú°T®§©Ò¦bªºªA°Èµ{¦¡ÂI¡C 4. ¦b AMI ­ì«hÄæ¦ì¤¤¡AÁä¤J¶Ç°T¨t²Î¥Î¨Ó°õ¦æ§@·~ªº­ì«h¡C 5. ¦b DAD ÀÉ®×Äæ¦ì¤¤¡AÁä¤J DB2 XML Extender DAD Àɪº¦WºÙ¡A©Î«ö¤@¤U¬Ù²¤²Å ¸¹ (...) ¨Ó·j´MÀÉ®×¥H¿ï¨ú¡C¦¹ÀÉ®×¥²¶·¬O¥»ºÝÀɮסC 6. ¦b­ÜÀx¥Ø¼ÐºÝÄæ¦ì¤¤¡A±q²Õ¦X®Ø²M³æ¤¤¿ï¨ú°õ¦æ¨BÆJ©Ò¦bªº­ÜÀx¥Ø¼ÐºÝ¦WºÙ¡C­Ü Àx¥Ø¼ÐºÝ¥²¶·¤w§¹¦¨©w¸q¡C 7. ¦bºõ¥ØÄæ¦ì¤¤¡AÁä¤J¥Î¨Ó©w¸q DAD ÀÉ (¤£§t qualifer) ¤¤ªí®æ¦WºÙªººõ¥Ø¦W ºÙ¡C¹w³]ºõ¥Ø±Ä¥Î±z¥ý«e©Ò¿ï¨ú­ÜÀx¥Ø¼ÐºÝªºµn¤J¨Ï¥ÎªÌ ID¡C 8. ¿ï¾Ü¥Ø¼Ð¿ï¶µ¡G ­Y­n¦¹¨BÆJ¦b°õ¦æ´Á¨ú¥N¥Ø¼Ðªí®æ¤º®e¡A½Ð«ö¤@¤U¨ú¥Nªí®æ¤º®e¶ê¶s¡C ­Y­n¦¹¨BÆJ¦b°õ¦æ´Á²K¥[¨ì¥Ø¼Ðªí®æ¤º®e¡A½Ð«ö¤@¤U²K¥[ªí®æ¤º®e¶ê¶s¡C 9. «ö¤@¤U½T©w¡C ±NÃö³¬¡u¶×¤J´y­z¸ê®Æ¡vµøµ¡¡C ¶×¤J§@·~§¹¦¨«á¡A¤U¦C­ÜÀxª«¥ó·|·s¼W¦Ü¡u­ÜÀx¡v¾ðª¬µ²ºc¤¤¡C * ¦W¬° MQSeries ©M XML ªº¥D¦®°Ï°ì¡C * ¦W¬° MQSeries ©M XML ªº³B²zµ{§Ç¡C * ¦W¬° MQSeries ©M XML ªº¨Ï¥ÎªÌ©w¸qµ{¦¡¸s²Õ¡C * »¡©ú©ó DAD Àɤ¤©Ò¦³­ÜÀx¥Ø¼ÐºÝªí®æªº©w¸q¡C * .. step. * . program template. ­Y­ÜÀx¥Ø¼Ð¥N²zµ{¦¡ºÝ»P¥»ºÝ¾÷¾¹¤£¦P¡A±z¥²¶·Åܧó¨BÆJ°Ñ¼Æ¡G 1. ¥H·Æ¹«¥kÁä«ö¤@¤U¨BÆJ¡AµM«á¿ï¨ú¤º®e¡C «ö¤@¤U¤º®eµ§°O¥»¤¤ªº°Ñ¼Æ¼ÐÅÒ¡C 2. ±N DAD ÀɰѼƪº¦WºÙÅܧ󬰻·ºÝ­ÜÀx¥Ø¼Ð¥N²zµ{¦¡ºÝ¤W¬Û¦P DAD Àɪº¦WºÙ¡C 3. ½Ð½T©w¡u³B²zµ{§Ç¿ï¶µ¡v¼ÐÅÒ¤¤ªº¡u¥N²zµ{¦¡ºÝ¡v¥]§t¹w´Áªº¥N²zµ{¦¡ºÝ¡C 22.15.2.4 ¨Ï¥Î MQSeries ¨Ï¥ÎªÌ©w¸qµ{¦¡ MQSeries ©M XML Àx¦sµ{§ÇºÙ¬° MQXMLXF¡A ¥¦ÀHªþ©ó Windows NT ©M UNIX ªº¡uDB2 ¸ê®Æ­ÜÀx¤¤¤ß¡vª©¥» 7.2 ¤¤¡C ±z¶×¤J MQSeries ©M XML ´y­z¸ê®Æ®É©Ò«Ø¥ßªº¨BÆJ·| °õ¦æ¦¹Àx¦sµ{§Ç¡C ¤Uªí´y­z¨ä°Ñ¼Æ¡G °Ñ¼Æ ­È MQSeries ServiceName °T®§¶Ç°e¦Ü©Î±q¨ä¤¤Â^¨ú¥X¨ÓªºªA°Èµ{¦¡ ÂI¦WºÙ¡C MQSeries PolicyName ¶Ç°T¨t²Î¥Î¨Ó°õ¦æ§@·~ªº­ì«h¦WºÙ¡C DAD ÀɦW DB2 XML Extender DAD Àɪº¦WºÙ TargetTableList ¥H³rÂI°Ï¹jªº¨BÆJ¤§¥Ø¼Ðªí®æ²M³æ ¿ï¶µ REPLACE ©Î APPEND RUN ID ¨BÆJª©¥»¸¹½X (¾A¥Î°O¸ü) µù: ¦¹ªí®æ¤¤©Ò¦³°Ñ¼Æªº¸ê®ÆÃþ«¬¬° CHARACTER¡C ­Y¿ï¶µ¨ã¦³­È REPLACE¡A«hÀx¦sµ{§Ç·|§R°£¥Ø¼Ðªí®æ¤¤©Ò¦³¦C¡C ¸ÓÀx¦sµ{§Ç¤]·|©I¥s DB2 XML Extender Àx¦sµ{§Ç¡A°w¹ï©Ò¦³²{¦sªº MQSeries °T®§¦b¥Ø¼Ðªí®æ¤¤¿é¤J¸ê ®Æ¡C 22.15.2.5 ¿ù»~¦^ÂнX ·í°õ¦æ¦¹¨BÆJ®É¡AÀx¦sµ{§Ç·|¶Ç¦^¿ù»~½X SQLCODE -443 ©M SQLSTATE 38600¡C ­Y­n ¶EÂ_¿ù»~¡A½Ð°Ñ¾\¤Uªí¤¤¥i¯àªº¶EÂ_¤å¦r¡C ¿ù»~½X »¡©ú AMIRC=xxxxx;<¤é»xÀɦWºÙ> xxxxx ¬O¨Ó¦Û AMI ¼hªº¦^ÂнX¡C ¸Ô²Ó¸ê °T¡A½Ð°Ñ¾\ MQSeries ¤å¥ó¡C<¤é»xÀɦW ºÙ> «ü¥Ü¤é»xÀɪº¦ì¸m¡C XMLRC=xxxxx;<¤é»xÀɦWºÙ> xxxxx ¬O¨Ó¦Û DB2 XML Extender ªº¦^ÂÐ ½X¡C ¦³Ãö¦^ÂнXªº»¡©ú¡A½Ð°Ñ¾\ DB2 XML Extender ¤å¥ó¡C <¤é»xÀɦWºÙ> «ü ¥Ü¤é»xÀɪº¦ì¸m¡C SQLCODE=xxxxx;<¤é»xÀɦWºÙ> xxxxx ¬O°õ¦æ SQL ­n¨D®É¶Ç¦^ªº«D¹s SQLCODE¡C <¤é»xÀɦWºÙ> «ü¥Ü¤é»xÀɪº ¦ì¸m¡C ­Y¬O©Ò¦³¿ù»~¡A½Ð°Ñ¾\¤é»xÀÉ¥H¨ú±o¸Ô²Ó¸ê°T¡C 22.15.2.6 ¿ù»~¤é»xÀÉ ·í MQXMLXF °õ¦æ®É¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v±N©Ò¦³¶EÂ_¸ê°TÀx¦s¦b¤é»xÀɤ¤¡C ¤é»xÀɦW ºÙ¬° mqxf.log¡A¨ä¤¤ ¬O¶Ç»¼¦ÜÀx¦sµ{§Çªº RunID¡C¡u¸ê®Æ­Ü Àx¤¤¤ß¡v·|¦b VWS_LOGGING Àô¹ÒÅܼƩҫü¥Üªº¥Ø¿ý¤¤«Ø¥ß¸ÓÀɮסC ­Y¥¼©w¸q¦¹Àô¹Ò ÅܼơA«h·|¦b¼È®É¥Ø¿ý¤¤«Ø¥ß¤é»xÀÉ¡C ­Y­n¨Ï VWS_LOGGING Àô¹ÒÅܼƥX²{¦b Unix ¥­¥xªºÀx¦sµ{§Ç¤¤¡A±zÀ³¸Ó¦b db2start ©R¥O¤§«e¡A¨Ï¥Î db2set ©R¥O¨Ó±N VWS_LOGGING ·s¼W¦Ü DB2ENVLIST Àô¹ÒÅܼƤ¤¡C ¤U¹Ï¬°Àô¹Ò©R¥O½d¨Ò¡C ¹Ï 6. Àô¹ÒÅܼƩR¥O½d¨Ò db2set DB2ENVLIST="AMT_DATA_PATH VWS_LOGGING" ­Y¨BÆJ¶¶§Q°õ¦æ¡A±N§R°£¤é»xÀÉ¡C ------------------------------------------------------------------------ 22.16 Microsoft OLE DB »P¡u¸ê®Æ²§°ÊªA°È¡v¤ä´© ²{¦b¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¥iÅý±z¦s¨ú OLE DB ´£¨ÑªÌªº¸ê®Æ¡A§@¬°¤@­Ó DB2 ¸ê®Æ®w·§ ²¤ªí¡C±z¥i¥H¨Ï¥Î¡u¸ê®Æ­ÜÀx¤¤¤ß¡v´£¨Ñªº OLE DB »²§UºëÆF¡A «Ø¥ß DB2 OLE DB ªí ®æ¨ç¼Æ¤Î¨Ñ±z¦b¨ä¤¤¦s¨ú¸ê®Æªº DB2 ·§²¤ªí¡C Microsoft Data Transformation Services (DTS) ¥iÅý±z¦b OLE DB ¨Ó·½©M¥Ø¼Ð¤§¶¡ ¿é¤J¡B¶×¥X¤ÎÂà´«¸ê®Æ¡A¥H«Ø¸m¸ê®Æ­ÜÀx©M¸ê®Æ¤¤¤ß¡C DTS ÀH Microsoft SQL Server ¦w¸Ë¡C©Ò¦³ DTS §@·~Àx¦s¦b DTS ¸ê®Æ¥]¤¤¡A±z¥i¥H¨Ï¥Î Microsoft OLE DB Provider for DTS Packages ¨Ó°õ¦æ¤Î ¦s¨ú DTS ¸ê®Æ¥]¡C¦]¬°±z¥i¥H¦s¨ú DTS ¸ê®Æ ¥]§@¬° OLE DB ¨Ó·½¡A©Ò¥H¤]¥i¥H³z¹L OLE DB »²§UºëÆF¡A¥H¹ï OLE DB ¸ê®Æ¨Ó·½©Ò ¥Îªº¬Û¦P¤è¦¡¡A¹ï DTS ¸ê®Æ¥]«Ø¥ß·§²¤ªí¡C ·í±z¦b°õ¦æ´Á¦s¨ú·§²¤ªí®É¡A·|°õ¦æ DTS ¸ê®Æ¥]¡A¦Ó¥B DTS ¸ê®Æ¥]¤¤§@·~ªº¥Ø¼Ðªí®æÅܦ¨«Ø¥ßªº·§²¤ªí¡C ¦b¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤«Ø¥ß·§²¤ªí¤§«á¡A±z¥i¥H¹³¨Ï¥Î¨ä¥¦¥ô¦ó·§²¤ªí¤@¼Ë¦a¨Ï¥Î ¥¦¡C ¨Ò¦p¡A±z¥i¥H¦b SQL ¨BÆJ¤¤±N DB2 ªí®æ»P OLE DB ¨Ó·½µ²¦X¦b¤@°_¡C ·í±z¨Ï ¥Î SQL ¨BÆJ¤¤«Ø¥ßªº·§²¤ªí®É¡A·|©I¥s DTS ´£¨ÑªÌ¨Ã°õ¦æ DTS ¸ê®Æ¥]¡C ³nÅé»Ý¨D¡G * DB2 Universal Database for Windows NT ª©¥» 7.2¡A¦p­ÜÀx¥Ø¼ÐºÝ¸ê®Æ®w * DB2 Warehouse Manager ª©¥» 7.2 * ­Y­ÜÀx¥Ø¼ÐºÝ¸ê®Æ®w¤w¦bª©¥» 7.2 ¤§«e«Ø¥ß¡A±z¥²¶·¦b¦w¸Ë DB2 UDB for Windows NT ª©¥» 7.2 ¤§«á¡A°õ¦æ db2updv7 ©R¥O * ·í½s¥Ø­ÜÀx¨Ó·½¸ê®Æ®w®É¡A·|¦b­ÜÀx¥N²zµ{¦¡ºÝ¤W½s¥Ø¸ê®Æ®w§O¦W¡C ¤£¹L¡A·í ±Ò°ÊºëÆF®É¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v·|°²³]¸ê®Æ®w§O¦W¤]©w¸q¦b±qÄݤu§@¯¸¤W¡A ¨Ã ±N¹Á¸Õ¨Ï¥Î­ÜÀx¨Ó·½¸ê®Æ®w¨Ï¥ÎªÌ ID ©M³q¦æ½X¨Ó³s±µ¥¦¡C ­Y³s±µ¦¨¥\¡A«hºë ÆF·|±Ò°Ê¨Ñ±z«Ø¥ß·§²¤ªí¡C­Y³s±µ¥¢±Ñ¡A «h·|Åã¥Ü¤@«hĵ§i°T®§¡A¦Ó±z¥²¶·¦b ºëÆF¤¤½s¥Ø©Î¿ï¾Ü¥t¤@­Ó¸ê®Æ®w§O¦W¡C * ­Y­nÃѧO DTS ¸ê®Æ¥]¤¤¯S©wªºªí®æ¡A±z¥²¶·¦b«Ø¥ß¥Ø¼Ðªí®æªº DataPumpTask ¤§¡u¤u§@¬yµ{¤º®e¡vµøµ¡ªº¡u¿ï¶µ¡v¼ÐÅÒ¤¤¡A¿ï¨ú DSO ¦C¶°´£¨ÑªÌ¤Ä¿ï®Ø¡C ­Y ¶}±Ò¦h­« DSO ¦C¶°´£¨ÑªÌÄÝ©Ê¡A«h¶È·|¨Ï¥Î²Ä¤@­Ó¿ï¨úªº¨BÆJµ²ªG¡C ·í¿ï¨ú¬Y ·§²¤ªí«á¡A·|¶Ç¦^¨ä¥Ø¼Ðªí®æªº¦C¶°¡A¦ý©¿²¤±z¦b«áÄò¨BÆJ¤¤«Ø¥ßªº¨ä¥¦©Ò¦³¦C ¶°¡C * ·í¹ïºëÆF¿é¤Jªí®æ¦WºÙ®É¡A½Ð¨Ï¥Î¨BÆJ¦WºÙ¡A ¨äÅã¥Ü©ó¸Ó§@·~ªº¡u¤u§@¬yµ{¤º ®e¡vµ§°O¥»¤§¡u¿ï¶µ¡v­¶­±¤¤¡C * DTS ¸ê®Æ¥]³s±µ¦r¦ê»P dtsrun ©R¥Oªº»yªk¬Û¦P¡C 22.16.1 «Ø¥ß OLE DB ªí®æ¨ç¼Æªº·§²¤ªí «Ø¥ß OLE DB ªí®æ¨ç¼Æªº·§²¤ªí¡G 1. ±q¡u¸ê®Æ­ÜÀx¤¤¤ß¡vµøµ¡¤¤¡A®i¶}­ÜÀx¨Ó·½¾ðª¬µ²ºc¡C 2. ®i¶}¥]§t·§²¤ªíªº­ÜÀx¨Ó·½¡C 3. ¥H·Æ¹«¥kÁä«ö¤@¤U·§²¤ªí¸ê®Æ§¨¡AµM«á«ö¤@¤U¹ï OLE DB ªí®æ¨ç¼Æ«Ø¥ß¡C §Y·|¶}±Ò OLE DB »²§UºëÆF¡C ¦¹ºëÆF·|³v¨B¤Þ¾É±z§¹¦¨¦b­ÜÀx¨Ó·½¸ê®Æ®w¤¤«Ø ¥ß·s·§²¤ªíªº§@·~¡C 22.16.2 «Ø¥ß DTS ¸ê®Æ¥]ªº·§²¤ªí ­Y­n¬° DTS ¸ê®Æ¥]«Ø¥ß·§²¤ªí¡G 1. ±q¡u¸ê®Æ­ÜÀx¤¤¤ß¡vµøµ¡¤¤¡A®i¶}­ÜÀx¨Ó·½¾ðª¬µ²ºc¡C 2. ®i¶}¥]§t·§²¤ªíªº­ÜÀx¨Ó·½¡C 3. ¥H·Æ¹«¥kÁä«ö¤@¤U·§²¤ªí¸ê®Æ§¨¡AµM«á«ö¤@¤U Microsoft OLE DB Provider for DTS Packages¡C §Y·|¶}±Ò OLE DB »²§UºëÆF¡C¦¹ºëÆF·|³v¨B¤Þ¾É±z§¹¦¨¦b­ÜÀx¨Ó·½¸ê®Æ®w¤¤«Ø¥ß ·s·§²¤ªíªº§@·~¡C ¦³Ãö DTS ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ Microsoft Platform SDK 2000 ¤å¥ó¡A ¨ä¤º®e¬°¦p¦ó «Ø¸m³s±µ DTS ´£¨ÑªÌ®ÉºëÆF»Ý­nªº´£¨ÑªÌ¦r¦ê¤§¸Ô²Ó»¡©ú¡C ------------------------------------------------------------------------ 22.17 ¼W¶q COMMIT ·f°t replace ¨Ï¥Î ¦b¥ÀÅéÃþ«¬¬° Replace ªº¨BÆJ¤¤¡A°ß¦³´¡¤J·s¸ê®Æ®É¡A¤~·|¨Ï¥Î¼W¶q½T©w¡C ¦b³æ¤@ ½T©w½d³ò¤º¡A­ì©l¸ê®Æ·|³Q§R°£¡C­Y±z»Ý­n§R°£¸ê®Æ¦Ó¤£²£¥Í¤é»x°O¿ý¡A ½Ð¦b°õ¦æ¨ã ¦³ªþ¥[¥ÀÅéÃþ«¬ªº SQL ¨BÆJ¤§«e¡A°õ¦æ¸ü¤JªÅ¥ÕÀɮתº¨BÆJ¡C ------------------------------------------------------------------------ 22.18 ¤¸¥ó°lÂܸê®ÆÀɦW ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¦b Windows NT ¤W¼¶¼g³o¨ÇÀɮסG AGNTnnnn.Log ¥]§t°lÂܸê°T¡Cnnnn ¬°­ÜÀx¥N²zµ{¦¡ªº¼Æ¦rµ{§Ç ID¡A ®Ú¾Ú§@·~¨t ²Î¡A¥¦¥i¥H¬O 4 ©Î 5 ¦ì¼Æ¡C AGNTnnnn.Set ¥]§t¥N²zµ{¦¡ªºÀô¹Ò³]©w¡Cnnnn ¬°­ÜÀx¥N²zµ{¦¡ªº¼Æ¦rµ{§Ç ID¡A®Ú¾Ú §@·~¨t²Î¡A¥¦¥i¥H¬O 4 ©Î 5 ¦ì¼Æ¡C ¹w³]¥Ø¿ý¬° x:\program files\sqllib\logging¡A ¨ä¤¤ x ¬O¦w¸Ë DB2 ©Ò¦bªººÏºÐ ¾÷¡C ------------------------------------------------------------------------ 22.19 AIX ¤Î Solaris §@·~Àô¹Ò¤W Sybase ¨Ó·½»Ý­nªº OPEN CLIENT ¦b²Ä 3 ³¹¡u³]¸m­ÜÀx¨Ó·½¡v¡A¦b AIX ¤è­±ªºªí®æ 3¡uAIX ¤W¤ä´©ªº¸ê®Æ¨Ó·½ªº³s±µ »Ý¨D¡v¥H¤Î Solaris §@·~Àô¹Ò¤è­±ªºªí®æ 4¡uSolaris §@·~Àô¹Ò¤W¤ä´©ªº¸ê®Æ¨Ó·½ªº ³s±µ»Ý¨D¡v¤¤¡A¡u¦p¦ó³s±µ¡G¡vª½Ä椤ªº Sybase µn¿ýÀ³¸Ó¥]§t¥t¤@­ÓÃB¥~ªº¨BÆJ¡C ¨ä¥¦¨BÆJÅã¥Ü¦b¥H¤Uªº¨BÆJ 3 ¤¤¡C 3. ¦w¸Ë OPEN CLIENT ½Ðª`·N¡G¦b Windows NT ©Î Windows 2000 ¥­¥x¤W³s±µ Sybase ¨Ó·½¡A »Ý­n OPEN CLIENT¡C ------------------------------------------------------------------------ 22.20 ½d¨Òµn¿ý§ó¥¿ ¦b Data Warehouse Center ºÞ²z¤â¥U¤@®Ñªº¡u²Ä 3 ³¹ ³]©w­ÜÀx¨Ó·½¡v¤¤Ãö©ó Driver Äݩʪº¸ô®|¨Ã¤£¥¿½T¡C¤U¦C¸ô®|¤~¬O¥¿½Tªº¡G ¹Ï 6 Driver=/home/db2_07_01/3.6/odbc/lib/ivinf12.so ¹Ï 8 Driver=/home/db2_07_01/3.6/odbc/lib/ivsyb1112.so ¹Ï 10 Driver=/home/db2_07_01/3.6/lib/ivor814.so ¹Ï 11 Driver=/home/db2_07_01/3.6/odbc/lib/ivmsss14.so ------------------------------------------------------------------------ 22.21 ²Ä 3 ³¹ ³]©w­ÜÀx¨Ó·½ 22.21.1 ¹ï¬M Microsoft Access ¤¤ªº³Æ§Ñ¿ýÄæ¦ì¦Ü­ÜÀx¨Ó·½ Microsoft Access ¸ê®Æ®wªº³Æ§Ñ¿ýÄæ¦ì¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¬O¥H¶W¹L 1GB ª½Äæ¤j¤pªº LONG VARCHAR ¸ê®ÆÃþ«¬¨Óªí¥Ü¡C ­Y­n¤ä´©¹ê»Úªº¨t²Î¬[ºc¡A¸ê®Æ­ÜÀx¤¤¤ß·|ºIÂ_¶W ¹L 128 KB ªº­È¡C ­Y­nÁקK¦b­ÜÀx¨Ó·½¤¤ºIÂ_³Æ§Ñ¿ýÄæ¦ì­È¡A ½Ð±z¦b¨BÆJ¤¤¨Ï¥Îªí ®æ¤§«e¡A¥ý±N±µ¦¬³Æ§Ñ¿ýÄæ¦ì¸ê®Æªºª½Äæ¸ê®ÆÃþ«¬±q LONG VARCHAR ÅÜ§ó¬° CLOB¡C ¦pªG±z¨S¦³Åܧóª½Ä檺¸ê®ÆÃþ«¬¡A¥ô¦ó¤j©ó 128 KB ªº­È³£·|³QºIÂ_¡C OS/390 ¤Î OS/400 »Ý­n¤ä´© CLOB ¸ê®ÆÃþ«¬ªº DRDA¡C OS/390 ±q DB2 ª©¥» 6 ¶}©l ¤ä´© CLOB ¸ê®ÆÃþ«¬¡C OS/400 ±qª©¥» 4¡B¨ã¦³ DB FixPak 4 ªºª©¦¸ 4 ©Î§ó·sª©¥» (PTF SF99104) ¶}©l¤ä´© CLOB ¸ê®ÆÃþ«¬¡C ­Y¬O OS/400¡A¦w¸ËºÏºÐª©¥» 4¡A1999 ¦~ 2 ¤ë ªºª©¦¸ 4¡A¤]¤ä´© CLOB ¸ê®ÆÃþ«¬¡C ------------------------------------------------------------------------ 22.22 ²Ä 10 ³¹ ºûÅ@­ÜÀx¸ê®Æ®w 22.22.1 Ãìµ²ªí®æ¦Ü DB2 UDB RUNSTATS µ{¦¡ªº¨BÆJ¦¸Ãþ«¬ RUNSTATS µ{¦¡ªº¨BÆJ¦¸Ãþ«¬¦Û­ÜÀx¥Ø¼ÐŪ¨ú¨Ã¼g¤J­ÜÀx¥Ø¼Ð¡C¦b©w¸q¦¹¨BÆJªº­È¤§ «e¡A ½Ð¥ý±N¥Ø¼ÐÃìµ²¨ì¡uµ{§Ç¼Ò«¬¡vµøµ¡ªº¨BÆJ¦¸Ãþ«¬¡C ------------------------------------------------------------------------ 22.23 ¹w³]­ÜÀx±±¨î¸ê®Æ®w ¦b Windows NT ©Î Windows 2000 ¦w¸Ë DB2 ªº´Á¶¡¡A ¦pªG¦b Windows NT ¨t²Îµn¿ý ¤¤¨S¦³ÃѧO§@¥Î¤¤ªº­ÜÀx±±¨î¸ê®Æ®w¡A DB2 ·|¦b¸ê®Æ­ÜÀx¤¤¤ß«Ø¥ß©M°_©l³]©w¹w³]­Ü Àx±±¨î¸ê®Æ®w¡C§Q¥Î°_©l³]©wµ{§Ç¡A¸ê®Æ­ÜÀx¤¤¤ß«Ø¥ß±±¨îªí®æ¡A¥HÀx¦s¸ê®Æ­ÜÀx¤¤ ¤ß´y­z¸ê®Æ¡C ¹w³]­ÜÀx±±¨î¸ê®Æ®wªº¦WºÙ¬° DWCTRLDB¡Cµn¤J®É¡A¸ê®Æ­ÜÀx¤¤¤ß«ü©w DWCTRLDB ¬°­Ü Àx±±¨î¸ê®Æ®w¹w³]­È¡C±ý¬d¬Ý­ÜÀx±±¨î¸ê®Æ®wªº¦WºÙ¡A«ö¤@¤U¸ê®Æ­ÜÀx¤¤¤ß¡uµn¤J¡v µøµ¡ªº¶i¶¥«ö¶s¡C ------------------------------------------------------------------------ 22.24 ­ÜÀx±±¨î¸ê®Æ®wºÞ²zµøµ¡ ­ÜÀx±±¨î¸ê®Æ®wºÞ²zµøµ¡¦b Windows NT ©Î Windows 2000 ¦w¸Ë¨å«¬ DB2 ´Á¶¡¶i¦æ¦w ¸Ë¡C§Q¥Î¦¹µøµ¡Åܧó§@¥Î¤¤ªº­ÜÀx±±¨î¸ê®Æ®w¡B«Ø¥ß©M°_©l³]©w·s«Ø­ÜÀx±±¨î¸ê®Æ®w ¡B²¾Âà IBM Visual­ÜÀx©Ò¨Ï¥Îªº­ÜÀx±±¨î¸ê®Æ®w¡C¤U¦C°Q½×¤W­zªº¬¡°Ê¡C ¨Ï¥Î­ÜÀx±±¨î¸ê®Æ®wºÞ²zµøµ¡«e°±¤î­ÜÀx¦øªA¾¹¡C ------------------------------------------------------------------------ 22.25 Åܧó§@¥Î¤¤­ÜÀx±±¨î¸ê®Æ®w ¦pªG±z­n¨Ï¥Î§@¥Î¤¤ªº­ÜÀx±±¨î¸ê®Æ®w¥H¥~ªº­ÜÀx±±¨î¸ê®Æ®w¡A½Ð¨Ï¥Î­ÜÀx±±¨î¸ê®Æ ®wºÞ²zµøµ¡±N¸Ó¸ê®Æ®wµn°O¬°§@¥Î¤¤ªº±±¨î¸ê®Æ®w¡Cµn¤J¸ê®Æ­ÜÀx¤¤¤ß®É¡A«ü©w§@¥Î ¤¤­ÜÀx±±¨î¸ê®Æ®w¥H¥~ªº¦WºÙ¡A±z·|±o¨ì¿ù»~ªº°T®§¡A»¡©ú±z©Ò«ü©wªº¸ê®Æ®w©M­ÜÀx ¦øªA¾¹©Ò«ü©wªº¸ê®Æ®w¤£¬Û²Å¦X¡C µn°O¸ê®Æ®w¡G 1. «ö¤@¤U¶}©l --> µ{¦¡¶° --> IBM DB2 --> ­ÜÀx±±¨î¸ê®Æ®w 2. ¦b·s«Ø±±¨î¸ê®Æ®wÄæ¦ì¤¤¡A¿é¤J±z­n¨Ï¥Îªº±±¨î¸ê®Æ®w¤§¦WºÙ¡C 3. ¦bºõ¥ØÄæ¦ì¤¤¡A¿é¤J¸ê®Æ®w»Ý­nªººõ¥Ø¦WºÙ¡C 4. ¦b¨Ï¥ÎªÌ ID Äæ¦ì¤¤¡A¿é¤J¦s¨ú¸ê®Æ®w©Ò»Ý­nªº¨Ï¥ÎªÌ ID ¦WºÙ¡C 5. ¦b³q¦æ½XÄæ¦ì¤¤¡A¿é¤J¨Ï¥ÎªÌ ID ªº³q¦æ½X¡C 6. ¦bÅçÃÒ±K½XÄæ¦ì¤¤¡A¦A¤@¦¸¿é¤J³q¦æ½X¡C 7. «ö¤@¤U½T©w¡C µøµ¡«O«ù¶}±Ò¡C°T®§Äæ¦ìÅã¥Üµn¿ýµ{§Çªºª¬ºA°T®§¡C 8. µ{§Ç§¹¦¨«á¡AÃö³¬µøµ¡¡C ------------------------------------------------------------------------ 22.26 «Ø¥ß©M°_©l³]©w­ÜÀx±±¨î¸ê®Æ®w ¦pªG±z­n«Ø¥ß¹w³]­È¥H¥~ªº­ÜÀx±±¨î¸ê®Æ®w¡A½Ð¦b¦w¸Ëµ{§Ç´Á¶¡«Ø¥ß¡A©Î¬O¦b­ÜÀx±± ¨î¸ê®Æ®wºÞ²zµøµ¡¶i¦æ¦w¸Ë¤§«á«Ø¥ß¡C¨Ï¥Î¦w¸Ëµ{§Ç¦b»P­ÜÀx¦øªA¾¹¬Û¦P©M¤£¦Pªº¤u §@¯¸¤W«Ø¥ß¸ê®Æ®w¡C ±ýÅܧó¦w¸Ë´Á¶¡©Ò«Ø¥ß­ÜÀx±±¨î¸ê®Æ®w¦WºÙ¡A½Ð°õ¦æ¦Û­q¦w¸Ë¡A¨ÃÅܧó©w¸q¥»ºÝ­ÜÀx ±±¨î¸ê®Æ®wµøµ¡¤ºªº¦WºÙ¡C¦w¸Ëµ{§Ç¥H±z©Ò«ü©wªº¦WºÙ«Ø¥ß¸ê®Æ®w¡A°_©l³]©w¸ê®Æ­Ü Àx¤¤¤ß©Ò¨Ï¥Îªº¸ê®Æ®w¡Aµn°O¸ê®Æ®w¬°§@¥Î¤¤­ÜÀx±±¨î¸ê®Æ®w¡C ±ý¦b¤w¦w¸Ë­ÜÀx¦øªA¾¹¥H¥~ªº¤u§@¯¸«Ø¥ß­ÜÀx±±¨î¸ê®Æ®w¡A½Ð¦b¦Û­q¦w¸Ë´Á¶¡¡A¿ï¨ú ­ÜÀx¥»ºÝ±±¨î¸ê®Æ®w¡C¦w¸Ëµ{§Ç±N«Ø¥ß¸Ó¸ê®Æ®w¡C¦w¸Ë§¹¦¨«á¡A½Ð«ö·Ó22.25, Åܧó§@ ¥Î¤¤­ÜÀx±±¨î¸ê®Æ®w¤ºªº¨BÆJ¡A¦b­ÜÀx¦øªA¾¹¤u§@¯¸¨Ï¥Î­ÜÀx±±¨î¸ê®Æ®wºÞ²zµøµ¡¡C ¦w¸Ë´Á¶¡¡A½Ð«ü©w¸ê®Æ®w¦WºÙ¡C °_©l³]©w¸ê®Æ­ÜÀx¤¤¤ß©Ò¨Ï¥Îªº¸ê®Æ®w¡Aµn°O¸Ó¸ê®Æ ®w¬°§@¥Î¤¤­ÜÀx±±¨î¸ê®Æ®w¡C ±ý¦b¦w¸Ëµ{§Ç«á«Ø¥ß©M°_©l³]©w­ÜÀx±±¨î¸ê®Æ®w¡A½Ð©ó­ÜÀx¦øªA¾¹¤u§@¯¸¨Ï¥Î­ÜÀx±± ¨î¸ê®Æ®wºÞ²zµøµ¡¡C¦pªG·s«Øªº­ÜÀx±±¨î¸ê®Æ®w¤£¦b­ÜÀx¦øªA¾¹¤u§@¯¸¡A«h¥²¶·¥ý¦b ­ÜÀx¦øªA¾¹¤u§@¯¸«Ø¥ß¸Ó¸ê®Æ®w¨Ã±N¥¦½s¤J¥Ø¿ý¡C¿í´` 22.25, Åܧó§@¥Î¤¤­ÜÀx±±¨î ¸ê®Æ®w¤ºªº¨BÆJ¡C ¦w¸Ë´Á¶¡¡A½Ð«ü©w¸ê®Æ®w¦WºÙ¡C µn¤J¸ê®Æ­ÜÀx¤¤¤ß®É¡A«ö¤@¤U¶i¶¥«ö¶s¡A¨Ã¿é¤J§@¥Î¤¤­ÜÀx±±¨î¸ê®Æ®w¦WºÙ¡C ------------------------------------------------------------------------ 22.27 «Ø¥ßª©¥»ªº SQL ¨BÆJ ¦b«Ø¥ßª©¥»ªº SQL ¨BÆJ®É¡A°ò©ó¨Ï¥Î±¡ªp¡A ±z¥i¯à·|¦Ò¼{¦bª©¥»ª½Äæ«Ø¥ß«D°ß¤@ªº ¯Á¤Þ¡A¥H¼W¶i§R°£ª©¥»ªº®Ä¯à¡C¹ï©ó¤j¶q­ÜÀxªí®æ½Ð¦Ò¼{¨ì³o¤@ÂI¡A¦]¬°´¡¤J¤Ö¶qªº ¦C¼Æ·|¼vÅT¨ì´¡¤Jªº®Ä¯à¡C ------------------------------------------------------------------------ 22.28 ¦b¡uµ{§Ç¼Ò«¬¡vµøµ¡¤¤¡AÅܧó¨Ó·½©Î¥Ø¼Ð ¦b¡uµ{§Ç¼Ò«¬¡vµøµ¡¤¤¡A¦pªGÅܧó¤F¨Ó·½©Î¥Ø¼Ð¡A±N·|¦Û°ÊÀx¦s©Ò°µªºÅܧó¡C¦pªG±z °µ¤F¥ô¦ó¨ä¥¦ªºÅܧó(¤ñ¦p·s¼W¨BÆJ)¡A±z¥²¶·©ú½T¦aÀx¦sÅܧó¡A¥H¹F¨ì¥Ã¤[ÅÜ§óªº¥Ø ªº¡C­Y­nÀx¦sÅܧó¡A½Ð«ö¤@¤U "µ{§Ç --> Àx¦s"¡C ------------------------------------------------------------------------ 22.29 ·s¼W»¡©ú¦Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡vª«¥ó ¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¡A©óµ§°O¥»ªº»¡©úÄæ¦ì¡A±z¥i¥H«ü©w¦h¹F 254 ­Ó¦r¤¸¡C¦¹³Ì¤j­È¨ú ¥N¤F½u¤W»¡©ú¤¤©Ò«ü©wªº³Ì¤jªø«×¡C ------------------------------------------------------------------------ 22.30 °õ¦æ¡u½d¨Ò¤º®e¡v * ±zµLªk¦¨¥\¦a°õ¦æ¦b¯Â¤å¦rÀɨӷ½¨Ï¥Î AS/400 ¥N²zµ{¦¡ªº¡u½d¨Ò¤º®e¡v­n¨D¡C ÁöµM±z¥i¥H«Ø¥ß¯Â¤å¦rÀɨӷ½¡A ¨Ã¥ø¹Ï¨Ï¥Î AS/400 ¥N²zµ{¦¡µo¥X½d¨Ò¤º®e­n ¨D¡A¦ý¬O³o¶µ­n¨D·|¥¢±Ñ¡C * ¦b¹ïµ{§Ç¼Ò«¬²£¥Í¾¹¤¤ªº­ÜÀx¥Ø¼Ð°õ¦æ¡u½d¨Ò¤º®e¡v®É¡A¥i¯à·|¦¬¨ì¿ù»~°T®§¡C ³o­Ó¿ù»~»P­ÜÀx¨Ó·½¡B­ÜÀx¥Ø¼Ð¡Bµ{§Ç¨BÆJªº¥N²zµ{¦¡ºÝ¤§¥i¥Î©Ê¦³Ãö¡C ¤@­Ó ¨BÆJ¥i¥Îªº¥N²zµ{¦¡ºÝ¤§¦Cªí¡A¬O­ÜÀx¨Ó·½ IR ¥N²zµ{¦¡ºÝ¡B­ÜÀx¥Ø¼Ð IR ¥N²z µ{¦¡ºÝ¡B¦¹¯S§O¨BÆJ¥i¥Îªº¥N²zµ{¦¡ºÝ¥æ¶°«á©Ò±o¨ìªºµ²ªG (©Ò«üªº¨BÆJ¬°¥N²z µ{¦¡ºÝ¤º®eµ§°O¥»ªº³Ì«á¤@­¶©Ò¿ïªº¨BÆJ)¡C¨Ò¦p¡AÀ˵ø°õ¦æ FTP Put µ{¦¡ (VWPRCPY) ªºµ{§Çªº¡u½d¨Ò¤º®e¡v¡C¥N²zµ{¦¡ºÝ©w¸qªº¥N²zµ{¦¡ºÝ¿ï¨úµ{§Ç¤¤©Ò ¨Ï¥Îªº¨BÆJ¡C·í±z¹ï¥Ø¼ÐÀÉ°õ¦æ¡u½d¨Ò¤º®e¡v¡A³q±`¨Ï¥Î¿ï¨ú¦C¥Ü¤¤ªº²Ä¤@­Ó¥N ²zµ{¦¡ºÝ¡C¦ý¬O¡A¸ê®Æ®wºûÅ@§@·~·|¼vÅT¥N²zµ{¦¡ºÝ¦C¥Üªº¦¸§Ç¡C¦pªG¿ï¨úªº¥N ²zµ{¦¡ºÝ»P¨Ó·½©Î¥Ø¼ÐÀɪº¨t²Î¤£¦P¡A½d¨Ò¤º®e±N¥¢±Ñ¡C ------------------------------------------------------------------------ 22.31 ½s¿è Create DDL SQL ³¯­z¦¡ ©ó¶}µo¼Ò¦¡¤U¡A½s¿è¥Ø¼Ðªí®æªº Create DDL SQL ³¯­z¦¡®É¡A ·|¬Ý¨ì¤U¦C¥O¤H°g´bªº °T®§¡G" Create DDL SQL ³¯­z¦¡ªº¥ô¦óÅܧó±N¤£¤Ï¬M¦bªí®æ©w¸q©Î¹ê»Úªºªí®æ¤W¡C­n Ä~Äò¶Ü¡H" Åܧó·|¤Ï¬M¦b¹ê»Ú¹êÅ骺ªí®æ¤W¡C©¿²¤¸Ó°T®§¡AÄ~ÄòÅܧó Create DDL ³¯­z¦¡¡C ¦b¶}µo¼Ò¦¡¨BÆJ¤¤¡A¦¹°T®§ªº­×¥¿ª©À³¦p¤U©Ò¥Ü¡G"Create DDL SQL ³¯­z¦¡ªº¥ô¦óÅÜ §ó±N¤£¤Ï¬M¦bªí®æ©w¸q¤¤¡C­nÄ~Äò¶Ü¡H" ¹ï©ó´ú¸Õ©Î¥Í²£¼Ò¦¡¤¤ªº¨BÆJ¡A¦¹°T®§¬O¥¿½Tªº¡C±N¨BÆJ¤É¯Å¨ì´ú¸Õ¼Ò¦¡®É¡A·|«Ø¥ß ¹êÅ骺¥Ø¼Ðªí®æ¡C¸ê®Æ­ÜÀx¤¤¤ß¤£·|Åܧó¸Óªí®æ¡C ------------------------------------------------------------------------ 22.32 ²¾Âà Visual Warehouse °Ó·~À˵ø ¦pªG­n±N Visual Warehouse ´y­z¸ê®Æ¦P¨B¤Æ¤§°Ó·~À˵ø²¾Âà¦Ü¸ê®Æ­ÜÀx¤¤¤ß®É¡A ±z ¥i¦b²¾Âà­ÜÀx±±¨î¸ê®Æ®w¤§«e±N°Ó·~À˵ø´£ª@¦Ü¡u¥Í²£¡vª¬ºA¡C¦pªG°Ó·~À˵ø¦b¡u¥Í ²£¡vª¬ºA¡A ¥¦ªº±Æµ{´N·|²¾Âà¦Ü¸ê®Æ­ÜÀx¤¤¤ß¡C¦pªG°Ó·~À˵ø¤£¦b¡u¥Í²£¡vª¬ºA¡A ¥¦´N·|²¾Âà¦Ü¡u´ú¸Õ¡vª¬ºA¡A¦Ó¨S¦³±Æµ{¡C¤£¥i±N²¾Âà¨BÆJ´£ª@¦Ü¡u¥Í²£¡vª¬ºA¡C±z ¥²¶·¥ý¦b¸ê®Æ­ÜÀx¤¤¤ß¦A¦¸«Ø¥ß¦P¨B¤Æ¨BÆJ¡A µM«á§R°£²¾Âà¨BÆJ¡C ------------------------------------------------------------------------ 22.33 «Ø¥ß¥Ø¼Ðªí®æ¤Î¥D­nÁä ¸ê®Æ­ÜÀx¤¤¤ß«Ø¥ß¦¹¨BÆJªº¥Ø¼Ðªí®æ«á¡A¨Ã¨S¦³²£¥Í¦¹¥Ø¼Ðªí®æªº¥D­nÁä¡C¬Y¨ÇÂà´« µ{¦¡¡A ¦p Moving Average¡A·|¨Ï¥Î©Ò²£¥Íªºªí®æ¨Ó°µ¬°¨Ó·½ªí®æ¡A¨ä¨Ó·½ªí®æ¤]¶· ­n¥D­nÁä¡C¦b±z¨Ï¥Î¥HÂà´«µ{¦¡²£¥Íªºªí®æ¤§«e¡A ½Ð¥ý¦b DB2 ±±¨î¤¤¤ßªºªí®æ¤W«ö ·Æ¹«¥kÁä¨Ó©w¸q¦¹ªí®æªº¥D­nÁä¡A µM«á«ö¤@¤UÅܧó¡C ------------------------------------------------------------------------ 22.34 ¨Ï¥Î Merant ODBC ÅX°Êµ{¦¡ ¦pªG­n¦s¨ú Windows NT ¤Wªº Microsoft SQL Server¡A ½Ð¨Ï¥Î Merant ODBC ÅX°Êµ{ ¦¡¨Ó½T»{¨ä¨t²Î¸ô®|¬O§_¥]§t sqllib\odbc32 ¥Ø¿ý¡C ------------------------------------------------------------------------ 22.35 ·s«Ø ODBC ÅX°Êµ{¦¡ ¦pªG±z±N¨Ï¥Î¤wÃìµ²¦Ü¦s¨ú Merant ODBC ¨Ó·½ªº¸ê®Æ­ÜÀx¤¤¤ß AIX ©Î Sun ¥N²zµ{ ¦¡¡A¨Ã¥B±N¦s¨ú DB2 ¸ê®Æ®w¡A ½ÐÅܧó .odbc.ini Àɮפ¤ DB2 ¨Ó·½°Ï¬qªº ¡uDriver=¡vÄÝ©Ê­È¡A¦p¤U©Ò¥Ü¡G AIX¡GÅX°Êµ{¦¡¦WºÙ¬° /usr/lpp/db2_07_01/lib/db2_36.o AIX ªº½d¨Ò ODBC ¨Ó·½µn¿ý¡G [SAMPLE] Driver=/usr/lpp/db2_07_01/lib/db2_36.o Description=DB2 ODBC Database Database=SAMPLE Sun¡GÅX°Êµ{¦¡¦WºÙ¬° /opt/IBMdb2/V7.1/lib/libdb2_36.so Sun ªº½d¨Ò ODBC ¨Ó·½µn¿ý¡G [SAMPLE] Driver=/opt/IBMdb2/V7.1/lib/libdb2_36.so Description=DB2 ODBC Database Database=SAMPLE ------------------------------------------------------------------------ 22.36 ©w¸q OS/2 ¸ê®Æ®w¤¤ªº­ÜÀx¨Ó·½©Î¥Ø¼Ð ©w¸q OS/2 ¸ê®Æ®wªº­ÜÀx¨Ó·½©Î­ÜÀx¥Ø¼Ð«á¡A ½Ð¥Î¤j¼g¦r¥ÀÁä¤J¸ê®Æ®w¦WºÙ¡C ------------------------------------------------------------------------ 22.37 ºÊ·þ­ÜÀx±±¨î¸ê®Æ®wªºª¬ºA DB2 ±±¨î¤¤¤ß©Î©R¥O¦æ³B²z¾¹¥i¯à·|«ü¥X­ÜÀx±±¨î¸ê®Æ®w¬O§_¦³¤£¤@­Pªºª¬ºA¡C¦¹ª¬ ºA«ü¥X­ÜÀx¦øªA¾¹¨S¦³µo¥X¥¦°_©lªº±Ò°Ê¨ì­ÜÀx¤é»x¾¹¡C ------------------------------------------------------------------------ 22.38 ¨Ï¥Î SQL »²§Uµ{¦¡»P TBC_MD ½d¨Ò¸ê®Æ®w ¦b TBC_MD ¸ê®Æ®w¤¤©Ò§tªº¸ê®Æ­ÜÀx½d¨Ò¤¤¡A±z¤£¥i¥H¨Ï¥Î SQL »²§Uµ{¦¡¨ÓÅܧó Select Scenario SQL ¨BÆJ¤¤ªº SQL¡A ¦]¬° SQL ¬O¦b SQL »²§Uµ{¦¡²£¥Í¤§«á½s¿è ªº¡C ------------------------------------------------------------------------ 22.39 ¨Ï¥Î FormatDate ¨ç¼Æ ­Y­n¨Ï¥Î FormatDate ¨ç¼Æ¡A½Ð¦b¡u¤º®e¡vµ§°O¥»ªº¡uSQL ³¯­z¦¡¡v­¶¤W¡A«ö¤@¤U«Ø ¸m SQL¡A¨Ó¶i¦æ SQL ¨BÆJ¡C FormatDate ¨ç¼Æªº¿é¥X¬O¸ê®ÆÃþ«¬ varchar(255)¡C ±z¤£¥i±q Function Parameters-FormatData ­¶­±¤¤ªººØÃþ¦C¥Ü¡A ¿ï¨ú¤é´Á¡B®É¶¡¡B©Î¤é´Á/®É¶¡¨ÓÅܧó ¸ê®Æ¡C ------------------------------------------------------------------------ 22.40 Åܧó»y¨¥³]©w ¦b AIX ©M Solaris §@·~Àô¹Ò¤¤¡A ¦w¸Ëµ{§Ç·|¬°¸ê°T«¬¿ý³]©w­n¤½§Gªº»y¨¥¡A ¨Ã¶× ¥X¨ì OLAP ¾ã¦X¦øªA¾¹¡C¦pªG±z·Q¦b¦w¸Ë®É¨Ï¥Î³o¨Ç»y¨¥¨ç¼Æ¡A ½Ð¿é¤J¤U¦C«ü¥O (¤@ ¾ã¦æ) ¥H«K«Ø¥ß³nÃìµ²¡C ¦b AIX /usr/bin/ln -sf /usr/lpp/db2_07_01/msg/locale/flgnxolv.str /usr/lpp/db2_07_01/bin/flgnxolv.str »y¨¥Àô¹Ò »y¨¥ªº»y¨¥Àô¹Ò (locale) ¦WºÙªº®æ¦¡¬° xx_yy ¦b Solaris §@·~Àô¹Ò /usr/bin/ln -sf /opt/IBMdb2/V7.1/msg/locale/flgnxolv.str /opt/IBMdb2/V7.1/bin/flgnxolv.str »y¨¥Àô¹Ò »y¨¥ªº»y¨¥Àô¹Ò (locale) ¦WºÙªº®æ¦¡¬° xx_yy ------------------------------------------------------------------------ 22.41 ¨Ï¥Î¡u²£¥ÍÁä­Èªí®æ¡vÂà´«µ{¦¡ ·í±z¨Ï¥Î¡u²£¥ÍÁä­Èªí®æ¡vÂà´«µ{¦¡ªº§ó·sÁä­Èª½Ä檺­È¿ï¶µ®É¡A Âà´«µ{¦¡¶È§ó·sªí ®æ¤¤¨S¦³­Èªº¦C¡C(¤]´N¬O¡A­È¬° NULL)¡C·í±z¦bªí®æ¤¤´¡¤J¨ä¥¦¾î¦C®É¡A °£«D±z­« ·s°õ¦æÂà´«µ{¦¡¡A§_«hÁä­È¬°ªÅ­È¡C ¬°¤FÁקK¦¹°ÝÃD¡A½Ð°õ¦æ¤U¦C°Ê§@¡G * ¦b°_©l°õ¦æÂà´«µ{¦¡¤§«á¡A½Ð¨Ï¥Î¨ú¥N¥þ³¡­È¿ï¶µ¥H«Ø¥ß©Ò¦³¾î¦Cªº­È¡C ------------------------------------------------------------------------ 22.42 ºûÅ@¸ê®Æ®w³s±µ ·í DB2 ¦øªA¾¹ºÞ²zªº¸ê®Æ®w¤w°±¤î©Î­«·s±Ò°Ê®É¡A ­ÜÀx¦øªA¾¹¨Ã¤£·|ºûÅ@¥»ºÝ©Î»· ºÝ¸ê®Æ®wªº³s±µ¡C­Y±z­n°±¤î©Î­«·s±Ò°Ê DB2¡A½Ð¤@¨Ö°±¤î©Î­«·s±Ò°Ê­ÜÀx¦øªA¾¹¡C ------------------------------------------------------------------------ 22.43 ³]©w»·ºÝ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v±qÄݯ¸ ·í±z¦b¨ã¦³­ÜÀx¦øªA¾¹ªº¨ä¥¦¤u§@¯¸¤W¡A ¦w¸Ë DB2 ºÞ²z±qÄݯ¸»P¸ê®Æ­ÜÀx¤u¨ã¨Ó³] ©w¸ê®Æ­ÜÀx¤¤¤ßºÞ²z±qÄݯ¸®É¡A ±z¥²¶··s¼W­ÜÀx¤¤¤ß©Ò¦Cªº TCP/IP °ð¸¹¨ìªA°Èµ{¦¡ ÀÉ®×µ¹±qÄݤu§@¯¸¡C½Ð¦bªA°Èµ{¦¡ÀÉ®×·s¼W¤U¦C¶µ¥Ø¡G vwkernel 11000/tcp ------------------------------------------------------------------------ 22.44 ©w¸q DB2 for VM ­ÜÀx¨Ó·½ ·í±z¬° DB2 for VM ¸ê®Æ®w (±q DRDA ¹h¹D¦s¨ú) ©w¸q­ÜÀx¨Ó·½®É¡A CLOB »P BLOB ¸ê®ÆÃþ«¬¦³¨Ï¥Î­­¨î¡G * ±z¤£¯à¨Ï¥Î½d¨Ò¤º®e¨ç¼Æ¨ÓÀ˵ø CLOB »P BLOB ¸ê®Æªº¸ê®ÆÃþ«¬¡C * ±z¤£¯à¨Ï¥Î¨ã SQL ¨BÆJªº CLOB »P BLOB ¸ê®ÆÃþ«¬ªºª½Äæ¡C ¦¹­­¨î¬O DB2 for VM ª©¥» 5.2 ¦øªA¾¹ªº¤wª¾­­¨î¡A¨äµLªk¨Ï¥Î DRDA ¶Ç¿é LOB ª« ¥ó¦Ü DB2 ª©¥» 7 ±qÄݯ¸¡C ------------------------------------------------------------------------ 22.45 ©w¸q DB2 for VM ©Î DB2 for VSE ¥Ø¼Ðªí®æ ·í±z¦b¸ê®Æ­ÜÀx¤¤¤ß©w¸q DB2 for VM ©Î DB2 for VSE ¥Ø¼Ðªí®æ®É¡A ½Ð¤Å¿ï¨ú±Â»P ¤½¥ÎÅv­­¤Ä¿ï®Ø¡CDB2 for VM »P DB2 for VSE ¨Ã¥¼¤ä´©¸ê®Æ­ÜÀx¤¤¤ß²£¥Íªº GRANT «ü¥O»yªk¡C ------------------------------------------------------------------------ 22.46 ±Ò¥Î¦³©w¬É²Å¸¹ªºÃѧO¦r¤ä´© ±Ò¥Î¥i¤ä´© Sybase »P Microsoft Windows NT ªº SQL Server ¦³©w¬É²Å¸¹ªºÃѧO¦r ®É¡G½Ð¿ï¨ú ODBC Driver Setup µ§°O¥»¶i¶¥­¶­±ªº Enable Quoted Identifiers ¤Ä ¿ï¡C ±Ò¥Î¥i¤ä´© UNIX ªº Sybase ªº¦³©w¬É²Å¸¹ªºÃѧO¦r®É¡A ½Ð½s¿è .odbc.ini Àɤ¤ªº Sybase ¸ê®Æ¨Ó·½¥]¬A³s±µÄÝ©Ê EQI=1¡C ------------------------------------------------------------------------ 22.47 Data Joiner ¿ù»~«ü¥X³sµ²°ÝÃD ¨Ï¥Î DataJoiner »P DB2 7.1 ª© + FixPak 2 ©Î§ó·sª©¥»ªº«È¤á¥i¯à·|±o¨ì¤@­Ó¿ù»~ °T®§¡A«ü¥X³sµ²¦³°ÝÃD¡C ¨Ò¦p¡A¦b¨Ï¥Î DataJoiner ¨Ó·½»P¸ê®Æ­ÜÀx¤¤¤ß 7.2 ª©¥N²zµ{¦¡®É¡A±z¥i¯à·|µo¥ÍÃì µ²¿ù»~¡G DWC07356E °w¹ï¨BÆJ "?" ªº ª©¥» "0"¡AÃþ«¬ importTableNames ªº«ü¥O¤§¥N²zµ{¦¡³B²zµ{§Ç¥¢±Ñ¡C SQL0001N ³sµ²©Î«e¸m½sĶ¥¼¯à¶¶§Q§¹¦¨¡C SQL0001N §ä¤£¨ì NULLID.SQLL6D05 ®M¸Ë³nÅé¡CSQLSTATE=51002 RC = 7356 RC2 = 8600 ­Y­n§ó¥¿¸Ó°ÝÃD¡A½Ð·s¼W¤U¦C¦æ¦Ü db2cli.ini ÀɮסG [COMMON] DYNAMIC=1 ¦b UNIX ¨t²Î¤W¡Adb2cli.ini Àɮ׬O¦ì¦b .../sqllib/cfg ¥Ø¿ý¡C ¦b Windows NT ¤W¡Adb2cli.ini Àɮ׬O¦ì¦b .../sqllib ¥Ø¿ý¡C ------------------------------------------------------------------------ 22.48 ¸ê®Æ­ÜÀx¤¤¤ß³]©w©M°õ¦æ§Û¼g 1. ¶i¦æ¸ê®Æ­ÜÀx¤¤¤ß³]©w©M°õ¦æ§Û¼g¡A§Û¼g±±¨îªí®æ¥²¶·¦b­ÜÀx±±¨î¸ê®Æ®w©M­ÜÀx ¥Ø¼Ð¸ê®Æ®w¤º¡C §Û¼g»Ý­n§Û¼g±±¨îªí®æ¦s¦b©ó±±¨î©M¥Ø¼Ð¸ê®Æ®w¤º¡C¦b ASN ºõ¥Ø¤¤¥i¥H§ä¨ì§Û ¼g±±¨îªí®æ¡A¥¦­Ì¶}©l©ó IBMSNAP¡C ¦pªG±±¨îªí®æ¨Ã¤£¦s¦b¡A·í±z³z¹L±±¨î¤¤ ¤ß¨Ó©w¸q§Û¼g¨Ó·½®É¡A§Û¼g±±¨îªí®æ·|¦b¸ê®Æ®w¤º¦Û°Ê«Ø¥ß¡C³Æµù¡G±±¨îªí®æ¤] ¤@©w¦s¦b©ó¥Ø¼Ð DB ¤¤¡C ±ý±o¨ì¦b¥Ø¼Ð DB ©Ò«Ø¥ß±±¨îªí®æ¡A½Ð¨Ï¥Î±±¨î¤¤¤ß «Ø¥ß§Û¼g¨Ó·½¡AµM«á¦A²¾°£§Û¼g¨Ó·½¡A¥u¯d¤U±±¨îªí®æ¡C ©ÎªÌ¡A¨Ï¥Î DJRA (Data Joiner Replication Administration) ²£«~¨Ó©w¸q±±¨îªí®æ¡C 2. ¦w¸Ë©M¨Ï¥Î DJRA ±ý¨Ï¥Î DJRA ¨Ó©w¸q±±¨îªí®æ¡A«h¥²¶·¥ý¶i¦æ¦w¸Ë¡CDJRA ¶Ç°e¬° DB2 ªº¤@³¡ ¥÷¡C±ý¦w¸Ë DJRA¡A½Ð¸õ¦Ü d:\sqllib\djra ¥Ø¿ý¡A¨Ã«ö¤@¤U djra.exe ®M¸Ë³n Åé¡C±N DJRA ¦w¸Ë¨ì±zªº¨t²Î¡C¤§«á¡A±ý¦b Windows NT ªº¶}©l¥\¯àªí¦s¨ú DJRA¡A½Ð«ö¤@¤U Windows NT ¿ï¾Üªº DB2¡A¿ï¨ú§Û¼g¡A¿ï¨ú§Û¼gºÞ²z¤u¨ã¡CDJRA ¤¶­±©M¤@¯ëªº NT À³¥Îµ{¦¡¤£¤Ó¬Û¦P¡C©Ò°õ¦æªº¨C¤@­Ó¨ç¼Æ¡A¥¦«Ø¥ß¤@²Õ­n°õ¦æ ªº SQL¡A¦ý¬O«o¨S¦³¥h°õ¦æ¡C¨Ï¥ÎªÌ¥²¶·¦Û¦æÀx¦s©Ò²£¥Íªº SQL¡AµM«á¡A¿ï¨ú°õ ¦æ SQL ¨ç¼Æ¶i¦æ°õ¦æ¡C 3. ³]©w°õ¦æÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ ¥¿¦b´ú¸Õ¤¤ªº¨t²Î¡A¦³Ãö¦p¦ó¬[ºc¨t²Î¨Ó°õ¦æÂ^¨úµ{¦¡©M¤Þ¥Îµ{¦¡ªº«ü¥O¡A½Ð°Ñ ¾\ Replication «ü«n©M°Ñ¦Ò¤â¥U¡C³sµ²Â^¨ú©M¤Þ¥Îµ{¦¡¤¤±N³Q¨Ï¥Îªº¦U­Ó¸ê®Æ ®w¡Cª`·N¡A±z¤£»Ý­n«Ø¥ß³q¦æ½XÀɮסC¸ê®Æ­ÜÀx¤¤¤ß·|¬°©w´Á§Û¼g¤è¦¡¦Û°Ê«Ø¥ß ³q¦æ½XÀɮסC 4. ©w¸q±±¨î¤¤¤ß¤º§Û¼g¨Ó·½ ¨Ï¥Î±±¨î¤¤¤ß©w¸q§Û¼g¨Ó·½¡C¸ê®Æ­ÜÀx¤¤¤ß¤ä´©¤­ºØ§Û¼g«¬Ãþ¡G¨Ï¥ÎªÌ°Æ¥»¡A®É ¶¡ÂI¡A°ò¥»»E¶°¡AÅܧó»E¶°©M¼È¸mªí®æ (CCD ªí®æ)¡C¨Ï¥ÎªÌ°Æ¥»¡B®É¶¡ÂI©MÀ£ ÁY¼È¸mªí®æªº«¬Ãþ¡A»Ý­n§Û¼g¨Ó·½ªí®æ¦³¤@­Ó¥D­nÁä¡C¨ä¥¦§Û¼g«¬Ãþ«h¤£»Ý­n¡C ¿ï¾Ü³Q©w¸q¬°§Û¼g¨Ó·½ªº¿é¤Jªí®æ®É¡A½Ð°O±o³o¤@ÂI¡C¹ê»Ú¤W¡A§Û¼g¨Ó·½¬O­ì©l ¨Ó·½ªí®æ©M«Ø¥ß¤§ CD ªí®æ (Åܧó¸ê®Æ) ªº©w¸q¡A¸ê®ÆÅܧ󲾰ʦܥؼЪí®æ«e«O ¯d¦b CD ªí®æ¤º¡C ¦b±±¨î¤¤¤ß¤º©w¸q§Û¼g¨Ó·½¡AASN.IBMSNAP_REGISTER ·|¼g¤J ¤@¶µ°O¿ý¡A¥H©w¸q¸Ó¨Ó·½©M¥¦ªº CD ªí®æ¡CCD ªí®æ¦b¦P¤@®É¶¡¤º«Ø¥ß¡A¦ý¬O¡A ¶}©l®É¥¦¸ÌÀY¨S¦³¸ê®Æ¡C©w¸q§Û¼g¨Ó·½¡A±z¥i¥H¿ï¾Ü¥u¨Ö¤J«á¹³ª½Äæ¡A©Î¿ï¾Ü¨Ö ¤J«e¹³©M«á¹³ª½Äæ¡C³z¹L±±¨î¤¤¤ß§Û¼g¨Ó·½¤¶­±ªº¤Ä¿ï®Ø¨Ó¿ï¶µ¡C±z©Ò¿ï¾Üªº«e ¹³©M«á¹³ª½Äæ·|Âà´«¦Ü·s«Ø CD ªí®æ¤º©Ò«Ø¥ßªºª½Äæ¡CCD ªí®æ¤º¡A«á¹³ª½Äæ©M ­ì©l¨Ó·½ªí®æª½Äæ¦WºÙ¦P¦W¡C«á¹³ª½Äæ¦WºÙªº²Ä¤@­Ó¦r¤¸¬° X¡C 5. ¶×¤J§Û¼g¨Ó·½¦Ü¸ê®Æ­ÜÀx¤¤¤ß ¤@¥¹¦b±±¨î¤¤¤ß«Ø¥ß§Û¼g¨Ó·½¡A±z¥i¥H±N¥¦¶×¤J¸ê®Æ­ÜÀx¤¤¤ß¡C¶×¤J¨Ó·½®É¡A½Ð ½T©w«ö¤@¤U¡u¥i¥H§Û¼gªºªí®æ¡v¤Ä¿ï®Ø¡C³o§i¶D¤F¸ê®Æ­ÜÀx¤¤¤ß¬Ý¬Ý ASN.IBMSNAP_REGISTER ªí®æ¤ºªº°O¿ý¡A¦³¨º¨Çªí®æ³Q©w¸q¬°§Û¼g¨Ó·½¡C 6. ¦b¸ê®Æ­ÜÀx¤¤¤ß¤º©w¸q§Û¼g¨BÆJ ¦bµ{§Ç¼Ò«¬²£¥Í¾¹¤¤¡A¿ï¨ú¤­ºØ§Û¼g«¬Ãþ¤¤ªº¤@ºØ¡G°ò¥»»E¶°¡BÅܧó»E¶°¡B®É¶¡ ÂI¡B¼È¸mªí®æ¡B¨Ï¥ÎªÌ°Æ¥»¡C±ý©w¸q°ò¥»»E¶°©ÎÅܧó»E¶°§Û¼gÃþ«¬¡A½Ð°Ñ¾\¥H¤U ¦³Ãö¦p¦ó¦b¸ê®Æ­ÜÀx¤¤¤ß¦w¸Ë°ò¥»»E¶°©ÎÅܧó»E¶°§Û¼g¡C¬°§Û¼gÃþ«¬¿ï¨ú¾A·íªº §Û¼g¨Ó·½¡C¦p¤W©Ò»¡¡A¨Ï¥ÎªÌ°Æ¥»¡B®É¶¡ÂI©MÀ£ÁY¼È¸mªí®æªº§Û¼g«¬Ãþ»Ý­n¿é¤J ¨Ó·½¦³¤@­Ó¥D­nÁä¡C³s±µ§Û¼g¨Ó·½¦Ü§Û¼g¨BÆJ¡C¶}±Ò§Û¼g¨BÆJªº¤º®e¡C¸õ¦Ü°Ñ¼Æ ¼ÐÅÒ¡C¿ï¨ú©Ò­nªºª½Äæ¡C ¿ï¨ú¤Ä¿ï®Ø¨Ó«Ø¥ß¥Ø¼Ðªí®æ¡C¿ï¨ú­ÜÀx¥Ø¼Ð¡C ¸õ¦Ü³B ²zµ{§Ç¿ï¶µ¨Ã¶ñ¼g°Ñ¼Æ¡C«ö¡u½T©w¡v¡C 7. ±Ò°ÊÂ^¨úµ{¦¡ DOS µøµ¡¤º¡A½Ð¿é¤J¡GASNCCP source-database COLD PRUNE COLD °Ñ¼Æ«ü¥Ü COLD ªº±Ò°Ê¡A¨Ã§R°£¦s¦b©ó CD ªí®æªº¥ô¦ó¸ê®Æ¡CPRUNE °Ñ¼Æ «ü¥ÜÂ^¨úµ{¦¡ºûÅ@ IBMSNAP_PRUNCNTL ªí®æ¡CÅýÂ^¨úµ{¦¡Ä~Äò°õ¦æ¡C­n°h¥X®É¡A ½Ð§Q¥Î DOS µøµ¡¤ºªº Ctrl-Break ¤U¥O°±¤î¡Cª`·N¡A±Ò°Ê¤Þ¥Îµ{¦¡«e½Ð±Ò°ÊÂ^ ¨úµ{¦¡¡C 8. §Û¼g¨BÆJ¤É¯Å¨ì´ú¸Õ (Promote-To-Test) ¦^¨ì¸ê®Æ­ÜÀx¤¤¤ß¡A¹ï©ó©w¸qªº§Û¼g¨BÆJ¡A±N¨BÆJ¤É¯Å¨ì¡u´ú¸Õ¡v¼Ò¦¡¡C³o¨Ç·| ³y¦¨©w´Á§Û¼g¤è¦¡¸ê°T¼g¤J§Û¼g±±¨îªí®æ¡C±z±N¬Ý¨ì·s¼W¦Ü IBMSNAP_SUBS_SET ¡BIBMSNAP_SUBS_MEMBR¡BIBMSNAP_SUBS_COLS¡B IBMSNAP_SUBS_EVENTªº°O¿ý¡A¥H ¤ä´©©w´Á§Û¼g¡C ¥Ø¼Ðªí®æ¤]·|¦b¥Ø¼Ð¸ê®Æ®w¤¤«Ø¥ß¡C­Y§Û¼gÃþ«¬¬°¨Ï¥ÎªÌ°Æ¥» ¡B®É¶¡ÂI¡BÀ£ÁY¼È¸mªí®æ¡A¥Ø¼Ðªí®æ»Ý­n¤@­Ó¥D­nÁä¡C¸õ¦Ü±±¨î¤¤¤ß¨Ó«Ø¥ß¥D­n Áä¡Cª`·N¡A¦b¤£¦Pªºª½Äæ¸Ì¡A¦³¨Ç§Û¼g¥Ø¼Ðªí®æ¤]»Ý­n°ß¤@¯Á¤Þ¡C¦r½X¦s¦b©ó¸ê ®Æ­ÜÀx¤¤¤ß¤¤¡A¦bªí®æ«Ø¥ß®É¡A¥¦·|«Ø¥ß³o¨Ç°ß¤@¯Á¤Þ¡A©Ò¥H¡A±z¤£»Ý­n¦Û¤v«Ø ¥ß³o¨Ç¯Á¤Þ¡Cª`·N¡A¦pªG¦b±±¨î¤¤¤ß¤º©w¸q¥D­nÁä¡A¦P®É¡Aª½Ä椤¤w¦³¤@­Ó°ß¤@ ¯Á¤Þ¡A·í±z¦b«Ø¥ß¥D­nÁä®É¦^¶Ç¦^ĵ§i°T®§¡C©¿²¤¦¹Äµ§i°T®§¡C 9. §Û¼g¨BÆJ¤É¯Å¨ì¥Í²£ (Promote-To-Production) ¦b¤É¯Å¨ì¥Í²£´Á¶¡¡A¤£·|°µ¥ô¦ó©w´Á§Û¼g¤è¦¡Åܧó¡C³o§¹¥þ©M¨ä¥¦¨BÆJªº¡u¸ê®Æ ­ÜÀx¤¤¤ß¡v§@·~¬Û¦P¡C 10. °õ¦æ§Û¼g¨BÆJ §Û¼g¨BÆJ³Q´£ª@¬°´ú¸Õ¼Ò¦¡«á´N¥i¥H°õ¦æ¡C¨Ó·½ªí®æ¶i¦æ¥ô¥iÅܧó«e¡A½Ð¥ý°õ¦æ ¤@¦¸¡C¸õ¦Ü¡u¤u§@¶i¦æ¤¤¡v(Work-in-Progress;WIP) ³¹¸`¡A¿ï¨ú§Û¼g¨BÆJ¡C°õ ¦æ¥¦¡C¨BÆJ°õ¦æ®É¡AIBMSNAP_SUBS_EVENT ªí®æ¤ºªº¨Æ¥ó°O¿ý·|§ó·s¡A IBMSNAP_SUBS_SET ªº©w´Á§Û¼g°O¿ý¬°«á¸m§@¥Î¤¤¡C©w´Á§Û¼g°¨¤W°õ¦æ¡C©w´Á§Û ¼g°õ¦æ®É¡A¥N²zµ{¦¡©I¥s¤Þ¥Îµ{¦¡³B²z§@¥Î¤¤ªº©w´Á§Û¼g¡C ¤§«á¡A§ó·s­ì©l¨Ó ·½ªí®æ¡A©ÒÅܧ󪺸ê®Æ±N²¾¦Ü CD ªí®æ¡C¦pªG°õ¦æ¤U¦C§Û¼g¨BÆJ¡A¤Þ¥Îµ{¦¡¦A¤@ ¦¸°õ¦æ¡AÅܧó¸ê®Æ±N±q CD ªí®æ²¾°Ê¨ì¥Ø¼Ðªí®æ¡C 11. §Û¼g¨BÆJ­°¯Å¨ì´ú¸Õ (Demote-To-Test) ¦b­°¯Å¨ì´ú¸Õ´Á¶¡¡A¤£·|°µ¥ô¦ó©w´Á§Û¼g¤è¦¡Åܧó¡C³o§¹¥þ©M¨ä¥¦¨BÆJªº¡u¸ê®Æ ­ÜÀx¤¤¤ß¡v§@·~¬Û¦P¡C 12. §Û¼g¨BÆJ­°¯Å¨ì¶}µo (Demote-to-Development) ·í±z±N§Û¼g¨BÆJ­°¯Å¨ì¶}µo®É¡A©w´Á§Û¼g¸ê°T·|¦Û§Û¼g±±¨îªí®æ¤º²¾°£¡C­°¯Å¨ì ¥Í²£§¹¦¨«á¡A¯S©w©w´Á§Û¼g¤£·|¦b§Û¼g±±¨îªí®æ¤º¯d¤U°O¿ý¡C¥Ø¼Ðªí®æ¤]·|¦b¦¹ ³Q°£¥h¡CCD ªí®æ·|¾A·í¦a«O¯d¤U¨Ó¡A¦]¬°¥¦ÄÝ©ó§Û¼g¨Ó·½ªº©w¸q¡C 13. ¦p¦ó¦b¸ê®Æ­ÜÀx¤¤¤ß³]©w°ò¥»»E¶°©ÎÅܧó»E¶°¡C o ¿é¤Jªí®æ¡C¿ï¾Ü¥i¥H³Q GROUP BY ³¯­z¦¡¨Ï¥Îªº¿é¤Jªí®æ¡C ¨Ò¦p¡A¨Ï¥Î§t ¦³³o¨Çª½Ä檺¿é¤Jªí®æ¡GSALES¡AREGION¡ADISTRICT¡C o §Û¼g¨BÆJ¡C¿ï¾Ü°ò¥»©ÎÅܧó»E¶°¡C¶}±Ò¨BÆJ¤º®e¡C + ¦b¤Þ¥Îµ{¦¡°õ¦æ®É¡A¥¦¥²¶·°õ¦æÃþ¦ü SELECT SUM(SALES), REGION, DISTRICT GROUP BY REGION, DISTRICT ªº SELECT ³¯­z¦¡¡C ¦]¦¹¡A ¦b¿ï¨úªº¿é¥Xª½Ä椤¡A±z¥²¶·¿ï¾Ü REGION¡BDISTRICT ¤Î¤@­Ó­pºâª½ ¦æ SUM(SALES)¡C¨Ï¥Î·s¼W­pºâª½¦æ«ö¶s¡C ½d¨Ò¤¤½Ð¿é¤J SUM(SALES) ©ó¡uªí¥Ü¦¡¡vÄæ¦ì¡CÀx¦s¥¦¡C + WHERE ¤l¥y¡C¦³¤@¶µ§Û¼g»Ý¨D¡G ¦b±z³]©w¥u»Ý GROUP BY ¤l¥yªº§Û ¼g¨BÆJ®É¡A ¥²¶·´£¨Ñ DUMMY WHERE ¤l¥y (¤ñ¦p 1=1)¡C¤£­n±N "WHERE" ³o­Ó¦r¥[¨ì WHERE ¤l¥y¤¤¡C¦]¦¹¡A°ò¥»»E¶°ªº¸ê®Æ­ÜÀx¤¤ ¤ß GUI ¤º¡A¥u¦³¤@­Ó WHERE ¤l¥y¿é¤JÄæ¦ì¡C¦b¦¹Äæ¦ì¤¤¡A¨Ò¦p¡G ¿é¤J¡G 1=1 GROUP BY REGION, DISTRICT ¨ì¡uÅܧó»E¶°¡v¡A ¦³ ¡uWHERE ¤l¥y¡v©M¡uGROUP BY ¡v¨â­Ó¿é¤JÄæ¦ì¡G ¡uWHERE ¤l¥y¡vÄæ ¦ì¿é¤J¡G 1=1¡A¡uGROUP BY¡vÄæ¦ì¿é¤J¡G GROUP BY REGION, DIST RICT + ³]©w³Ñ¤Uªº¨BÆJ¤º®e¡A´N¦p±z³]©w¨ä¥¦§Û¼gÃþ«¬¤@¯ë¡C«ö¡u½T©w¡v¥H Àx¦s¨BÆJ¡A¨Ã«Ø¥ß¥Ø¼Ðªí®æª«¥ó¡C o ¶}±Ò¥Ø¼Ðªí®æª«¥ó¡C§ó§ï­pºâª½¦æªí¥Ü¦¡ªº¿é¥Xª½Äæ¦WºÙ¦¨¬°¦³®Äªºª½Äæ ¦WºÙ¡A¨Ã¥B«ü©wª½Ä檺¦³®Äªº¸ê®ÆÃþ«¬¡CÀx¦s¥Ø¼Ðªí®æª«¥ó¡C o ¦b§Û¼g¨BÆJ°õ¦æ´£ª@´ú¸Õ (Promote-to-Test)¡C«Ø¥ß¥Ø¼Ðªí®æ¡C¤£»Ý­n¥D ­nÁä¡C o °õ¦æ¨BÆJ¦p¨ä¥¦§Û¼g¨BÆJ¯ë¡C ------------------------------------------------------------------------ 22.49 ºÃÃø±Æ¸Ñ¯µ³Z * ¶}±Ò¤Þ¥Îµ{¦¡ªº°lÂÜ¡A¦b­ÜÀx¤º®eµe­±³]©w¥N²zµ{¦¡­È = 4¡C¥N²zµ{¦¡¶}±Ò¹ï¤Þ ¥Îµ{¦¡§¹¾ãªº°lÂÜ¡A·í¥N²zµ{¦¡°lÂÜ = 4 ®É¡C ¦pªG¦b CD ªí®æ¤¤¨S¦³¥ô¦ó¸ê®Æ¡A«h«Ü¥i¯à¬OÂ^¨úµ{¦¡¨S¦³±Ò°Ê¡A©Î«Ø¥ßÅܧó¸ê ®Æªº­ì©l¨Ó·½ªí®æ¨S¦³§ó·s¡C * ±Æµ{µ§°O¥»¤§³qª¾­¶­±ªº¶l¥ó¦øªA¾¹Äæ¦ì¦Û½u¤W»¡©ú¤¤¿òº|¤F¡C * ¶l¥ó¦øªA¾¹»Ý­n¤ä´© ESMTP¡A¸ê®Æ­ÜÀx¤¤¤ß³qª¾¤~¯à¤u§@¡C¦b¡u¶}±Ò¤u§@¶i¦æ ¤¤¡vµøµ¡ªº»¡©ú¤¤¡A«ö¤@¤U "­ÜÀx --> ¤u§@¶i¦æ¤¤"¡A ¦Ó¤£¬O "­ÜÀx¤¤¤ß --> ¤u§@¶i¦æ¤¤"¡C ------------------------------------------------------------------------ 22.50 ¦s¨ú¨Ó·½©M¥Ø¼ÐÀÉ ¤U¦Cªí®æ¦C¥Ü¡A¸ê®Æ­ÜÀx¤¤¤ß©Ò¤ä´©ªº¨Ó·½©M¥Ø¼ÐÀɤ§ª©¥»¤Îª©¦¸¡C ªí 7. IBM ­ÜÀx¨Ó·½©Ò¤ä´©ªºª©¥»©Mª©¦¸ ¨Ó·½ ª©¥»¡þª©¦¸ IMS 5.1 DB2 Universal Database for Windows NT5.2 - 7.1 DB2 Universal Database 5.2 - 7.1 Enterprise-Extended Edition DB2 Universal Database for OS/2 5.2 - 7.1 DB2 Universal Database for AS/400 3.7 - 4.5 DB2 Universal Database for AIX 5.2 - 7.1 DB2 Universal Database for Solaris 5.2 - 7.1 Operating Environment DB2 Universal Database for OS/390 4.1 - 7.1 DB2 DataJoiner 2.1.1 DB2 for VM 5.3.4 ©Î§ó·sª© DB2 for VSE 7.1 ¨Ó·½ Windows NT AIX Informix 7.2.2 - 8.2.1 7.2.4 - 9.2.0 Oracle 7.3.2 - 8.1.5 8.1.5 Microsoft SQL Server 7.0 Microsoft Excel 97 Microsoft Access 97 Sybase 11.5 11.9.2 ªí 8. IBM ­ÜÀx¥Ø¼ÐÀɩҤ䴩ªºª©¥»©Mª©¦¸ ¥Ø¼Ð ª©¥»¡þª©¦¸ DB2 Universal Database for Windows NT6 - 7 DB2 Universal Database 6 - 7 Enterprise-Extended Edition DB2 Universal Database for OS/2 6 - 7 DB2 Universal Database for AS/400 3.1-4.5 DB2 Universal Database for AIX 6 -7 DB2 Universal Database for Solaris 6 -7 Operating Environment DB2 Universal Database for OS/390 4.1 - 7 DB2 DataJoiner 2.1.1 DB2 DataJoiner/Oracle 8 DB2 for VM 3.4 - 5.3.4 DB2 for VSE 3.2, 7.1 CA/400 3.1.2 ------------------------------------------------------------------------ 22.51 ¤ä´©ªº«D IBM ¸ê®Æ®w¨Ó·½ªº·s¼W¨Æ¶µ ¤Uªí©Ò¦C¡A¬O¹ï©Ò¤ä´©¤§«D IBM ¸ê®Æ®w¨Ó·½ªº·s¼W¶µ¥Ø¡G ¸ê®Æ®w §@·~¨t²Î ¸ê®Æ®w±qÄݯ¸»Ý¨D Informix AIX Informix-Connect »P ESQL/C ª©¥» 9.1.4 ©Î§ó·s ª© Informix Solaris §@·~Àô¹Ò Informix-Connect »P ESQL/C ª©¥» 9.1.3 ©Î§ó·s ª© Informix Windows NT Informix-Connect for Windows Platforms 2.x ©Î Informix-Client Software Developer's Kit for Windows Platforms 2.x Oracle 7 AIX Oracle7 SQL*Net ¤Î Oracle7 SQL*Net ¦@¥ÎÀÉ®× ®w (§Q¥Î genclntsh script ©Ò«Ø¥ß) Oracle 7 Solaris §@·~Àô¹Ò Oracle7 SQL*Net ¤Î Oracle7 SQL*Net ¦@¥ÎÀÉ®× ®w (§Q¥Î genclntsh script ©Ò«Ø¥ß) Oracle 7 Windows NT SQL*Net ²{¦æª©¥»ªº¥¿½T DLL¡A¥~¥[ OCIW32.DLL¡C ¨Ò¦p¡ASQL*Net 2.3 »Ý¨Ï¥Î ORA73.DLL¡BCORE35. DLL¡B NLSRTL32.DLL¡B CORE350.DLL ¤Î OCIW32.DLL¡C Oracle 8 AIX Oracle8 Net8 ¤Î Oracle8 SQL*Net ¦@¥ÎÀÉ®×®w (§Q¥Î genclntsh8 script ©Ò«Ø ¥ß) Oracle 8 Solaris §@·~Àô¹Ò Oracle8 Net8 ¤Î Oracle8 SQL*Net ¦@¥ÎÀÉ®×®w (§Q¥Î genclntsh8 script ©Ò«Ø ¥ß) Oracle 8 Windows NT ­Y­n¦s¨ú»·ºÝµ¥¯Å¬° 8.0.3 ª©¥H¤Wªº Oracle8 ¸ê®Æ®w ¦øªA¾¹¡A±z«K¶·¦w¸Ë Oracle Net8 Client ª©¥» 7.3.4.x¡B8.0.4 ©Î§ó·s ª©¡C ¦b Intel ¨t²Î¤W¡A±z¥²¶· ¦b±zªº¸ô®|¤¤¦w¸Ë Oracle Net8 Client ªº ¥¿½T DLL (¦p¡GOra804.DLL¡B PLS804.DLL ¤Î OCI.DLL)¡C Sybase AIX ¦b«D DCE Àô¹Ò¤¤ (ibsyb15 ODBC ÅX°Êµ{¦¡)¡G libct ÀÉ®×®w ¦b DCE Àô¹Ò¤¤ (ibsyb1115 ODBC ÅX°Êµ{¦¡)¡G Sybase 11.1 ±qÄݯ¸ ÀÉ®×®w libct_r Sybase Solaris §@·~Àô¹Ò ¦b«D DCE Àô¹Ò¤¤ (ibsyb15 ODBC ÅX°Êµ{¦¡)¡G libct ÀÉ®×®w ¦b DCE Àô¹Ò¤¤ (ibsyb1115 ODBC ÅX°Êµ{¦¡)¡G Sybase 11.1 ±qÄݯ¸ ÀÉ®×®w libct_r Sybase Windows NT Sybase Open Client-Library 10.0.4 ©Î §ó·sª©¤Î¾A·íªº Sybase Net-Library¡C ------------------------------------------------------------------------ 22.52 ¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¤â°Ê«Ø¥ß¸ê®Æ¨Ó·½ ·í¨Ï¥Î Relational Connect ¤Î "Create Nickname" ³¯­z¦¡¨Ó«Ø¥ß¸ê®Æ¨Ó·½®É¡A ¹ï ©ó¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¶×¤Jªí®æªº¬ÛÃö¨ç¼Æ¡A¸Ó¸ê®Æ¨Ó·½±NµLªk¨Ï¥Î¡C­Y­n±N¸ê®Æ¨Ó·½ ¥Î§@¨Ó·½ªí®æ©Î¥Ø¼Ðªí®æ¡A½Ð°õ¦æ¤U¦C¨BÆJ¡G 1. ©w¸q¨Ó·½-¥Ø¼Ð¡A¦Ó¤£¶×¤J¥ô¦óªí®æ¡C 2. ®i¶}¸ê®Æ­ÜÀx¤¤¤ß¥Dµøµ¡ªº­ÜÀx¨Ó·½/¥Ø¼Ð¾ðª¬µ²ºc¡A ¨Ã¦b©Ò±ý¨Ó·½-¥Ø¼Ðªº"ªí ®æ"¤W«ö¤@¤U·Æ¹«¥kÁä¡C 3. «ö¤@¤U©w¸q¡C 4. ¨Ï¥Î¶}±Òªºµ§°O¥»©w¸q¸ê®Æ¨Ó·½¡A ¨Ã½T©w¬°¨C¤@­Ó¸ê®Æ¨Ó·½©w¸q¤Fª½Äæ¡C ­Y»Ý¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\¡u¸ê°T¤¤¤ß¡v¤¤ªº"©w¸q­ÜÀx¨Ó·½ªí®æ"©Î"©w¸q­ÜÀx¥Ø¼Ðªí®æ "¡C ------------------------------------------------------------------------ 22.53 ¨Ï¥Î Common Warehouse Metadata Interchange (CWMI) ¶×¤J¤Î¶×¥X´y­z¸ê®Æ 22.53.1 ²¤¶ °£¤F¥Ø«e¤ä´©ªº¼Ð¥Ü»y¨¥ÀɮסA¸ê®Æ­ÜÀx¤¤¤ß²{¦b¤]¥i¥H¶×¤J¤Î¶×¥X´y­z¸ê®Æ¨ì²Å¦X Common Warehouse Metamodel (CWM) ¼Ð·Çªº XML ÀɮסA ¥H¤Î±q XML Àɮ׶פJ¤Î¶× ¥X´y­z¸ê®Æ¡C¶×¤J¤Î¶×¥X³o¨Ç¨Ì·Ó CWM ªº XML ÀÉ®× ´N¬O©Ò«üªº Common Warehouse Metadata Interchange (CWMI)¡C ±z¥i¥H±q¤U¦C¸ê®Æ­ÜÀx¤¤¤ßª«¥ó¶×¤J¤Î¶×¥X´y­z¸ê®Æ¡G * ­ÜÀx¨Ó·½ * ­ÜÀx¥Ø¼Ð * ¥D¦®°Ï°ì¡A¥]¬Aµ{§Ç¡B¨Ó·½¡B¥Ø¼Ð¤Î¨BÆJ * ¨Ï¥ÎªÌ©w¸qµ{¦¡ CWMI ¶×¤J¤Î¶×¥X¤½¥Îµ{¦¡¥Ø«e¤£¤ä´©¯S©wÃþ«¬ªº´y­z¸ê®Æ¡A¥]¬A¡G ±Æµ{¡B­ÜÀxºõ¥Ø ¡B±¶®|¨BÆJ¡B­«Å|Ãö«Y¡B¨Ï¥ÎªÌ¤Î¸s²Õ¡C ¸ê®Æ­ÜÀx¤¤¤ß·|«Ø¥ß¤@­Ó¥]§t¶×¤J¤Î¶×¥Xµ{§Çµ²ªGªº¤é»xÀÉ¡C³q±`¤é»xÀÉ·|«Ø¥ß¦b x:\program files\sqllib\logging ¥Ø¿ý (¨ä¤¤ x: ¬O¦w¸Ë DB2 ªººÏºÐ¾÷)¡A©Î¬O±z «ü©w¦b VWS_LOGGING Àô¹ÒÅܼƪº¥Ø¿ý¡C¤é»xÀɬO¯Â¤å¦rªº¡F±z¥i¥H¥Î¥ô¦ó¤å¦r½s¿èµ{ ¦¡¨ÓÀ˵ø¥¦¡C 22.53.2 ¶×¤J´y­z¸ê®Æ ±z¥i¥H¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¶×¤J´y­z¸ê®Æ¡A©ÎªÌ±q©R¥O¦æ¶×¤J´y­z¸ê®Æ¡C ³z¹L¶×¤Jµ{§Ç©Ò«Ø¥ßªº·sª«¥ó·|«ü¬£µ¹¹w³]ªº¸ê®Æ­ÜÀx¤¤¤ß¦w¥þ¸s²Õ¡C­Y»Ý¸Ô²Ó¸ê °T¡A½Ð°Ñ¾\ª©¥»ª`·N¨Æ¶µ¤¤ªº¡u¦b¶×¤J«á§ó·s¾÷±K«OÅ@¡v¡C ¦pªG¬O¶×¤JÃö©ó¬Y¨BÆJªº´y­z¸ê®Æ¡A«h¥i¥H±N¦h­ÓÀÉ®×»P¨BÆJ¬ÛÃöÁp¡CÃö©ó¨BÆJªº´y ­z¸ê®Æ·|Àx¦s¦b XML Àɮפ¤¡A ¦ý¬O¦³®É¨BÆJ·|¦³¬ÛÃöÁpªº¸ê®Æ¬OÀx¦s¬° BLOB¡CBLOB ´y­z¸ê®ÆªºÀɦW»P XML Àɮ׬ۦP¡A ¦ý¬O¥¦¬O¦b­Ó§OªºÀɮפ¤¡A¨ä°ÆÀɦW¬°¼Æ¦r¡C©Ò ¦³¬ÛÃöªº¨BÆJÀɮצb¶×¤J®É¥²¶·¦b¬Û¦Pªº¥Ø¿ý¤¤¡C ·í¨BÆJ¦b´ú¸Õ©Î¥Í²£¼Ò¦¡®É§ó·s¨BÆJ ¨BÆJ¥²¶·¦b¶}µo¼Ò¦¡¤¤¡A¸ê®Æ­ÜÀx¤¤¤ß¤~¯à§ó·s¨BÆJªº´y­z¸ê®Æ¡C¦pªG¨BÆJ¬O¦b´ú¸Õ ©Î¥Í²£¼Ò¦¡¡A «h¦b¶×¤J´y­z¸ê®Æ¤§«e±N¨BÆJ­°¯Å¬°¶}µo¼Ò¦¡¡G 1. µn¤J¸ê®Æ­ÜÀx¤¤¤ß¡C 2. ¦b­n­°¯Åªº¨BÆJ¤W«ö¤@¤U·Æ¹«¥kÁä¡A¦A«ö¤@¤U¼Ò¦¡¡C 3. «ö¤@¤U¶}µo¡C ²{¦b¨BÆJ´N¦b¶}µo¼Ò¦¡¤F¡C¦b¶×¤J´y­z¸ê®Æ¤§«á¡A¦A±N¨BÆJÅܧó¦^´ú¸Õ©Î¥Í²£¼Ò¦¡¡C ±q¸ê®Æ­ÜÀx¤¤¤ß¶×¤J¸ê®Æ ±z¥i¥H¦b¸ê®Æ­ÜÀx¤¤¤ß¤§¤¤¶×¤J´y­z¸ê®Æ¡G 1. µn¤J¸ê®Æ­ÜÀx¤¤¤ß¡C 2. «ö¤@¤U¥ªµ¡®æ¤¤ªº­ÜÀx¡C 3. «ö¤@¤U ¿ï¨úªº -> ¶×¤J´y­z¸ê®Æ -> ¥æ´«ÀÉ®×...¡C 4. ¦b¡u¶×¤J´y­z¸ê®Æ¡vµøµ¡¤¤¡A«ü©w¥]§t­n¶×¤Jªº´y­z¸ê®ÆªºÀɦW¡C±z¥i¥HÁä¤JÀÉ ¦W©Î¥ÎÂsÄý¨Ó§äÀɮסC o ¦pªG±zª¾¹D¦ì¸m¡A«h½ÐÁä¤J§¹¾ãªº¸ô®|©M­n¶×¤JªºÀɮצWºÙ¡C½Ð½T©w¥[¤W .xml °ÆÀɦW¡A ¥H«ü©w­n¥H XML ®æ¦¡¨Ó¶×¤J´y­z¸ê®Æ¡C o ­Y­n¥ÎÂsÄý¨Ó§äÀɮסG a. «ö¤@¤U (...) «ö¶s¡C b. ¦b¡uÀɮסvµøµ¡¤¤¡A±NÀÉ®×Ãþ«¬ÅÜ§ó¬° XML¡C c. ²¾¦Ü¥¿½Tªº¥Ø¿ý¡A¦A¿ï¨ú­n¶×¤JªºÀɮסC µù: ÀÉ®×¥²¶·¬° .xml °ÆÀɦW¡C d. «ö¤@¤U½T©w¡C 5. ¦b¶×¤J´y­z¸ê®Æµøµ¡¤¤¡A «ö¤@¤U½T©w¨Ó§¹¦¨¡C¦b¸ê®Æ­ÜÀx¤¤¤ß¶×¤JÀɮ׮ɷ|Å㠥ܶi«×µøµ¡¡C ¨Ï¥Î©R¥O¦æ¨Ó¶×¤J´y­z¸ê®Æ ±z¤]¥i¥H¨Ï¥Î©R¥O¦æ¨Ó¶×¤J´y­z¸ê®Æ¡C¤U¦C¬°¶×¤Jªº«ü¥O»yªk¡G CWMImport XML_file dwcControlDB dwcUserId dwcPW [PREFIX = DWCtbschema] XML_file ­n¶×¤Jªº XML Àɮתº§¹¾ã¸ô®|©MÀɮצW ºÙ (¥]¬AºÏºÐ¾÷¤Î¥Ø¿ý)¡C¦¹°Ñ¼Æ¬O¥²­n ªº¡C dwcControlDB ´y­z¸ê®Æ©Ò­n¶×¤Jªº­ÜÀx±±¨î¸ê®Æ®w¦W ºÙ¡C¦¹°Ñ¼Æ¬O¥²­nªº¡C dwcUserId ±z¥Î¨Óµn¤J­ÜÀx±±¨î¸ê®Æ®wªº¨Ï¥ÎªÌ ID¡C¦¹°Ñ¼Æ¬O¥²­nªº¡C dwcPW ±z¥Î¨Óµn¤J­ÜÀx±±¨î¸ê®Æ®wªº¨Ï¥ÎªÌ³q¦æ ½X¡C¦¹°Ñ¼Æ¬O¥²­nªº¡C [PREFIX=DWCtbschema] ¸ê®Æ­ÜÀx¤¤¤ß¨t²Îªí®æªº¸ê®Æ®wºõ¥Ø¦W ºÙ¡A ¦³®É¬O«üªí®æ¦r­º¡C¦pªG¨S¦³«ü©w ­Èµ¹ PREFIX=¡A«h¹w³]ºõ¥Ø¦WºÙ¬° IWH¡C ¦¹°Ñ¼Æ¬O¥i¿ï¥Îªº¡C 22.53.3 ¦b°õ¦æ¶×¤J¤½¥Îµ{¦¡¤§«á§ó·s´y­z¸ê®Æ ¦b¶×¤J«á§ó·s¾÷±K«OÅ@ §@¬°¦w¥þ¤Wªº¦Ò¶q¡A¸ê®Æ­ÜÀx¤¤¤ß¤£·|¶×¤J©Î¶×¥X³q¦æ½X¡C±z¥²¶·µø»Ý­n¦b·sª«¥ó¤W §ó·s³q¦æ½X¡C­Y»Ý¶×¤Jª`·N¨Æ¶µªº¸Ô²Ó¸ê°T¡A ½Ð°Ñ¾\¸ê®Æ­ÜÀx¤¤¤ßºÞ²z¤â¥Uªº²Ä 12 ³¹¡u¶×¥X©M¶×¤J¸ê®Æ­ÜÀx¤¤¤ß´y­z¸ê®Æ¡v¡C ¦b¶×¤J´y­z¸ê®Æ®É¡A©Ò¦³ª«¥ó³£·|«ü¬£µ¹¹w³]¦w¥þ¸s²Õ¡C±z¥i¥HÅܧó¥i¦s¨úª«¥óªº¸s ²Õ¡G 1. µn¤J¸ê®Æ­ÜÀx¤¤¤ß¡C 2. ¦b¥]§t­nÅܧ󪺪«¥óªº¸ê®Æ§¨¤W«ö¤@¤U·Æ¹«¥kÁä¡C 3. «ö¤@¤U¤º®e¡A¦A«ö¤@¤U¾÷±K«OÅ@¼ÐÅÒ¡C 4. ±q¿ï¨úªº­ÜÀx¸s²Õ¦C¥Ü¤¤±N¸s²Õ°£¥h¡A ©ÎªÌ±q¥i¥Îªº­ÜÀx¸s²Õ¦C¥Ü¤¤·s¼W¸s ²Õ¡C 5. «ö¤@¤U½T©w¡C 22.53.4 ¶×¥X´y­z¸ê®Æ ±z¥i¥H¦b¸ê®Æ­ÜÀx¤¤¤ß¤¤¶×¥X´y­z¸ê®Æ¡A©ÎªÌ±q©R¥O¦æ¶×¥X´y­z¸ê®Æ¡C ³¡¥÷¨BÆJªº´y­z¸ê®Æ¬OÀx¦s¬° BLOB¡CBLOB ´y­z¸ê®Æ·|¶×¥X¨ì­Ó§OÀɮפ¤¡A ¨äÀɦW»P ¨BÆJªº XML Àɮ׬ۦP¡A¦ý¬O°ÆÀɦW¬O¼Æ¦r (.1¡B.2 µ¥µ¥)¡C ±q¸ê®Æ­ÜÀx¤¤¤ß¶×¥X¸ê®Æ ±z¥i¥H¦b¸ê®Æ­ÜÀx¤¤¤ß¤§¤¤¶×¥X´y­z¸ê®Æ¡G 1. µn¤J¸ê®Æ­ÜÀx¤¤¤ß¡C 2. «ö¤@¤U¥ªµ¡®æ¤¤ªº­ÜÀx¡C 3. «ö¤@¤U ¿ï¨úªº -> ¶×¥X´y­z¸ê®Æ -> ¥æ´«ÀɮסC 4. ¦b¡u¶×¥X´y­z¸ê®Æ¡vµøµ¡¤¤¡A«ü©w±N¥]§t¶×¥Xªº´y­z¸ê®ÆªºÀɦW¡C±z¥i¥H¿é¤JÀÉ ¦W©Î¥ÎÂsÄý¨Ó§äÀɮסG o ¦pªG±zª¾¹D§¹¾ãªº¸ô®|¤Î­n¨Ï¥ÎªºÀɦW¡A ½Ð¿é¤J¨ìÀɦW¿é¤JÄæ¦ì¡C½Ð½T©w ¥[¤W .xml °ÆÀɦW¡A ¥H«ü©w­n¥H XML ®æ¦¡¨Ó¶×¥X´y­z¸ê®Æ¡C o ­Y­n¥ÎÂsÄý¨Ó§äÀɮסG a. «ö¤@¤U (...) «ö¶s¡C b. ¦bÀÉ®×µøµ¡¤¤¡A±NÀÉ®×Ãþ«¬ÅÜ§ó¬° XML¡C c. ²¾¦Ü¥¿½Tªº¥Ø¿ý¡A¦A¿ï¨ú­n¶×¥XªºÀɮסC µù: ¥ô¦ó±z©Ò¿ï¨úªº²{¦sÀÉ®×·|³Q¶×¥Xªº´y­z¸ê®ÆÂмg¡C d. «ö¤@¤U½T©w¡C 5. ·í¡u¶×¥X´y­z¸ê®Æ¡vµøµ¡Åã¥Ü¤F¥¿½TªºÀɦW¡A ¦b¥i¥Îªºª«¥ó¦C¥Ü¤¤«ö¤@¤U­n¶× ¥X¨ä´y­z¸ê®Æªºª«¥ó¡C 6. «ö¤@¤U > ²Å¸¹±N¿ï¨úªºª«¥ó±q ¥i¥Îªºª«¥ó¦C¥Ü¤¤²¾°Ê¨ì¿ï¨úªºª«¥ó¦C¥Ü¡C­«½Æ ¥H¤W¨BÆJ¡Aª½¨ì©Ò¦³­n¶×¥Xªºª«¥ó³£¦C¥Ü¦b¿ï¨úªºª«¥ó¦C¥Ü¤¤¡C 7. «ö¤@¤U½T©w¡C ¸ê®Æ­ÜÀx¤¤¤ß·|«Ø¥ß¤@­Ó¿é¤JÀÉ®× (¥¦¥]§t»P­n¶×¥Xªº¸ê®Æ­ÜÀx¤¤¤ßª«¥óªº¬ÛÃö¸ê °T)¡AµM«á¶×¥X¦³Ãö¨º¨Çª«¥óªº´y­z¸ê®Æ¡C ¦b¸ê®Æ­ÜÀx¤¤¤ß¶×¥X´y­z¸ê®Æ®É·|Åã¥Ü¶i «×µøµ¡¡C ·í¶×¥Xµ{§Ç§¹¦¨®É¡A±N·|¦¬¨ì¦³Ãö¶×¥Xµ{§Çªº°Ñ¦Ò°T®§¡C¦^ÂнX 0 ªí¥Ü¶×¥X¦¨¥\¡C±z ¤]¥i¥HÀ˵ø¤é»xÀÉ¡A¥H¨ú±o¸Ô²Ó¸ê°T¡C ¨Ï¥Î©R¥O¦æ¨Ó¶×¥X´y­z¸ê®Æ ¦b±q©R¥O¦æ¶×¥X´y­z¸ê®Æ¤§«e¡A±z¥²¶·¥ý«Ø¥ß¤@­Ó¿é¤JÀɮסC¿é¤JÀɬO¤@­Ó°ÆÀɦW¬° .INP ªº¤å¦rÀÉ¡A ¥¦·|¨Ì·Ó­n¶×¥Xªºª«¥óÃþ«¬¦C¥X©Ò¦³ª«¥ó¡C·í±z¦b¸ê®Æ­ÜÀx¤¤¤ß¤§ ¤¤¶×¥X®É¡A ¿é¤JÀɬO¦Û°Ê«Ø¥ßªº¡A¦ý¬O±q©R¥O¦æ¶×¥X¡A±z¥²¶·¥ý«Ø¥ß¿é¤JÀÉ¡C±z¥i¥H ¨Ï¥Î¥ô¦ó¤å¦r½s¿èµ{¦¡¨Ó«Ø¥ß¿é¤JÀÉ¡CÁä¤J©Ò¦³ªºª«¥ó¦WºÙ (»PÅã¥Ü¦b¸ê®Æ­ÜÀx¤¤¤ß ¤¤ªº¦WºÙ¬Û¦P)¡C½Ð½T©wÀɮ׬O«Ø¥ß¦b¤@­Ó¥iŪ¼gªº¥Ø¿ý¤¤¡C·í±z°õ¦æ¶×¥X¤½¥Îµ{¦¡ ®É¡A ¸ê®Æ­ÜÀx¤¤¤ß·|±N XML ÀÉ®×¼g¤J¨ì¿é¤JÀÉ©Ò¦bªº¬Û¦P¥Ø¿ý¤¤¡C ¤U¦C¬°¤@­Ó½d¨Ò¿é¤JÀÉ¡G ±Ð¾Ç«ü¾É¨Æ¹êªí®æµ{§Ç ±Ð¾Ç«ü¾ÉÀɮרӷ½ ±Ð¾Ç«ü¾É¥Ø¼Ð ·s«Øµ{¦¡¸s²Õ ¦b (µ{§Ç) °Ï¬q¡A¦C¥X©Ò¦³­n¶×¥Xªºµ{§Ç¡C¦b (¸ê°T¸ê·½) °Ï¬q¡A¦C¥X ©Ò¦³­n¶×¥Xªº­ÜÀx¨Ó·½¤Î¥Ø¼Ð¡C ¸ê®Æ­ÜÀx¤¤¤ß·|¦Û°Ê¨Ö¤J»P³o¨Ç¨Ó·½¤Î¥Ø¼Ð¬ÛÃöÁpªº ªí®æ©Mª½Äæ¡C¦b (¨Ï¥ÎªÌ©w¸qµ{¦¡) °Ï¬q¡A ¦C¥X©Ò¦³­n¶×¥Xªºµ{¦¡¸s²Õ¡C ­Y­n¶×¥X´y­z¸ê®Æ¡A¦b DOS ´£¥Ü²Å¸¹¤U¿é¤J¤U¦C«ü¥O¡G CWMExport INPcontrol_file dwcControlDB dwcUserID dwcPW [PREFIX=DWCtbschema] INPcontrol_file ¥]§t­n¶×¥Xª«¥óªº .INP Àɮתº§¹¾ã¸ô®| ©MÀɮצWºÙ (¥]¬AºÏºÐ¾÷¤Î¥Ø¿ý)¡C¦¹°Ñ ¼Æ¬O¥²­nªº¡C dwcControlDB ­n±q¨ä¶×¥Xªº­ÜÀx±±¨î¸ê®Æ®w¦WºÙ¡C¦¹°Ñ ¼Æ¬O¥²­nªº¡C dwcUserID ±z¥Î¨Óµn¤J­ÜÀx±±¨î¸ê®Æ®wªº¨Ï¥ÎªÌ ID¡C¦¹°Ñ¼Æ¬O¥²­nªº¡C dwcPW ±z¥Î¨Óµn¤J­ÜÀx±±¨î¸ê®Æ®wªº³q¦æ½X¡C¦¹ °Ñ¼Æ¬O¥²­nªº¡C [PREFIX=DWCtbschema] ¸ê®Æ­ÜÀx¤¤¤ß¨t²Îªí®æªº¸ê®Æ®wºõ¥Ø¦W ºÙ¡A ¦³®É¬O«üªí®æ¦r­º¡C¦pªG¨S¦³«ü©w ­Èµ¹ PREFIX=¡A«h¹w³]­È¬° IWH¡C¦¹°Ñ¼Æ ¬O¥i¿ï¥Îªº¡C ------------------------------------------------------------------------ 22.54 OS/390 Runstats ¤½¥Îµ{¦¡¨BÆJ ¦b DWC ¤¤©w¸q OS/390 Runstats ¤½¥Îµ{¦¡¨BÆJ®É¡A¨Ï¥ÎªÌÀ³¸Óª¾¹D¤U¦C¦ì©ó¡u¨BÆJ ¤º®e¹ï¸Ü®Ø¡vªº¡u°Ñ¼Æ¡v¼ÐÅÒ¤¤ªº¤º®e¡C ­Y¬Oªí®æªÅ¶¡Äæ¦ì¡A¨Ï¥ÎªÌÀ³¸Ó¥H¤j¼g¿é¤J ¦WºÙ¡C¦pªGªí®æªÅ¶¡¤£¦b¸ê®Æ®w DSNDB04 ¤¤¡A «h»Ý­n¥H¸ê®Æ®w¥]§t¥¦¨Ó©w¸qªí®æªÅ ¶¡¦WºÙ¡C¨Ò¦p¡A¿é¤J SAMPLE.EMPLOYEE¡C»¡©ú¥Ø«e¤£¯A¤Î¦¹Äæ¦ì¡C ------------------------------------------------------------------------ 22.55 OS/390 ¸ü¤J¤½¥Îµ{¦¡¨BÆJ ¦b DWC ¤¤©w¸q OS/390 ¸ü¤J¤½¥Îµ{¦¡¨BÆJ®É¡A¨Ï¥ÎªÌÀ³¸Óª¾¹D¤U¦C¦ì©ó¡u¨BÆJ¤º®e¹ï ¸Ü®Ø¡vªº¡u°Ñ¼Æ¡v¼ÐÅÒ¤¤ªº¤º®e¡C ¬°¤F­nÅý¸ü¤J¯à°÷°õ¦æ¡A¨Ï¥ÎªÌ¤@©w­n¿ï¨ú¡u¶i ¶¥¡v«ö¶s¡C§_«h±NµLªk«Ø¥ß¸ü¤J³¯­z¦¡ªº INTO ¤l¥y¡A¦b°õ¦æ¸ü¤J®É±N·|¥¢±Ñ¡C ¦¹¥~¡AFixPak 3 ¥]§tªº­×¥¿µ{¦¡¥i°£¥h¸ü¤J¸ê®Æ¶°¦WºÙ«e«áªºÂù¤Þ¸¹¡C¤Ö¤F¦¹­×¥¿µ{ ¦¡¡A±NµLªk°õ¦æ¸ü¤J¡C ------------------------------------------------------------------------ 22.56 Common Warehouse Metamodel (CWM) XML ¤ä´© ª©¥» 7.2 CWM ¤u¨ã¶°¨Ï¥Î Java Development Kit (JDK) 1.2.2 ©Î 1.3¡C ²{¦b¡A±z¥i¥H¶×¤J¤Î¶×¥X¤U¦C CWM XML ª«¥ó¡G ¨ä¥¦³B²zµ{§Çªº±¶®|¨BÆJ ·í±z¶×¥X§t¦³¬Y¨BÆJªº³B²zµ{§Ç¡A¦Ó¸Ó¨BÆJ»P¥t¤@³B²zµ{§Ç¤¤ªº¨BÆJ¦³Ãö«Y (¤@­Ó±¶ ®|)¡A ³o¨â­Ó³B²zµ{§Ç³£·|³Q¶×¥X¥B¨äÃö«Y·|¨ü¨ìºûÅ@¡C ¦³±ø¥ó¦a¶¥¦¡±Æ¦CÃö«Y ²{¦b¡A±z¥i¥H¶×¤J¤Î¶×¥X¨BÆJ¤§¶¡¤£¦Pªº¶¥¦¡±Æ¦CÃö«Y¡A¥]¬A CHILD¡BSUCCESS¡B FAILURE ¤Î UNCONDITIONAL¡C ­ÜÀx¨Ó·½§@¬°·§²¤ªíª«¥ó ²{¦b¡A·í±z¶×¥X®É¡A±z¥i¥H±N­ÜÀx¨Ó·½©w¸q¬°·§²¤ªíª«¥ó¡C ·§²¤ªíª«¥óªº³B²z¤è¦¡»P ªí®æª«¥ó¬Û¦P¡C SQLDataType ¥Î©óª½Äæ©MÄæ¦ì ²{¦b¡A±z¥i¥H±N SQLDataType ¥Î©óª½Äæ©MÄæ¦ì¡C ¬Û¦Pªí®æªº¦h­«¬ÛÃö¦WºÙ ¦b¶×¤J©Î¶×¥X´Á¶¡¡A±z¥i¥H¦³¦h­«¬ÛÃö¦WºÙ¡A¬Û¦Pªí®æªº¨C¤@­Ó¦WºÙ³£¦³¦Û¤vªºª½Äæ ¹ï¬M¡C ·sªº SAP ©M WebSphere Site Analyzer (WSA) ¨Ó·½¤ä´© ·s¼W·sªº¨Ó·½¤ä´©¼ÐÅÒ¤§«á¡A²{¦b±z¥i¥H¶×¥XÀx¦s©ó­ÜÀx¤¤ªº SAP ©M WSA ¸ê°T¡C ------------------------------------------------------------------------ 22.57 ³B²z¼Ò«¬²£¥Í¾¹ ±z¥i¥H½Õ¾ã³B²z¼Ò«¬²£¥Í¾¹¿ï¥Î°Ï¤j¤p¡A¨Ï¥¦²Å¦X±zªº¿Ã¹õ¤j¤p¡C ¿ï¥Î°Ï¤Wªº¹Ï¥Ü·| ¦Û°Ê­«·s©w¦ì¦Ü¦hª½Äæ¿ï¥Î°Ï¡C ·í±z«ö¤@¤U¬Y­Ó¿ï¥Î°Ï¹Ï¥Ü®É¡A±z·|¦b¿ï¥Î°Ïª«¥ó¤W¬Ý¨ì¤@­Ó¼ÐÃD¡C ²{¦b¡A±z¥i¥HÂǥѿï¨ú·§²¤ªí¥\¯àªí¤¤ªºÅã¥Ü·~°È¦WºÙ¿ï¶µ¡A¨Ì·Óªí®æ©MÀɮת«¥óªº ·~°È¦WºÙ¨ÓÀ˵ø¥¦­Ì¡C ±z¥ç¥iÂǥѿï¨úÁY©ñ¿ï¶µ¨Ó½Õ¾ã¦Ê¤À¤ñ³]©w¡A¥H¤ÎÁY¤p©Î©ñ¤j ³B²zµ{§Ç·§²¤ªí¡C ­Yª«¥ó¦b¿ï¥Î°Ï¤º­«Å|¡A±z¥i¥H«ö¤@¤Uª«¥ó±N¥¦­Ì©Ô¦Ü¿Ã¹õ³»ºÝ¡C ¦¹¥~¡Aª«¥ó¦WºÙ·| ©¹¤U§é¦¨³\¦h¦C¥H¸`¬Ù¿ï¥Î°ÏªÅ¶¡¡C ±z²{¦b¥i¥H¨Ï¥Î§R°£Áä¨Ó²¾°£ª«¥ó¡C·íÀx¦s¬Y­Ó³B²zµ{§Ç®É¡A¤]·|Àx¦sªí®æÅܧó¡C ¿ï ¾Ü¦æ¬°¤£¬O¦Û°Êªº¡C­Y­n±q­ÜÀx¨Ó·½©Î¥Ø¼Ð¤Î³B²zµ{§Ç¤¤²¾°£¬Y­Óªí®æ¡BÀɮשΠ·§²¤ ªí¡A±z¥i¥H«ö¤@¤U·Æ¹«¥kÁä¡AµM«á¿ï¨ú±q¨Ó·½²¾°£°Ê§@ (­Yª«¥ó¦ì©ó­ÜÀx¨Ó·½¤¤)¡A©Î ¿ï¨ú±q¥Ø¼Ð²¾°£°Ê§@ (­Yª«¥ó¦ì©ó­ÜÀx¥Ø¼Ð¤¤)¡C ²{¦b¡A´å¼ÐÅã¥Ü¿ï¥Î°Ï¿ï¾Üª¬ºA¡C¦¹¥~¡Aª¬ºA¦æÅã¥Ü´å¼Ð©Ò¦bªºª«¥ó¦WºÙ¡C ------------------------------------------------------------------------ 22.58 ºõ¥Ø¼Ò«¬²£¥Í¾¹ ²{¦b¡A±z¥i¥H±Nºõ¥Ø¼Ò«¬²£¥Í¾¹¤ºªí®æÁY¦Ü³Ì¤p¤Î©ñ¦Ü³Ì¤j¡C ·í±z±Nªí®æÁY¦Ü³Ì¤p ®É¡A¥¦Åܦ¨¹Ï¥Ü¡C¬°¤F§óºë½TÅã¥Ü¡A ±z¥i¥H«Ø¥ß¤@­Ó¬Pª¬ºõ¥Ø§G¸m¡C ------------------------------------------------------------------------ 22.59 ¥²­n¿é¤JÄæ¦ì ²{¦b¡A¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¹ï¥²­nªºÄæ¦ìÅã¥Ü¬õ¦âÃä®Ø¡C ¬õ¦âÃä®Ø´£¿ô±z©w¸q¡u¸ê®Æ­Ü Àx¤¤¤ß¡vª«¥ó©Ò»Ýªº¥²­n¸ê°T¡A¨Ò¦p¸ê®Æ®w¦WºÙ¡B¨Ï¥ÎªÌ ID ©Î³q¦æ½X¡C ·í±z¿é¤J¥² ­nªº¸ê°T«á¡AÃä®Ø«K·|®ø¥¢¡C ------------------------------------------------------------------------ 22.60 ¡u¸ê®Æ­ÜÀx¤¤¤ß¡vµo®g¥x¥[±j¥\¯à ·í±z±qµo®g¥x«Ø¥ß¡u¸ê®Æ­ÜÀx¤¤¤ß¡vª«¥ó®É¡A·|®i¶}¾É¤Þ¾ðª¬µ²ºc¡AÅã¥Ü·sª«¥óªº¦ì ¸m¡C ------------------------------------------------------------------------ 22.61 ¦C¦L¨BÆJ¸ê°T¨ìÀÉ®× ²{¦b¡A±z¥i¥H±N¨BÆJªº¬ÛÃö¸ê°T (¨Ò¦p¥D¦®°Ï°ì¡B¨Ó·½ªí®æ¦WºÙ¤Î¥Ø¼Ðªí®æ¦WºÙ) ¦C ¦L¦Ü¤å¦rÀÉ¡C­Y­n¦C¦L¨BÆJ¸ê°T¦ÜÀɮסA ½Ð¥H·Æ¹«¥kÁä«ö¤@¤U³B²z¼Ò«¬²£¥Í¾¹¤¤ªº¨B ÆJ¹Ï¥Ü¡B«ö¤@¤U¦C¦L --> ¦C¦L¦ÜÀɮסAµM«á«ü©w±z­n¦C¦L¸ê°TªºÀɮצWºÙ¡C ------------------------------------------------------------------------ Data Warehouse Center Application Integration Guide(µL¤¤¤åª©) In Chapter 5. Metadata Templates, Table 16 describes Column tag tokens. The information in the manual should state that "*ColumnPositionNumber" should start with "1". The manual incorrectly gives "0" as the starting character. Later in Chapter 5, in Table 42, the TableTypeIfFile token is required if the type specified for the DatabaseType token in the corresponding SourceDataBase.tag is ISV_IR_FFLan. If it is not specified, an error will be detected. In Chapter 6. Data Warehouse Center metadata, the description of the POSNO column object property should be changed to: An index, starting with 1, of the column or field in the row of the table or file. In Chapter 8. Information Catalog Manager object types, the directory where you can find the .TYP files, which include the tag language for defining an object type, has been changed to \SQLLIB\DGWIN\TYPES. ------------------------------------------------------------------------ 23.1 Additional metadata templates In Chapter 5, Metadata Templates, the following metadata templates should be included. Table 9. New Metadata templates supplied with the Data Warehouse Center Template Description See: commit.tag 23.1.1, "Commit.tag" Foreignkey.tag 23.1.2, ForeignKey.tag Foreignkeyadditional.tag 23.1.3, ForeignKeyAdditional.tag Primarykey.tag 23.1.4, PrimaryKey.tag Primarykeyadditional.tag 23.1.5, PrimaryKeyAdditional.tag 23.1.1 Commit.tag Use this template to improve performance when you are using large tag language files. A commit template can be inserted between any of the groups of templates described here. A commit template cannot be inserted between templates within a group. For example, it is valid to insert a commit template between AgentSite.tag and VWPGroup.tag but invalid to insert a commit tag between VWPProgramTemplate.tag and VWPProgramTemplateParameter.tag. If commit templates are used incorrectly, import may report an error. * AgentSite.tag * VWPGroup.tag * VWPProgramTemplate.tag, VWPProgramTemplateParameter.tag * SourceDatabase.tag * WarehouseDatabase.tag * Table.tag, Column.tag * SubjectArea.tag * Process.tag * Step.tag, StepInputTable.tag, StepOutputTable.tag, StepVWPOutputTable.tag, StepVWPProgramInstance.tag, VWPProgramInstanceParameter.tag * StepCascade.tag * StarSchema.tag, StarSchemaInputTable.tag * PrimaryKey.tag, PrimaryKeyAdditional.tag * ForeignKey.tag, ForeignKeyAdditional.tag The use of the commit template is optional. 23.1.1.1 Tokens Table 10 provides information about each token in the template. Table 10. Commit.tag tokens Token Description Allowed values Relationship parameters *CurrentCheckPointID++An index, starting A numeric value. with 0, that increases each time it is substituted in a token. This token is required. 23.1.1.2 Examples of values Table 11 provides example values for each token to illustrate the kind of metadata you might provide for each token. Table 11. Example values for Commit.tag tokens Token Example value *CurrentCheckPointID++ 1 23.1.2 ForeignKey.tag Use this template to define foreign key constraints on tables. The ForeignKey.tag template defines the relationships to the table and the column on which the constraint is being defined. This template also defines the relationships to the table and column of the primary key that is being referred to. Before you use the ForeignKey.tag template, you must define the primary key constraint (using the PrimaryKey.tag template) and the tables and columns (using the Table.tag and Column.tag templates) on which you want to define the foreign key constraint. 23.1.2.1 Tokens Table 12 provides information about each token in the template. Table 12. ForeignKey.tag tokens Token Description Allowed values Entity parameters *ConstraintName The name of the A text string, up to 80 constraint. bytes in length. The name must be unique within a table or field. This token is required. *ForeignColumnKeyName Name of the column A text string, up to 254 on which the foreign bytes in length. key constraint is being defined. *ForeignKeyID The key that A numeric value. uniquely identifies the foreign key. The key must be unique from all other keys in the tag language file. Tip: Finish processing the ForeignKey.tag template before increasing the value of the key. This token is required. *MapID An arbitrary number A numeric value. that is unique from all other keys in the interchange file. Tip: Finish processing the ForeignKey.tag template before increasing the value of this token. This token is required. *PrimaryColumnKeyName The column name of A text string, up to 80 the referenced bytes in length. column. *ReferencedPrimaryKeyID The key that A numeric value. uniquely identifies the primary key. The key must be unique from all other keys in the tag language file. Tip: Finish processing the ForeignKey.tag template before increasing the value of the key. This token is required. Relationship parameters *DatabaseName The business name of A text string, up to 40 the warehouse source bytes in length. or warehouse target. This token is required. *ForeignTablePhysicalNameThe database-defined A text string, up to 254 name of the physical bytes in length. table containing the foreign keys that reference the keys in other tables. *PrimaryTablePhysicalNameThe database-defined A text string, up to 80 name of the physical bytes in length. table containing the keys that are referenced by the foreign keys. *PrimaryTableOwner The owner, A text string, up to 128 high-level bytes in length. qualifier, collection, or schema of the table that contains the primary key column that is being referenced. This token is required. *ForeignTableOwner The owner, A text string, up to 128 high-level bytes in length. qualifier, collection, or schema of the table that contains the foreign key constraint column. This token is required. 23.1.2.2 Examples of values Table 13 provides example values for each token to illustrate the kind of metadata that you might provide for each token. Table 13. Example values for ForeignKey.tag tokens Token Example value *ConstraintName Department *DatabaseName Finance Warehouse *ForeignColumnKeyName Country_code *ForeignKeyID 07011 *ForeignTablePhysicalName Geography *MapID 02568 *PrimaryColumnKeyName State_code *Referenced PrimaryKeyID Name *PrimaryTablePhysicalName City *PrimaryTableOwner DB2ADMIN *ForeignTableOwner IWH 23.1.3 ForeignKeyAdditional.tag Use this template to define a composite foreign key. Before you use the ForeignKeyAdditional.tag template, you must define a constraint (using the ForeignKey.tag template) on the first column. You can then add columns by using this template for each column that you want to add. 23.1.3.1 Tokens Table 14 provides information about each token in the template. Table 14. ForeignKeyAdditional.tag tokens Token Description Allowed values Entity parameters *ForeignColumnKeyName The name of the column on A text string, up to which the foreign key 80 bytes in length. constraint is being defined. *ForeignKeyID The key that uniquely A numeric value. identifies the foreign key. The key must be unique from all other keys in the tag language file. Tip: Finish processing the ForeignKey.tag template before increasing the value of the key. This token is required. *MapID An arbitrary number that A numeric value. is unique from all other keys in the interchange file. Tip: Finish processing the ForeignKeyAdditional.tag template before increasing the value of this token. This token is required. *MapSeqNo A number signifying each Unique, increasing, additional column added consecutive number as part of a composite starting at 2. key to the foreign key constraint. *PrimaryColumnKeyName The column name of the A text string, up to referenced column. 80 bytes in length. Relationship parameters *DatabaseName The business name of the A text string, up to warehouse source or 40 bytes in length. warehouse target. This token is required. *ForeignTablePhysicalNameThe database-defined name A text string, up to of the physical table 80 bytes in length. containing the foreign keys that reference the keys in other tables. *PrimaryTablePhysicalNameThe database-defined name A text string, up to of the physical table 80 bytes in length. containing the keys that are referenced by the foreign keys. *PrimaryTableOwner The owner, high-level A text string, up to qualifier, collection, or 128 bytes in length. schema of the table that contains the primary key column that is being referenced. This token is required. *ForeignTableOwner The owner, high-level A text string, up to qualifier, collection, or 128 bytes in length. schema of the table that contains the foreign key constraint column. This token is required. 23.1.3.2 Examples of values Table 15 provides example values for each token to illustrate the kind of metadata that you might provide for each token. Table 15. Example values for ForeignKeyAdditional.tag tokens Token Example value *DatabaseName Finance Warehouse *ForeignColumnKeyName Country_code *ForeignKeyID 07011 *ForeignTablePhysicalName Geography *MapID 22578 *MapSeqNo 2 *PrimaryColumnKeyName State_code *PrimaryTablePhysicalName City *PrimaryTableOwner DB2ADMIN *ForeignTableOwner IWH 23.1.4 PrimaryKey.tag Use this template to define primary key constraints on tables. The template also defines the relationships to the table and the column on which the constraint is being defined. Before you use the PrimaryKey.tag template, you must define the tables and columns (using the Table.tag and Column.tag templates) on which you want to define the primary key constraint. 23.1.4.1 Tokens Table 16 provides information about each token in the template. Table 16. PrimaryKey.tag tokens Token Description Allowed values Entity parameters *ColumnName The name of the A text string, up to 80 bytes column or field. in length. The name must be unique within a table or field. This token is required. *MapID An arbitrary number A numeric value. that is unique from all other keys in the interchange file. Tip: Finish processing the PrimaryKey.tag template before increasing the value of this token. This token is required. *PrimaryKeyID The key that A numeric value. uniquely identifies the primary key. The key must be unique from all other keys in the tag language file. Tip: Finish processing the ForeignKey.tag template before increasing the value of the key. This token is required. Relationship parameters *DatabaseName The business name of A text string, up to 40 bytes the warehouse source in length. or warehouse target. This token is required. *TableOwner The owner, A text string, up to 128 high-level bytes in length. qualifier, collection, or schema of the table that contains the column. This token is required. *TablePhysicalName The physical name of A text string, up to 80 bytes the table or file in length. that contains the column as defined to the database manager or file system. This token is required. 23.1.4.2 Examples of values Table 17 provides example values for each token to illustrate the kind of metadata that you might provide for each token. Table 17. Example values for PrimaryKey.tag tokens Token Example value *ColumnName Country_code *DatabaseName Finance Warehouse *MapID 54627 *PrimaryKeyID 74622 *TableOwner DB2ADMIN *TablePhysicalName GEOGRAPHY 23.1.5 PrimaryKeyAdditional.tag Use this template to define a composite primary key. Before you use the PrimaryKeyAdditional.tag template, you must define a constraint on the first column by using the PrimaryKey.tag template. Any additional columns can then be added using this template. The template also relates the additional primary keys to the first primary key which is defined using PrimaryKey.tag. 23.1.5.1 Tokens Table 18 provides information about each token in the template. Table 18. PrimaryKeyAdditional.tag tokens Token Description Allowed values Entity parameters *ColumnName The name of the column or A text string, up to 80 field. bytes in length. The name must be unique within a table or field. This token is required. *FirstPrimaryKeyID The key that uniquely A numeric value. identifies the primary key. The key must be unique from all other keys in the tag language file. Tip: Finish processing the ForeignKey.tag template before increasing the value of the key. This token is required. *MapID An arbitrary number that A numeric value. is unique from all other keys in the interchange file. Tip: Finish processing the PrimaryKeyAdditional.tag template before increasing the value of this token. This token is required. *MapSeqNo A number signifying each Unique, increasing, additional column added consecutive number as part of a composite starting at 2. key to the primary key constraint. Relationship parameters *DatabaseName The business name of the A text string, up to 40 warehouse source or bytes in length. warehouse target. This token is required. *TableOwner The owner, high-level A text string, up to 15 qualifier, collection, or bytes in length. schema of the table that contains the column. This token is required. *TablePhysicalName The physical name of the A text string, up to 80 table or file that bytes in length. contains the column as defined to the database manager or file system. This token is required. 23.1.5.2 Examples of values Table 19 provides example values for each token to illustrate the kind of metadata that you might provide for each token. Table 19. Example values for PrimaryKeyAdditional.tag tokens Token Example value *ColumnName Country_code *DatabaseName Finance Warehouse *MapID 99542 *MapSeqNo 2 *FirstPrimaryKeyID 07801 *TableOwner DB2ADMIN *TablePhysicalName GEOGRAPHY ------------------------------------------------------------------------ ¸ê®Æ­ÜÀx¤¤¤ß½u¤W»¡©ú ------------------------------------------------------------------------ 24.1 ©w¸q§Û¼gªºªí®æ©Î·§²¤ªí ¨Ï¥Î DB2 ±±¨î¤¤¤ß©w¸q§Û¼gªºªí®æ©Î·§²¤ªí¤§«á¡A¤~¯à³Q¸ê®Æ­ÜÀx¤¤¤ß·í§@§Û¼g¨Ó·½ ¨Ï¥Î¡C ------------------------------------------------------------------------ 24.2 °õ¦æ¨ã¦³ AS/400 ¥N²zµ{¦¡ªº Essbase VWPs °õ¦æ¨ã¦³ AS/400 ¥N²zµ{¦¡ªº Essbase VWPs¡AARBORLIB ©M ARBORPATHB ¥²¶·³Q³]©w ¬° *sys Àô¹ÒÅܼơC¨Ï¥ÎªÌ ID ¥²¶·¦³ *jobctl Åv­­¤~¯à¶i¦æ³]©w¡C³o¨ÇÀô¹ÒÅÜ¼Æ»Ý ­n«ü¦V¤w¦w¸Ë Essbase ªºÀÉ®×®w¡C ------------------------------------------------------------------------ 24.3 ¨Ï¥Î¤½§G¸ê®Æ­ÜÀx¤¤¤ß´y­z¸ê®Æµøµ¡¤Î¤wµ²¦Xªº¤º®eµøµ¡ ¦b§@·~»¡©úªº¨BÆJ 10 ¤¤¡A¦³¤@­Ó½d¨Òª¬ºA¬O³o¼Ëªº¡G ¦pªG±z«ü©w­­¨î­È 1 (­­¨î¾ð ª¬µ²ºc¼h¦¸ªºª«¥ó) ¨Ã¤½§G³B²zµ{§Ç¡A «h¥u¤½§G»PÅã¥Ü¸Ó³B²zµ{§Çªº 1 ¨BÆJ¡C ¦b©Ò ¦³ª¬ªp¤U¡A¦¹½d¨Ò¬O¤£¥¿½Tªº¡C¨BÆJ 8 ²Ä¤G­Ó¶µ¥Ø²Å¸¹ªº¶µ¥Ø¤¤¡A²Ä¤@¶µ³¯­z¦¡¬O¤£ ¥¿½Tªº¡C¥¦À³¸Ó¬°¡u«ö¤@¤Uª½Äæ¼h¦¸¥H²£¥Í¸ê°T«¬¿ý¨Ó·½ª½Äæ©M¥Ø¼Ðª½Ä椧¶¡ªºÂà´« ª«¥ó¡v¡C ------------------------------------------------------------------------ 24.4 ¥~¨ÓÁä ¡u¥~¨ÓÁä¡v¦b½u¤W»¡©úªº¸ê®ÆÀ³¬°¡u­ÜÀx¥~¨ÓÁä¡v¡C ------------------------------------------------------------------------ 24.5 §Û¼gµ§°O¥» ¡u©w¸q§Û¼gµ§°O¥»¡v¦b½u¤W»¡©úªº¸ê®ÆÀ³¬°¡u§Û¼g¨BÆJµ§°O¥»¡v¡C ------------------------------------------------------------------------ 24.6 ¶×¤J¼Ð¥Ü»y¨¥ ¶×¤J¼Ð¥Ü»y¨¥½u¤W»¡©ú¡G¶µ¥Ø²Å¸¹¦C¥ÜÅã¥Ü±`µo¥Íªº­«­n¿ù»~¡A¨ä¤¤¤@¶µ¬°¡u¶×¤Jªº ¼Ð¥Ü»y¨¥ÀɮרS¦³¾A·í¦a¶×¥X¡v¡C ¦¹¶µ¥Ø¤£¾A¥Î©ó¤@¯ë¿é¤J¿ù»~ªº¦C¥Ü¡C ------------------------------------------------------------------------ 24.7 ·s¼W¸ê®ÆªºÃìµ² ¦b½u¤W»¡©úªº"·s¼W¸ê®Æ"¥DÃD¤¤¡A ¡u·s¼W¨Ó·½ªí®æ¨ìµ{§Ç¡v¤Î¡u·s¼W¥Ø¼Ðªí®æ¨ìµ{ §Ç¡v¥DÃDªºÃìµ²¤¤Â_¡C±z¥i¥H¦b»¡©ú¯Á¤Þ¤¤§ä¨ì³o¨Ç¥DÃD¡C ------------------------------------------------------------------------ 24.8 ¶×¤Jªí®æ »¡©ú¥DÃD¡u¶×¤J¨Ó·½ªí®æ¤Î·§²¤ªí¨ì­ÜÀx¨Ó·½¤¤¡v¤Î ¡u¶×¤J¥Ø¼Ðªí®æ¨ì­ÜÀx¥Ø¼Ð¤¤¡v ¹ï©ó¸U¥Î¦r¤¸¦³µÛ¤£¥¿½Tªº´y­z¡C¥y¤l¬°¡G ¨Ò¦p¡AXYZ* ·|¶Ç¦^ºõ¥Ø¬O¥H³o¨Ç¦r¤¸¶}ÀYªºªí®æ¤Î·§²¤ªí¡C À³§ï¬°¡G ¨Ò¦p¡AXYZ% ·|¶Ç¦^ºõ¥Ø¬O¥H³o¨Ç¦r¤¸¶}ÀYªºªí®æ¤Î·§²¤ªí¡C ------------------------------------------------------------------------ 24.9 RUNSTATS ©M REORGANIZE TABLE ½u¤W»¡©ú¶°¦X ³o¨Ç¤½¥Îµ{¦¡ªº½u¤W»¡©ú¡A«ü¥Ü­n°õ¦æ²Î­pªºªí®æ¡A©Î¬O»Ý­n­«²Õªºªí®æ¡A¥²¶·©M¨Ó ·½¤Î¥Ø¼ÐÃìµ²¡C¥Ñ©ó¨BÆJ¼g¤J¨Ó·½¡A±z¥u»Ý­nÃìµ²¨BÆJ©M¨Ó·½¡C ------------------------------------------------------------------------ 24.10 ¡u³qª¾¡v­¶­±¡A¡u­ÜÀx¤º®e¡v»P¡u±Æµ{¡vµ§°O¥» ¦b¡u­ÜÀx¤º®e¡vµ§°O¥»ªº¡u³qª¾¡v­¶¤¤¼g¹D¡G ¡u¶Ç°eªÌ¡v¿é¤JÄæ¦ìªº°_©l³]©w­È¬° ¦r¦ê¡C À³Åܧ󬰡G ¡u¶Ç°eªÌ¡v¿é¤JÄæ¦ìªº°_©l³]©w­È¬° ¦r¦ê¡C ¦b¡u±Æµ{¡vµ§°O¥»ªº¡u³qª¾¡v­¶¤¤¡A¶Ç°eªÌ·|°_©l³]©w¦¨¡u­ÜÀx¤º®e¡vµ§°O¥»¤¤ªº³] ©w­È¡C­YµL³]©w­È¡A«K·|±N¸Ó­È³]©w¦¨¥Ø«eµn¤J¤§¨Ï¥ÎªÌªº¹q¤l¶l¥ó¦a§}¡C­Y§ä¤£¨ì ¸Óµn¤J¨Ï¥ÎªÌªº¹q¤l¶l¥ó¦a§}¡A«K·|±N¨ä³]©w¬°µn¤J¨Ï¥ÎªÌªº¨Ï¥ÎªÌ ID¡C ------------------------------------------------------------------------ 24.11 ¡u¥N²zµ{¦¡ºÝ¡vµ§°O¥»ªº¥N²zµ{¦¡¼Ò²ÕÄæ¦ì ­ÜÀx¥N²z±`¾nµ{¦¡²£¥Í­ÜÀx¥N²zµ{¦¡®É¡A¡u¥N²zµ{¦¡ºÝ¡vµ§°O¥»ªº¥N²zµ{¦¡¼Ò²ÕÄæ¦ì ´£¨Ñ°õ¦æµ{¦¡ªº¦WºÙ¡C¤£­nÅܧóÄæ¦ìªº¦WºÙ¡A°£«D IBM ­n¨D±z­n³o»ò°µ¡C ------------------------------------------------------------------------ DB2 OLAP Starter Kit IBM DB2 OLAP Starter Kit 7.2 ¦b¤@¨Ç§@·~¨t²Î¤W¼W¥[ Oracle¡BMS-SQL¡BSybase ¤Î Informix ÃöÁp¦¡¸ê®Æ®wºÞ²z¨t²Î (RDBMS) ªº¤ä´©¡C ª©¥» 7.2 ¥]§t©Ò¦³¤ä´©ªº RDBMS ªº Script ©M¤u¨ã¡A¥]¬A DB2¡C ¥¦­Ì¦³¤@¨Ç­­¨î¡A¸Ô²Ó¸ê°T½Ð°Ñ¾\25.8, ¤wª¾ °ÝÃD»P­­¨î¡C DB2 OLAP Starter Kit for DB2 Universal Database ª©¥» 7.2 ªºªA°Èµ{¦¡µ¥¯Å¬Û·í ©ó Hyperion Essbase 6.1 ­×¸Éµ{¦¡ 2 ¥[¤W Hyperion Integration Server 2.0 ­× ¸Éµ{¦¡ 2¡C ------------------------------------------------------------------------ 25.1 OLAP Server ºô¯¸ ­Y»Ý DB2 OLAP Starter Kit ³Ì·sªº¦w¸Ë¤Î¨Ï¥Î¯µ³Z¡A ½Ð³y³X DB2 OLAP Server ºô ¯¸ªº Library ºô­¶¡G http://www.ibm.com/software/data/db2/db2olap/library.html ------------------------------------------------------------------------ 25.2 ¤ä´©ªº§@·~¨t²ÎªA°Èµ{¦¡µ¥¯Å OLAP Starter Kit for Version 7.2 ªº¦øªA¾¹¤¸¥ó¤ä´©¤U¦C§@·~¨t²Î©MªA°Èµ{¦¡µ¥ ¯Å¡G * ¦w¸Ë SP 5 ªº Windows NT 4.0 »P Windows 2000 * AIX ª©¥» 4.3.3 ©Î¥H¤W * Solaris §@·~¨t²Îª©¥» 2.6¡B7 »P 8 (Sun OS 5.6¡B5.7 ©Î 5.8) ±qÄݯ¸¤¸¥ó°õ¦æ©ó Windows 95¡BWindows 98¡BWindows NT 4.0 SP5 »P Windows 2000¡C ------------------------------------------------------------------------ 25.3 §¹¦¨ DB2 OLAP Starter Kit ¦b UNIX ¤Wªº¦w¸Ë ¦w¸Ë DB2 OLAP Starter Kit ½Ð¨Ì·Ó DB2 Universal Database for UNIX ªº¦w¸Ë°ò¥» µ{§Ç¶i¦æ¡C ²£«~ÀÉ®×·|¥Ñ¦w¸Ëµ{¦¡©ñ¨ì¨t²Î¥Ø¿ý¡G (AIX: /usr/lpp/db2_07_01¡F Solaris: /opt/IBMdb2/V7.1)¡C «Ø¥ß®×¨Òªº¶¥¬q¡A·|«Ø¥ß¨â­Ó DB2 OLAP ¥Ø¿ý (essbase »P is) ¦ì©ó®×¨Ò¨Ï¥ÎªÌ°_©l ¥Ø¿ý¤U sqllibªº¥Ø¿ý¤U¡C¦P¤@®É¶¡¾÷¾¹¶È¤¹³\°õ¦æ¤@­Ó OLAP ¦øªA¾¹®×¨Ò¡C ­Y­n§¹ ¦¨¦w¸Ë¡A¨Ï¥ÎªÌ¥²¶·¤â°Ê³]©w is/bin ¥Ø¿ý¡A ¦]¬°¥¦µLªkÃìµ²¨ì¨t²Îªº is/bin ¥Ø ¿ý¡C¥¦¥²¶·Ãìµ²¨ì®×¨Òªº°_©l¥Ø¿ý¤Uªº¥i¼g¤J¥Ø¿ý¡C ­Y­n§¹¦¨¦b Solaris ¤Wªº¦w¸Ë¡A½Ð¥H®×¨Ò ID µn¤J¤Á´«¨ì sqllib/is ¥Ø¿ý¡A µM«á¿é ¤J¤U¦C«ü¥O¡G rm bin mkdir bin cd bin ln -s /opt/IBMdb2/V7.1/is/bin/ismesg.mdb ismesg.mdb ln -s /opt/IBMdb2/V7.1/is/bin/olapicmd olapicmd ln -s /opt/IBMdb2/V7.1/is/bin/olapisvr olapisvr ln -s /opt/IBMdb2/V7.1/is/bin/essbase.mdb essbase.mdb ln -s /opt/IBMdb2/V7.1/is/bin/libolapams.so libolapams.so ------------------------------------------------------------------------ 25.4 ¬[ºc OLAP Starter Kit ªº ODBC IBM DB2 OLAP Starer Kit 7.2 »Ý­n¤@­Ó ODBC.ini ÀɮסA Åý ODBC §@·~±q OLAP Integration Server ³s±µ¦ÜÃöÁp¦¡¸ê®Æ¨Ó·½©M¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¡C * ¦b Windows ¨t²Î¤W¡A¦¹Àɮצì©ó¨t²Îµn¿ýªº HKEY_LOCAL_MACHINE/SOFTWARE/ODBC ¤º¡C ½Ð¨Ï¥Î ODBC Data Source Administrator ¨ÓÀx¦s¦³Ãö¦p¦ó³s±µ¦ÜÃöÁp¦¡¸ê®Æ¨Ó·½ªº¸ê°T¡C * ¦b UNIX ¨t²Î¤W¡A¦w¸Ëµ{¦¡«Ø¥ß¤@­Ó¼Ò«¬ÀÉ odbc.ini¡C±ýÀx¦s¦³Ãö¦p¦ó³s±µ¦Ü ÃöÁp¦¡¸ê®Æ¨Ó·½ªº¸ê°T¡A½Ð¨Ï¥Î±z³ß¦nªº½s¿è¾¹¨Ó½s¿è¦¹ÀɮסC ¦¹ ODBC.ini ÀÉ®×¥Ñ ODBC ³nÅé®M¥ó´£¨Ñ¡A¥ç¤º§t©ó Microsoft Office ³nÅ餺¡CÃö ©ó¥i¦w¸Ë ODBC ÅX°Êµ{¦¡©Î ODBC ºÞ²zµ{¦¡ªºÀ³¥Îµ{¦¡ªº¸Ô²Ó¸ê°T¡A½Ð³y³X¤U¦Cºô ¯¸¡G http://support.microsoft.com/support/kb/articles/Q113/1/08.asp¡C AIX ¾÷¾¹¤Wªº Oracle ¨Ï¥ÎªÌ¡G±ý¬[ºc ODBC for Oracle¡A±z¥²¶·§ó·s ODBC.ini ÀÉ ®×¨Ó«ü¦V MERANT 3.6 ÅX°Êµ{¦¡¡C ¦bª©¥» 7.2 ¤¤¡AOLAP Starter Kit ºÞ²z ODBC ³s½u¨Ó³s±µ¦ÜÃöÁp¦¡¸ê®Æ¨Ó·½©M ¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¡C¬°¤F¤ä´©³o¨Ç ODBC ³s±µ¡A OLAP Starter Kit ¦b Windows NT 4.0¡BWindows 2000¡BAIX ¤Î Solaris ¤W¨Ï¥Î ODBC ÅX°Êµ{¦¡¡C * DB2 Universal Database ª©¥» 6 ¸ê®Æ®w±qÄݯ¸¡G ¦b Windows NT 4.0 SP5 ©Î Windows 2000¡BAIX 4.3.3 ¤Î Solaris §@·~¨t²Î 2.6¡B7 ©Î 8 (Sun OS 5.6¡B 5.7 ©Î 5.8)¤W¬O DB2 ª©¥» 6 ODBC ÅX°Êµ{¦¡¡C * DB2 Universal Database 7.1 ¸ê®Æ®w±qÄݯ¸¡G ¦b Windows NT 4.0 SP5 ©Î Windows 2000¡BAIX 4.3.3 ¤Î Solaris §@·~¨t²Î 2.6¡B7 ©Î 8 (Sun OS 5.6¡B 5.7 ©Î 5.8) ¤W¬O DB2 ª©¥» 7 ODBC ÅX°Êµ{¦¡¡C * Oracle 8.04 ©M 8i SQL*Net 8.0 ¸ê®Æ®w±qÄݯ¸¡G ¦b Windows NT 4.0 SP5 ©Î Windows 2000¡BAIX 4.3.3¡BSolaris §@·~¨t²Î 2.6¡B7 ©Î 8 (Sun OS 5.6¡B5.7 ©Î 5.8) ¤W¬O MERANT 3.6 ODBC ÅX°Êµ{¦¡¡C * MS SQL Server 6.5.201 (¤£»Ý­n¡u¸ê®Æ®w±qÄݯ¸¡v)¡G¦b Windows NT 4.0 SP5 ©Î Windows 2000 ¤W¬O MS SQL Server 6.5 ODBC ÅX°Êµ{¦¡¡C * MS SQL Server 7.0 (¤£»Ý­n¡u¸ê®Æ®w±qÄݯ¸¡v)¡G¦b Windows NT 4.0 SP5 ©Î Windows 2000 ¤W¬O MS SQL Server 7.0 ODBC ÅX°Êµ{¦¡¡C 25.4.1 ¦b UNIX ¨t²Î¬[ºc¸ê®Æ¨Ó·½ ¦b AIX ©M Solaris ¤W¡A±z¥²¶·¤â°Ê³]©w ODBC ªºÀô¹ÒÅܼơA¨Ã½s¿è odbc.ini ÀÉ®× ¨Ó¬[ºcÃöÁp¦¡¸ê®Æ¨Ó·½©M¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¡C­Y±z·s¼W©ÎÅܧóÅX°Êµ{¦¡©Î¸ê®Æ¨Ó ·½¡A ½Ð°È¥²½s¿è odbc.ini ÀɮסC 25.4.1.1 ¬[ºc ODBC Àô¹ÒÅÜ¼Æ ¦b UNIX ¨t²Î¤W¡A±z¥²¶·³]©wÀô¹ÒÅܼƤ~¯à¦s¨ú ODBC ®Ö¤ß¤¸¥ó¡CStarter Kit °_©l ¥Ø¿ý¤¤´£¨Ñ is.sh ©M is.csh Shell Script ¨Ó³]©w¥²­nªºÅܼơC ¦b¨Ï¥Î ODBC ¨Ó³s ±µ¸ê®Æ¨Ó·½¤§«e¡A±z¥²¶·°õ¦æ¨ä¤¤¤@­Ó Script¡C ¹ï©ó±z¥Î¨Ó°õ¦æ OLAP Starter Kit ªº¨Ï¥ÎªÌ¦WºÙ¡A±zÀ³¸Ó¦bµn¤J Script ¤¤¥]§t³o¨Ç Script¡C 25.4.1.2 ½s¿è odbc.ini ÀÉ®× ±ý©ó odbc.ini Àɮפ¤¬[ºc¸ê®Æ¨Ó·½¡A±z¥²¶··s¼W ODBC ¸ê®Æ¨Ó·½ªº¦WºÙ©M»¡©ú¡A ¦b ±z°w¹ï¦¹¸ê®Æ¨Ó·½¦WºÙ©Ò«Ø¥ßªº°Ï¬q¤¤´£¨Ñ ODBC ÅX°Êµ{¦¡¸ô®|¡BÀɦW¤Î¨ä¥LÅX°Êµ{ ¦¡³]©w­È¡C ¦w¸Ëµ{¦¡¦b ISHOME ¥Ø¿ý¤¤¦w¸Ë¤@­Ó½d¨ÒÀÉ odbc.ini¡C ¦¹ÀÉ®×¥]§t³q¥Î ODBC ³s±µ©M©Ò¤ä´©ªº ODBC ÅX°Êµ{¦¡ªº¬[ºc¸ê°T¡C ½Ð¨Ï¥Î¦¹ÀÉ®×°µ¬°°_ÂI¡A±N±z¨Ï ¥Îªº ODBC ÅX°Êµ{¦¡¹ï¬M¦ÜÃöÁp¦¡¸ê®Æ¨Ó·½©M¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¡C ­Y±z¨Ï¥ÎªºÀɮפ£¬O odbc.ini¡A ½Ð±N ODBCINI Àô¹ÒÅܼƳ]©w¦¨±z¨Ï¥ÎªºÀɦW¡C 25.4.1.3 ·s¼W¸ê®Æ¨Ó·½¨ì odbc.ini ÀÉ 1. ¦b°õ¦æ OLAP Starter Kit ¦øªA¾¹ªº¨t²Î¤W¡A½Ð¨Ï¥Î½Ñ¦p vi ªº¤å¦r½s¿èµ{¦¡¨Ó ¶}±Ò odbc.ini ÀɮסC 2. §ä¨ì [ODBC Data Sources] ¬°­ºªº°Ï¬q¡A·s¼W¤@¦æ¸ê®Æ¨Ó·½¦WºÙ©M»¡©ú¡A ¨Ò ¦p¡G mydata=data source for analysis¡C¬°¤FÁקK²V²c¡A¸ê®Æ¨Ó·½ªº¦WºÙÀ³¸Ó ²Å¦X RDBMS ¤¤ªº¸ê®Æ®w¦WºÙ¡C 3. ·s¼W¤@¦æ¥H¤è¬A©·§t¬A·s¸ê®Æ¨Ó·½ªº¦WºÙ¡A¨Ò¦p [mydata]¡A¦bÀɮפ¤·s¼W¤@­Ó ·sªº°Ï¬q¡C 4. ¦b¸ê®Æ¨Ó·½¦WºÙ±µ¤U¨Óªº´X¦æ¤¤¡A·s¼W¦¹¸ê®Æ¨Ó·½¦WºÙ¤Î¥ô¦ó¥²­nªº ODBC ÅX°Ê µ{¦¡¸ê°T©Ò»Ýªº ODBC ÅX°Êµ{¦¡¤§§¹¾ã¸ô®|©MÀɮצWºÙ¡C ®Ú¾Ú¤U¦C´X¸`©Ò¥Üªº ½d¨Ò¨Ó¹ï¬M¦Ü±z RDBMS ¤Wªº¸ê®Æ¨Ó·½¡C ½Ð½T©w ODBC ÅX°Êµ{¦¡ÀÉ®×½T¹ê¦s¦b©ó ±z¦b Driver= ³]©w¤¤«ü©wªº¦ì¸m¡C 5. ·í±z½s¿è odbc.ini §¹¦¨«á¡A½ÐÀx¦sÀɮסAµ²§ô¤å¦r½s¿èµ{¦¡¡C 25.4.1.4 ODBC ªº DB2 ³]©w­È½d¨Ò ¤U¦C½d¨ÒÅã¥Ü¦p¦ó½s¿è odbc.ini¡A¨Ï¥Î IBM DB2 ­ì©l ODBC ÅX°Êµ{¦¡¨Ó³s±µ¦Ü AIX ¤Wªº DB2 Universal Database ª©¥» 6.1 ªºÃöÁp¦¡¸ê®Æ¨Ó·½ db2data¡C ¦b vi ½s¿è ¾¹¤¤¡A¨Ï¥Î $ODBCINI «ü¥O¨Ó½s¿è odbc.ini¡A ¨Ã´¡¤J¤U¦C³¯­z¦¡¡G [ODBC Data Sources] db2data=DB2 Source Data on AIX ... [db2data] Driver=/home/db2inst1/sqllib/lib/db2.o Description=DB2 Data Source - AIX, native 25.4.1.5 ODBC ªº Oracle ³]©w­È½d¨Ò ¥H¤U½d¨Ò»¡©ú¦p¦ó½s¿è odbc.ini¡A¨Ï¥Î MERANT Version 3.6 ODBC ÅX°Êµ{¦¡¨Ó³s±µ ¦Ü Oracle ª©¥» 8 (¦b Solaris) ªºÃöÁp¦¡¸ê®Æ¨Ó·½ oradata¡C ¦¹½d¨Ò¤¤¡ALogonID ©M Password ¥H OLAP Starter Kit ¨Ï¥ÎªÌ¦WºÙ©M³q¦æ½Xªº¹ê»Ú­È¨Ó¶ñ¤J¡C [ODBC Data Sources] oradata=Oracle8 Source Data on Solaris ... [myoracle] Driver= /export/home/users/dkendric/is200/odbclib/ARor815.so Description=my oracle source 25.4.2 ¦b UNIX ¨t²Î¤W¬[ºc OLAP ´y­z¸ê®Æ«¬¿ý ¦b AIX ©M Solaris ¤W¬[ºc OLAP Metadata Catalog Ãþ¦ü¬[ºc¤@­Ó¸ê®Æ¨Ó·½¡C ­Y­n OLAP Metadata Catalog ¸ê®Æ®w¡A½Ð¦b odbc.ini Àɮפ¤·s¼W¤@­Ó¸ê®Æ¨Ó·½¦WºÙ©M°Ï ¬q¡A ¦p 25.4.1.2, ½s¿è odbc.ini ÀÉ®× ©Ò­z¡C¤£»Ý­n¨ä¥¦Åܧó¡C ±z¥²¶·¥ý¦b¤ä´©ªº RDBMS ¤¤«Ø¥ß¤@­Ó¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¸ê®Æ®w¡A ¤~¯à±N¥¦¬[ºc ¦¨ ODBC ¸ê®Æ¨Ó·½¡C ¥H¤U½d¨Ò»¡©ú¦p¦ó½s¿è odbc.ini¡A¨Ï¥Î­ì©l ODBC ÅX°Êµ{¦¡¨Ó³s±µ¦Ü DB2 ª©¥» 6.1 (¦b Solaris ¤W) ªº¡uOLAP ´y­z¸ê®Æ«¬¿ý¡vTBC_MD¡C [ODBC Data Sources] ocd6a5a=db2 v6 ... [ocd6a5a] Driver=/home/db2instl/sqllib/lib/db2.0 Description=db2 25.4.3 ¦b Windows ¨t²Î¤W¬[ºc¸ê®Æ¨Ó·½ ±ý©ó Windows NT ©Î Windows 2000 ¨t²Î¤W¬[ºcÃöÁp¦¡¸ê®Æ¨Ó·½¡A ±z¥²¶·±Ò°Ê¡uODBC ºÞ²zµ{¦¡¡v¡AµM«á«Ø¥ß³s½u¨Ó³s±µ¦Ü±z­n¥Î¨Ó«Ø¥ß OLAP ¼Ò«¬©M metaoutline ªº¸ê®Æ ¨Ó·½¡C±q Windows ±±¨î¥x°õ¦æ¡uODBC ºÞ²zµ{¦¡¡v¤½¥Îµ{¦¡¡C¤U¦C½d¨Ò«Ø¥ß¤@­Ó DB2 ¸ê®Æ¨Ó·½¡F¨ä¥L RDBMS ªº¹ï¸Ü®Ø·|¤£¦P¡C ±ý¨Ï¥Î¡uODBC ºÞ²zµ{¦¡¡v¨Ó¬[ºcÃöÁp¦¡¸ê®Æ¨Ó·½¡A½Ð§¹¦¨¤U¦C¨BÆJ¡G 1. ¦b Windows ®à¤WºÞ²zµ{¦¡¡A¶}±Ò¡u±±¨î¥x¡vµøµ¡¡C 2. ¦b¡u±±¨î¥x¡vµøµ¡¤¤¡A°õ¦æ¤U¦C¨ä¤¤¤@¶µ¨BÆJ¡G a. ¦b Windows NT ¤W¡A«ö¨â¤U ODBC ¹Ï¥Ü¡A ¶}±Ò¡uODBC ¸ê®Æ¨Ó·½ºÞ²zµ{ ¦¡¡v¹ï¸Ü®Ø¡C b. ¦b Windows 2000¡A«ö¨â¤U¨t²ÎºÞ²z¤u¨ã¹Ï¥Ü¡A ¦A«ö¨â¤U¸ê®Æ¨Ó·½ (ODBC) ¹Ï¥Ü¡A ¶}±Ò¡uODBC ¸ê®Æ¨Ó·½ºÞ²z­û¡v¹ï¸Ü®Ø¡C 3. ¦b¡uODBC ¸ê®Æ¨Ó·½ºÞ²zµ{¦¡¡v¹ï¸Ü®Ø¤¤¡A«ö¤@¤U¨t²Î¸ê·½¨Ó·½¦WºÙ¼ÐÅÒ¡C 4. «ö¤@¤U·s¼W¨Ó¶}±Ò¡u«Ø¥ß·s¸ê®Æ¨Ó·½¡v¹ï¸Ü®Ø¡C 5. ¦b¡uODBC ºÞ²zµ{¦¡¡vªº¡u«Ø¥ß·s¸ê®Æ¨Ó·½¡v¹ï¸Ü®ØªºÅX°Êµ{¦¡¦C¥Ü®Ø¤¤¡A¿ï¨ú ¾A·íªºÅX°Êµ{¦¡¡A¨Ò¦p IBM DB2 ODBC ÅX°Êµ{¦¡¡A «ö¤@¤U§¹¦¨¨Ó¶}±Ò¡uODBC IBMDB2 ÅX°Êµ{¦¡ - ·s¼W¡v¹ï¸Ü®Ø¡C 6. ¦b¡uODBC IBM DB2 ÅX°Êµ{¦¡ - ·s¼W¡v¹ï¸Ü®Ø¤¤¡A¦b¸ê®Æ®w§O¦W¤U©Ô¦C¥Ü¤¤¡A¿ï ¨ú±zªºÃöÁp¦¡¨Ó·½ (¨Ò¦p¡A¦¹½d¨ÒÀ³¥Îµ{¦¡¤¤ªº TBC) ªº¸ê®Æ®w¦WºÙ¡C 7. ¦b»¡©ú¤å¦r®Ø¤¤¡A¿é¤J¿ï¥Îªº»¡©ú¨Óªí¥Ü±z­n¦p¦ó¨Ï¥Î¦¹ÅX°Êµ{¦¡¡A«ö¤@¤U·s¼W ¡C ¨Ò¦p¡A¿é¤J¤U¦C¤å¦r¨Ó»¡©ú My Business ¸ê®Æ®w¡G Customers, products, markets ±z¥i¿é¤J¤U¦C¤å¦r¨Ó»¡©ú½d¨ÒÀ³¥Îµ{¦¡¸ê®Æ®w¡G Sample relational data source ³o¨Ç»¡©ú¥i¦b±z±q OLAP Starter Kit Desktop ³s½u®É¡A¨ó§U±zÃѧO¥i¿ï¾Üªº¸ê ®Æ¨Ó·½¡C 8. «ö¤@¤U¡u½T©w¡v¨Óªð¦^¡uODBC ¸ê®Æ¨Ó·½ºÞ²z­û¡v¹ï¸Ü®Ø¡C ±z¿é¤Jªº¸ê®Æ¨Ó·½¦W ºÙ¤Î±z¹ï¬MªºÅX°Êµ{¦¡Åã¥Ü¦b¨t²Î¸ê·½¨Ó·½¦WºÙ¼ÐÅÒªº¨t²Î¸ê®Æ¨Ó·½¦C¥Ü®Ø¤¤¡C ±ý½s¿è¸ê®Æ¨Ó·½ªº¬[ºc¸ê°T¡G 1. ¿ï¨ú¸ê®Æ¨Ó·½¦WºÙ¡A«ö¤@¤U¬[ºc¨Ó¶}±Ò¡uODBC IBM DB2 - ·s¼W¡v¹ï¸Ü®Ø¡C 2. ­×¥¿±z­nÅܧ󪺥ô¦ó¸ê°T¡C 3. «ö¨â¦¸½T©w¥Hµ²§ô¡C 25.4.4 ¦b Windows ¨t²Î¤W¬[ºc OLAP ´y­z¸ê®Æ«¬¿ý ±ý©ó Windows NT ©Î Windows 2000 ¤W¬[ºc¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¡A ½Ð±Ò°Ê¡uODBC ºÞ²zµ{¦¡¡v¡AµM«á«Ø¥ß³s½u¨Ó³s±µ¦Ü§t¦³¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¸ê®Æ®wªº¸ê®Æ¨Ó·½¡C ¤U¦C½d¨Ò«Ø¥ß¤@­Ó DB2 ¸ê®Æ¨Ó·½¡F¨ä¥L RDBMS ªº¹ï¸Ü®Ø·|¤£¦P¡C ±ý«Ø¥ß¡uOLAP ´y ­z¸ê®Æ«¬¿ý¡vªº¸ê®Æ¨Ó·½¡A½Ð§¹¦¨¤U¦C¨BÆJ¡G 1. ¦b®à¤WºÞ²zµ{¦¡¡A¶}±Ò¡u±±¨î¥x¡vµøµ¡¡C 2. ¦b¡u±±¨î¥x¡vµøµ¡¤¤¡A°õ¦æ¤U¦C¨ä¤¤¤@¶µ¨BÆJ¡G a. ¦b Windows NT ¤W¡A«ö¨â¤U ODBC ¹Ï¥Ü¡A ¶}±Ò¡uODBC ¸ê®Æ¨Ó·½ºÞ²zµ{ ¦¡¡v¹ï¸Ü®Ø¡C b. ¦b Windows 2000¡A«ö¨â¤U¨t²ÎºÞ²z¤u¨ã¹Ï¥Ü¡A ¦A«ö¨â¤U¸ê®Æ¨Ó·½ (ODBC) ¹Ï¥Ü¡A ¶}±Ò¡uODBC ¸ê®Æ¨Ó·½ºÞ²z­û¡v¹ï¸Ü®Ø¡C 3. ¦b¡uODBC ¸ê®Æ¨Ó·½ºÞ²zµ{¦¡¡v¹ï¸Ü®Ø¤¤¡A«ö¤@¤U¨t²Î¸ê·½¨Ó·½¦WºÙ¼ÐÅÒ¡C 4. «ö¤@¤U·s¼W¨Ó¶}±Ò¡u«Ø¥ß·s¸ê®Æ¨Ó·½¡v¹ï¸Ü®Ø¡C 5. ¦b¡uODBC ºÞ²zµ{¦¡¡vªº¡u«Ø¥ß·s¸ê®Æ¨Ó·½¡v¹ï¸Ü®ØªºÅX°Êµ{¦¡¦C¥Ü®Ø¤¤¡A¿ï¨ú ¾A·íªºÅX°Êµ{¦¡¡A¨Ò¦p IBM DB2 ODBC ÅX°Êµ{¦¡¡A «ö¤@¤U§¹¦¨¨Ó¶}±Ò¡uODBC IBMDB2 ÅX°Êµ{¦¡ - ·s¼W¡v¹ï¸Ü®Ø¡C 6. ¦b¡uODBC IBM DB2 ÅX°Êµ{¦¡ - ·s¼W¡v¹ï¸Ü®Ø¤¤¡A ¦b¸ê®Æ®w§O¦W¤U©Ô¦C¥Ü¤¤¡A ¿ï¨ú±zªº¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v(¨Ò¦p¡A¦¹½d¨ÒÀ³¥Îµ{¦¡¤¤ªº TBC_MD) ªº¸ê®Æ ®w¦WºÙ¡C¿ï¨úªº¸ê®Æ®w¦WºÙ·|¦Û°ÊÅã¥Ü¦b¸ê®Æ¨Ó·½¦WºÙ¤å¦r®Ø¤¤¡C 7. ­Y±z­nÅܧó¸ê®Æ¨Ó·½ªº¦WºÙ¡A½Ð¿ï¨ú¸ê®Æ¨Ó·½¦WºÙ¤å¦r®Ø¤¤Åã¥Üªº¦WºÙ¡A¿é¤J·s ªº¦WºÙ¨Óªí¥Ü±z­n¦p¦ó¨Ï¥Î¦¹ÅX°Êµ{¦¡¡A«ö¤@¤U·s¼W¡C ¨Ò¦p¡A±z¥i¿é¤J¤U¦C¦W ºÙ¨Óªí¥Ü±z­n¨Ï¥Î¦¹ÅX°Êµ{¦¡¨Ó³s±µ¦Ü²Ä¤@­Ó¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¡G OLAP Catalog first ±z¥i¿é¤J¤U¦C¦WºÙ¨Óªí¥Ü±z­n³s±µ¦Ü½d¨ÒÀ³¥Îµ{¦¡¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¸ê®Æ ®w¡G TBC_MD 8. ¦b»¡©ú¤å¦r®Ø¤¤¡A¿é¤J»¡©ú¨Óªí¥Ü±z­n¦p¦ó¨Ï¥Î¦¹ÅX°Êµ{¦¡¡C ¨Ò¦p¡A±z¥i¿é¤J ¤U¦C¤å¦r¨Ó»¡©ú¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¡G My first models and metaoutlines ±z¥i¿é¤J¤U¦C¤å¦r¨Ó»¡©ú½d¨ÒÀ³¥Îµ{¦¡¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¸ê®Æ®w¡G Sample models and metaoutlines ³o¨Ç»¡©ú¥i¦b±z±q OLAP Starter Kit Desktop ³s±µ¦Ü¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v ®É¡A ¨ó§U±zÃѧO·Q­n¿ï¾Üªº«¬¿ý¡C 9. «ö¤@¤U¡u½T©w¡v¨Óªð¦^¡uODBC ¸ê®Æ¨Ó·½ºÞ²z­û¡v¹ï¸Ü®Ø¡C ±z¿é¤Jªº¸ê®Æ¨Ó·½¦W ºÙ¤Î±z¹ï¬MªºÅX°Êµ{¦¡Åã¥Ü¦b¨t²Î¸ê·½¨Ó·½¦WºÙ¼ÐÅÒªº¨t²Î¸ê®Æ¨Ó·½¦C¥Ü®Ø¤¤¡C ±ý½s¿è¸ê®Æ¨Ó·½ªº¬[ºc¸ê°T¡G 1. ¿ï¨ú¸ê®Æ¨Ó·½¦WºÙ¡A«ö¤@¤U¬[ºc¨Ó¶}±Ò¡uODBC IBM DB2 - ·s¼W¡v¹ï¸Ü®Ø¡C 2. ­×¥¿±z­nÅܧ󪺥ô¦ó¸ê°T¡C 3. «ö¨â¦¸½T©w¥Hµ²§ô¡C 25.4.5 ¦b±z¬[ºc¸ê®Æ¨Ó·½¤§«á ¦b¬[ºcÃöÁp¦¡¸ê®Æ¨Ó·½©M¡uOLAP ´y­z¸ê®Æ«¬¿ý¡v¤§«á¡A§Y¥i±q OLAP Starter Kit ¨Ó ³s±µ¡CµM«á¥i¥H«Ø¥ß¡B­×§ï¤ÎÀx¦s OLAP ¼Ò«¬©M metaoutline¡C ¦b©I¥s SQL Server ¸ê®Æ®w´Á¶¡¡ASQL Server ODBC ÅX°Êµ{¦¡¥i¯à·|¹O®É¡C ½Ð©ó¸ê®Æ ®w«D¦£½u®É­«¸Õ¡C¼W¥[ÅX°Êµ{¦¡¹O®É´Á¶¡¥iÁקK¦¹°ÝÃD¡C ¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\±z©Ò¨Ï¥Î ªºÅX°Êµ{¦¡ªº ODBC ¤å¥ó¡C Ãö©ó ODBC ³s±µ°ÝÃD»P¸Ñ¨M¤è®×¡A½Ð°Ñ¾\ OLAP Integration Server System Administrator's Guide¡C ------------------------------------------------------------------------ 25.5 ±q OLAP Starter Kit ®à¤WºÞ²zµ{¦¡µn¤J ¨Ï¥Î OLAP Starter Kit ®à¤WºÞ²zµ{¦¡¨Ó«Ø¥ß OLAP ¼Ò«¬©M Metaoutline¡A½Ð±N±qÄÝ ¯¸³nÅé³s±µ¨ì¨â­Ó¦øªA¾¹¡GDB2 OLAP ¾ã¦X¦øªA¾¹©M DB2 OLAP ¦øªA¾¹¡Cµn¤J¹ï¸Ü´£¥Ü ®à¤WºÞ²zµ{¦¡³s±µ¨ì³o¨â­Ó¦øªA¾¹ªº¥²­n¸ê°T¡C¦b¹ï¸Üªº¥ªÃä¡A½Ð¿é¤J¦³Ãö DB2 OLAP ¾ã¦X¦øªA¾¹ªº¸ê°T¡C¦b¹ï¸Üªº¥kÃä¡A½Ð¿é¤J¦³Ãö DB2 OLAP ¦øªA¾¹ªº¸ê°T¡C ±ý³s±µ¨ì DB2 OLAP ¾ã¦X¦øªA¾¹¡G * ¦øªA¾¹¡G¿é¤J¾ã¦X¦øªA¾¹ªº¥D¹q¸£¦WºÙ©Î IP ¦ì§}¡C ¦pªG±z¤w¦w¸Ë¾ã¦X¦øªA¾¹ ©M®à¤WºÞ²zµ{¦¡©ó¦P¤@­Ó¤u§@¯¸¡A¨å«¬ªº­È¬° "localhost" ©Î "127.0.0.1"¡C * OLAP ´y­z¸ê®Æ¥Ø¿ý¡G³s±µ OLAP ¾ã¦X¦øªA¾¹¡A¥²¶·«ü©w´y­z¸ê®Æ¥Ø¿ý¡C OLAP ¾ã¦X¦øªA¾¹Àx¦s¦³Ãö OLAP ¼Ò«¬©M¦W¬° Metadata Catalog ÃöÁp¦¡¸ê®Æ®w©Ò«Ø¥ß ªº metaoutline ªº¸ê°T¡C ¦¹ÃöÁp¦¡¸ê®Æ®w¥²¶·µn°Oµ¹ ODBC¡C ¥Ø¿ý¸ê®Æ®w¦³¤@ ²Õ OLAP ¾ã¦X¦øªA¾¹¯à¿ëÃѪºÃöÁp¦¡ªí®æ¡C ¦bµn¤J¹ï¸Ü¤¤¡A«ü©w¾ã¦X¦øªA¾¹¡A ¨Ã®i¶} OLAP ´y­z¸ê®Æ¥Ø¿ýÄæ¦ìªº¤U©Ô¥\¯àªí¡A ±z¥i¥H¬Ý¨ì OLAP ¾ã¦X¦øªA¾¹ ©Òª¾¹Dªº ODBC ¸ê®Æ¨Ó·½¦WºÙ¤§¦Cªí¡C ¿ï¾Ü§t¦³´y­z¸ê®Æ«¬¿ýªí®æªº ODBC ¸ê ®Æ®w¡C * ¨Ï¥ÎªÌ¦WºÙ©M³q¦æ½X¡G¨Ï¥Î±z¦bµe­±©Ò«ü©wªº¨Ï¥ÎªÌ¦WºÙ©M³q¦æ½X¡AOLAP ¾ã¦X ¦øªA¾¹±N»P´y­z¸ê®Æ¥Ø¿ý³sµ²¡C ³o¬Oµn¤J±b¤á¡A¦s¦b©ó¦øªA¾¹ (¤£¬O±qÄݯ¸¡A °£«D¦øªA¾¹©M±qÄݯ¸¦b¦P¤@¥x¾÷¾¹°õ¦æ)¡C¨Ï¥ÎªÌ¦WºÙ¥²¶·¬°«Ø¥ß OLAP ´y­z¸ê ®Æ¥Ø¿ýªº¨Ï¥ÎªÌ¡C §_«h¡AOLAP ¾ã¦X¦øªA¾¹±N§ä¤£¨ì¥Ø¿ý¸ê®Æ®w¤ºªºÃöÁp¦¡ªí ®æ¡A¦]¬°ªí®æºõ¥Øªº¦WºÙ¤£¤@¼Ë¡C DB2 OLAP ¦øªA¾¹¸ê°T¬°¿ï¥Îªº¡A©Ò¥H¡A¦bµn¤J¹ï¸Üªº¥kÃ䤧¿é¤JÄæ¦ì¥i¯à¬OªÅ¥Õªº¡C ¦ý¬O¡A¦³¨Ç®à¤WºÞ²zµ{¦¡©MºÞ²zµ{¦¡ªº§@·~»Ý­n©M DB2 OLAP ¦øªA¾¹³s±µ¡C ¦pªG±z§â ³o¨ÇÄæ¦ìªÅ¤U¨Ó¡A·í¾ã¦X¦øªA¾¹»Ý­n©M DB2 OLAP ¦øªA¾¹³s±µ¥H§¹¦¨±z©Ò­n¨Dªº§@·~ ®É¡A®à¤WºÞ²zµ{¦¡·|¦A¤@¦¸Åã¥Üµn¤J¹ï¸Ü¡C «Øij±z¦bµn¤J¹ï¸Üªº DB2 OLAP ¦øªA¾¹Äæ ¦ì¶ñ¤J¸ê®Æ¡C ±ý³s±µ¨ì DB2 OLAP ¦øªA¾¹¡G * ¦øªA¾¹¡G¿é¤J DB2 OLAP ¦øªA¾¹ªº¥D¹q¸£¦WºÙ©Î IP ¦ì§}¡C ¦pªG±z¦b°õ¦æ OLAP Starter Kit¡A«h OLAP ¦øªA¾¹©M¾ã¦X¦øªA¾¹¬Û¦P¡C ¦pªG¾ã¦X¦øªA¾¹©M OLAP ¦ø ªA¾¹¦w¸Ë¦b¤£¦Pªº¥D¹q¸£¡A½Ð¿é¤J©w¸q©ó OLAP ¾ã¦X¦øªA¾¹¤ºªº¥D¹q¸£¦WºÙ©Î IP ¦ì§}¡C * ¨Ï¥ÎªÌ¦WºÙ©M³q¦æ½X¡G¨Ï¥Î±z¦bµe­±©Ò«ü©wªº¨Ï¥ÎªÌ¦WºÙ©M³q¦æ½X¡A OLAP ¾ã¦X ¦øªA¾¹±N»P DB2 OLAP ¦øªA¾¹³sµ²¡C ¦¹¨Ï¥ÎªÌ¦WºÙ©M³q¦æ½X¥²¶·¤w¸g©w¸q¦b DB2 OLAP ¦øªA¾¹¤º¡C OLAP ¦øªA¾¹¦Û§@·~¨t²Î¥t¥~¦aºÞ²z¥¦©Ò¾Ö¦³ªº¨Ï¥ÎªÌ¦W ºÙ©M³q¦æ½X¡C 25.5.1 Starter Kit µn¤J½d¨Ò ¤U¦C½d¨Ò°²³]¡A¦b OLAP Starter Kit ¦w¸Ë´Á¶¡¡A±z«Ø¥ß¤F OLAP ½d¨Ò¡A ¨Ã¿ï¨ú¤F db2admin §@¬°ºÞ²zªÌ¨Ï¥ÎªÌ ID¡Apassword ¬°ºÞ²zªÌ³q¦æ½X¡C * OLAP ¾ã¦X¦øªA¾¹¡G¦øªA¾¹¬O localhost¡A OLAP ´y­z¸ê®Æ¥Ø¿ý¬O TBC_MD¡A¨Ï¥Î ªÌ¦WºÙ¬O db2admin¡A³q¦æ½X¬O password * DB2 OLAP ¦øªA¾¹¡G¦øªA¾¹¬O localhost¡A¨Ï¥ÎªÌ¦WºÙ¬O db2admin ------------------------------------------------------------------------ 25.6 ¦Û¦æ«Ø¥ß©M¬[ºc OLAP Starter Kit ªº½d¨Ò¸ê®Æ®w ¦w¸Ë OLAP Starter Kit ®É¡A½d¨Ò¸ê®Æ®w·|¦Û°Ê«Ø¥ß¡C¤U¦C«ü¥Ü¸ÑĶ¡A¥²­n®É¡A¦p¦ó ¦Û¦æ¦w¸Ë¥Ø¿ý©M½d¨Ò¸ê®Æ®w¡C 1. ¦bµøµ¡¤U¡A«ö¤@¤U ¶}©l -->µ{¦¡¶°-->DB2 for Windows NT--> ©R¥Oµøµ¡¡A¥H¶} ±Ò¡u©R¥O¤¤¤ß¡vµøµ¡¡C 2. «Ø¥ß¥Ø¿ý¸ê®Æ®w¡G a. ¿é¤J db2 create db OLAP_CAT b. ¿é¤J db2 connect to OLAP_CAT 3. «Ø¥ß¸ê®Æ®w¤ºªºªí®æ¡G a. ¾ÉÄý \SQLLIB\IS\ocscript\ocdb2.sql b. ¿é¤J db2 -tf ocdb2.sql 4. «Ø¥ß½d¨Ò¨Ó·½¸ê®Æ®w¡G a. ¿é¤J db2 connect reset b. ¿é¤J db2 create db TBC c. ¿é¤J db2 connect to TBC 5. «Ø¥ß¸ê®Æ®w¤ºªºªí®æ¡G a. ¾ÉÄý \SQLLIB\IS\samples\ b. ½Æ»s tbcdb2.sql ¨ì \SQLLIB\samples\db2sampl\tbc c. ½Æ»s lddb2.sql ¨ì \SQLLIB\samples\db2sampl\tbc d. ¾ÉÄý \SQLLIB\samples\db2sampl\tbc e. ¿é¤J db2 -tf tbcdb2.sql f. ¿é¤J db2 - vf lddb2.sql ¡A¥H¸ü¤J½d¨Ò¨Ó·½¸ê®Æ¨ìªí®æ¤º¡C 6. «Ø¥ß½d¨Ò¥Ø¿ý¸ê®Æ®w¡G a. ¿é¤J db2 connect reset b. ¿é¤J db2 create db TBC_MD c. ¿é¤J db2 connect to TBC_MD 7. «Ø¥ß¸ê®Æ®w¤ºªºªí®æ¡G a. ¾ÉÄý \SQLLIB\IS\samples\tbc_md b. ½Æ»s ocdb2.sql ¨ì \SQLLIB\samples\db2sampl\tbcmd c. ½Æ»s lcdb2.sql ¨ì \SQLLIB\samples\db2sampl\tbcmd d. ¾ÉÄý \SQLLIB\samples\db2sampl\tbcmd e. ¿é¤J db2 -tf ocdb2.sql f. ¿é¤J db2 -vf lcdb2.sql¡A¥H¸ü¤J½d¨Ò´y­z¸ê®Æ¨ìªí®æ¡C 8. ¬[ºc ODBC for TBC_MD, TBC, AND OLAP_CAT¡G a. «ö¤@¤U¶}©l-->³]©w-->±±¨î¥x¡A¥H¶}±Ò NT ±±¨î¥x b. ±q¦C¥Ü¤¤¿ï¨ú ODBC (©Î ODBC ¸ê®Æ¨Ó·½)¡C c. ¿ï¨ú¡u¨t²Î DSN¡v¼ÐÅÒ¡C d. «ö¤@¤U¡u·s¼W¡v¡C «Ø¥ß·sªº¸ê®Æ¨Ó·½µøµ¡¶}±Ò¡C e. ±q¦C¥Ü¤¤¿ï¨ú IBM DB2 ODBC DRIVER¡C f. «ö¤@¤U¡u§¹¦¨¡v¡C ODBC IBM D2 ÅX°Êµ{¦¡ - ·s¼Wµøµ¡¶}±Ò¡C g. ¦b¸ê®Æ¨Ó·½¦WºÙÄæ¦ì¤¤¡A¿é¤J¸ê®Æ¨Ó·½ (OLAP_CAT) ªº¦WºÙ¡C h. ¦b¸ê®Æ®w§O¦WÄæ¦ì¤¤¡A¿é¤J§O¦W¡A©Î¬O«ö¤@¤U¡õ¡A¨Ã¦b¦C¥Ü¤¤¿ï¨ú OLAP_CAT¡C i. «ö¤@¤U¡u½T©w¡v¡C j. ¹ï©ó TBC_MD ©M TBC ¸ê®Æ®w¡A½Ð­«½Æ¥H¤W¨BÆJ¡C ------------------------------------------------------------------------ 25.7 ²¾ÂàÀ³¥Îµ{¦¡¦Ü OLAP Starter Kit ª©¥» 7.2 ¦w¸Ëµ{¦¡¤£­«·s¦w¸Ë OLAP Starter Kit ½d¨ÒÀ³¥Îµ{¦¡¡B¸ê®Æ®w¤Î¸ê®ÆÀÉ¡C ±zªº²{¦s À³¥Îµ{¦¡©M¸ê®Æ®w¤£¨ü¼vÅT¡C µM¦Ó¡A¦b¦w¸Ë¤§«e¡A³Ì¦n¥ý³Æ¥÷±zªºÀ³¥Îµ{¦¡©M¸ê®Æ ®w¡C ±zªºÀ³¥Îµ{¦¡¦b¶}±Ò®É·|¦Û°Ê²¾Âà¦Üª©¥» 7.2¡C ------------------------------------------------------------------------ 25.8 ¤wª¾°ÝÃD»P­­¨î ¥»¬q¸¨¦C¥Ü DB2 OLAP Starter Kit ªº¤wª¾­­¨î¡C Windows ¥­¥xªº Informix RDBMS ©M Merant ÅX°Êµ{¦¡ªº¬Û®e©Ê ¬°¤FÅý Windows ¥­¥xªº Merant ÅX°Êµ{¦¡¯à°÷©M Informix RDBMS ¤@°_¹B§@¡A PATH ³¯­z¦¡¤¤¥²¶··s¼W¤U¦C¨â­Ó¶µ¥Ø¡G o C:\Informix o C:\Informix\bin ³o¨â­Ó¶µ¥Ø¥²¶·¦ì©ó PATH ªº¶}ÀY¡C OLAP ¼Ò«¬¤¤ªººû«×©M¬ÛÃö Metaoutline ¤§¶¡¥i¯àªº¤£¤@­P±¡§Î ¦b¬Y¨Ç±¡ªp¤U¡A±z«Ø¥ßªººû«×¦b OLAP ¼Ò«¬¤¤µL¬Û¹ïÀ³ªººû«×¡C ¦b¤U¦C¹ê°È¤¤ ·|µo¥Í³o¨Ç±¡§Î¡G 1. «Ø¥ß¨ÃÀx¦s¤@­Ó·sªº OLAP ¼Ò«¬¡C 2. ®Ú¾Ú¦¹¼Ò«¬¨Ó«Ø¥ß¤@­Ó metaoutline¡A¦ý¨Ã¥¼Àx¦s metaoutline¡C 3. ªð¦^ OLAP ¼Ò«¬¡A§R°£¨ä¤¤¤@­Ó metaoutline ºû«×©Ò¨Ì¿àªººû«×¡C 4. ªð¦^ metaoutline¡A¶}±Ò¡BÃö³¬¡A¦A­«·s¶}±Ò¡Cmetaoutline ±N¥]§t¤@­Ó ºû«×¡A¦¹ºû«×¦b OLAP ¼Ò«¬¤¤µL¬Û¹ïÀ³ªººû«×¡C OLAP Starter Kit µLªk°Ï¤À³oºØ±¡ªp¤U«Ø¥ßªº¤£¤@­Pºû«×©M metaoutlin ¤¤ªº ¨Ï¥ÎªÌ©w¸qºû«×¡C ¦]¦¹¡A¤£¤@­Pºû«×·|Åã¥Ü¦b metaoutline ¤¤¡A¦ý metaoutline µø¥¦¬°¤@­Ó¨Ï¥ÎªÌ©w¸qºû«×¡A¦]¬° OLAP ¼Ò«¬¤¤µL¬Û¹ïÀ³ªººû«×¦s ¦b¡C ¦b Windows 2000 ¥­¥x¤W¡ATMP ªºÀô¹ÒÅܼƳ]©w¾É­P¦¨­û©M¸ê®Æ¸ü¤J¥¢±Ñ ¦]¬° Windows 2000 ©M Windows NT ¤§¶¡¡ATMP ªº¹w³]¨t²Î©M¨Ï¥ÎªÌÀô¹ÒÅܼƳ] ©w¦³©Ò®t²§¡A ·í OLAP Starter Kit ¦b Windows 2000 ¥­¥x¤W°õ¦æ®É¡A¦¨­û©M ¸ê®Æ¸ü¤J·|¥¢±Ñ¡C ³y¦¨ªº¿ù»~°T®§§i¶D¨Ï¥ÎªÌµLªk«Ø¥ß¼È¦sÀÉ¡C ±z¥i±Ä¨ú¤U¦C ¨BÆJ¨Ó¸Ñ¨M¦¹ Windows 2000 ªº­­¨î¡G 1. «Ø¥ß¤@­Ó¥Ø¿ý C:\TEMP 2. ±N¨t²Î©M¨Ï¥ÎªÌªºÀô¹ÒÅÜ¼Æ TMP ³]©w¬° TMP=C:\TEMP ¦w¸Ë ODBC ¤£¨ú¥N²{¦sªº Merant ÅX°Êµ{¦¡ ²{¦sªº 3.6 Merant ODBC ÅX°Êµ{¦¡¤£ÀH¦¹¦w¸Ë¦Ó§ó·s¡C ­Y±z±q OLAP Starter Kit ª©¥» 7.1 ­×¥¿®M¥ó 2 ©Î§ó°ªª©¥»¨Ó¤É¯Å¡A ±zÀ³¸ÓÄ~Äò¨Ï¥Î¥ý«e¦w¸Ëªº ODBC ÅX°Êµ{¦¡ ¦b UNIX ¥­¥x¤W¨Ï¥Î Merant Informix ODBC ÅX°Êµ{¦¡ ±ý©ó UNIX ¥­¥x¤W¨Ï¥Î Merant Informix ODBC ÅX°Êµ{¦¡¡A±z¥²¶·°õ¦æ¤U¦C¨ä¤¤ ¤@¶µ°Ê§@¡G o ¦b±Ò°Ê Starter Kit ¤§«e¡A±N LANG Àô¹ÒÅܼƳ]¬° en_US¡C¨Ò¦p¡A­Y¬O korn shell¡A½ÐÁä¤J¡G export LANG='en_US' ¨C¦¸±Ò°Ê OLAP Starter Kit ®É¬Ò³]©w¦¹ÅܼơC o ­Y±zªº LANG Àô¹ÒÅܼƤw³]©w¦¨¤£¦P­È¡A ½Ð©ó¦w¸Ë¤§«á«Ø¥ß¤U¦C²Å¸¹Ãì µ²¡G ln -s $ISHOME/locale/en_US $ISHOME/locale/$LANG ²V¦X OLAP ±qÄݯ¸©M¦øªA¾¹ªºªA°Èµ{¦¡µ¥¯Å IBM «Øij±z±N DB2 OLAP Starter Kit ªº±qÄݯ¸©M¦øªA¾¹¤¸¥ó«O«ù¦b¬Û¦Pª©¥»©M ­×¥¿®M¥ó¼h¦¸¡C ¦ý¦b¬Y¨Çª¬ªp¤U¡A±z¥i²V¦X±qÄݯ¸©M¦øªA¾¹¤¸¥óªºªA°Èµ{¦¡µ¥ ¯Å¡G ¨Ï¥Î¦P¤@ª©¥»¦ý¤£¦PªA°Èµ{¦¡µ¥¯Åªº±qÄݯ¸©M¦øªA¾¹ IBM ¤£¤ä´©©M«Øij¦P®É¨Ï¥Î¸û·sªº±qÄݯ¸©M¸ûªº¦øªA¾¹¡C ¤£¹L¡AÁöµM IBM ¤£¤ä´©¡A±z¤´¥i¦P®É¨Ï¥Î¸ûªº±qÄݯ¸©M¸û·sªº¦øªA¾¹¡C ±z¥i¯à·|¾D ¹J¤@¨Ç°ÝÃD¡C¨Ò¦p¡G + ¨Ó¦Û¦øªA¾¹ªº°T®§¥i¯à¤£¥¿½T¡C±z¥i¤É¯Å±qÄݯ¸ªº message.MDB ÀÉ ®×¨Ó²Å¦X¦øªA¾¹ªº¼h¦¸¡A§Y¥i¸Ñ¨M¦¹°ÝÃD¡C + ·sªº¦øªA¾¹¯S©Ê¨S¦³§@¥Î¡C·í±z¹Á¸Õ¨Ï¥Î·s¯S©Ê®É¡A±qÄݯ¸¡B¦øªA¾¹ ©Î¨âªÌ¥i¯à¥¢®Ä¡C + ±qÄݯ¸¥i¯àµLªk¾A·í¦a³s±µ¦øªA¾¹¡C ¦b¦P¤@­Óª©¥»¤¤¨Ï¥Î¦h­«¦øªA¾¹©M³æ¤@±qÄݯ¸ ­Y±z»Ý­n±N¤@­Ó±qÄݯ¸³s±µ¦Ü¤£¦P¾÷¾¹©Î§@·~¨t²Î¤Wªº´X­Ó OLAP ¦øªA ¾¹¡AIBM «Øij±z³o¨Ç¦øªA¾¹¥þ³¡¨Ï¥Î¬Û¦Pª©¥»©MªA°Èµ{¦¡µ¥¯Å¡C ±zªº±qÄÝ ¯¸¦Ü¤ÖÀ³¸Ó»P³Ì§C¼h¦¸ªº¦øªA¾¹¬Û¦P¡C ­Y±z¾D¹J°ÝÃD¡A«h¥i¯à»Ý­n¨Ï¥Î¤£ ¦P±qÄݯ¸¾÷¾¹¨Ó°t¦X¾A·íªº¥D¹q¸£¡A ©Î±N©Ò¦³±qÄݯ¸©M¦øªA¾¹¤É¯Å¦¨¬Û¦P ªºªA°Èµ{¦¡µ¥¯Å¡C ²V¦X¤£¦Pª©¥»ªº±qÄݯ¸©M¦øªA¾¹ IBM ¤£¤ä´©¦P®É¨Ï¥Î OLAP Starter Kit ±qÄݯ¸©M¦øªA¾¹ª©¥» 7.1 »P±qÄÝ ¯¸©M¦øªA¾¹ª©¥» 7.2¡C·í IBM OLAP ²£«~¤É¯Å¬°¸û·sª©¥»¼h¦¸®É¡A ºô¸ô§ó ·s©M¸ê®Æ®æ¦¡Åܧó³q±`­n¨D±qÄݯ¸©M¦øªA¾¹¬°¬Û¦Pªºª©¥»¼h¦¸¡C ²V¦X IBM ²£«~ (DB2 OLAP Starter Kit) ©M Hyperion ²£«~ (Hyperion Essbase ©M Hyperion Integration Server) IBM ¤£¤ä´©²V¦X IBM ªº OLAP ±qÄݯ¸©M¦øªA¾¹»P Hyperion Solutions ªº OLAP ±qÄݯ¸©M¦øªA¾¹¡CÁöµM²V¦X³o¨Ç¤¸¥ó¦b¬Y¨Ç±¡ªp¤U¥i¥H¹B§@¡A ¦ý¯S ©Ê¤Wªº³¡¥÷®t²§¥i¯à·|³y¦¨°ÝÃD¡C ------------------------------------------------------------------------ 25.9 OLAP ¸Õºâªí¼W¯q¶° EQD Àɮ׿ò¥¢ ¦b DB2 OLAP Starter Kit ¤¤ªº¸Õºâªí¼W¯q¶°¨ã¦³ Query Designer (EQD) ¤¸¥ó¡C EQD ½u¤W»¡©ú¥\¯àªí¤¤©Ò§tªº±Ð¾Ç«ü¾É«ö¶s¡A¤£·|Åã¥Ü¥ô¦ó¤º®e¡C ¨ä©ÒÀ³Åã¥Üªº±Ð§÷ ¬° OLAP Spreadsheet Add-in User's Guide for Excel ªº²Ä 2 ³¹¡A¥H¤Î OLAP Spreadsheet Add-in User's Guide for 1-2-3¡C EQD ±Ð¾Ç«ü¾É¤¤ªº©Ò¦³¸ê°T¡A¥i¥H ±q¡u¸ê°T¤¤¤ß¡v³o¨Ç®ÑÄyªº HTML ª©¤Î PDF ª©¬d¨ì¡C ------------------------------------------------------------------------ ¸ê°T«¬¿ýºÞ²zµ{¦¡ºÞ²z¤â¥U ------------------------------------------------------------------------ 26.1 ¸ê°T«¬¿ýºÞ²zµ{¦¡°_©l³]©w¤½¥Îµ{¦¡ 26.1.1 ¨Ï¥Î°_©l³]©w¸ê°T«¬¿ýºÞ²zµ{¦¡ (ICM) ¤½¥Îµ{¦¡¡A ±z²{¦b¥i¥H§Q¥Î¤U¦C«ü¥O¡A²K¥[ SQL ³¯­z¦¡¦Ü CREATE TABLE ³¯­z¦¡ªºµ²§À¡G CREATEIC \DBTYPE dbtype \DGNAME dgname \USERID userid \PASSWORD password \KA1 userid \TABOPT "directory:\tabopt.file" ±z¥i¥H±q¦w¸Ë DB2 ªº¥Ø¿ý¡A¦b CREATEIC ¤½¥Îµ{¦¡¤¤«ü©w TABOPT ÃöÁä¦r¡C TABOPT ÃöÁä¦r¤§«áªº­È¬O tabopt.file¡AÀɮצWºÙ¬O§t¦³§¹¾ãªº¸ô®|¡C¦pªG¥Ø¿ý¦WºÙ¦³ªÅ ¥Õ¡A ½Ð¥H¤Þ¸¹¬A¦í¸Ó¦WºÙ¡Ctabopt.file Àɮתº¤º®e¥²¶·§t¦³¸ê°T¡A¤~¯à²K¥[¦Ü CREATE TABLE ³¯­z¦¡¡C±z¥i¥H¨Ï¥Î¤U¦C¥ô¤@ºØ SQL ³¯­z¦¡¼g¤J¦¹ tabopt.file ÀÉ ®×¡CICM ¤½¥Îµ{¦¡±NŪ¨ú¦¹ÀɮסAµM«á±N¥¦²K¥[¨ì CREATE TABLE ³¯­z¦¡¡C ªí 20. SQL ³¯­z¦¡ IN MYTABLESPACE ¥H¨ä MYTABLESPACE ¸ê®Æ«Ø¥ßªí®æ DATA CAPTURE CHANGES ¥HÂX¥R®æ¦¡«Ø¥ßªí®æ¨Ã°O¸ü SQL Åܧó IN ACCOUNTING INDEX IN ¥H¨ä ACCOUNTING ¸ê®Æ¤Î ACCOUNT_IDX ¯Á¤Þ«Ø¥ßªí ACCOUNT_IDX ®æ ¤º®eÀɮתº³Ì¤j­È¤j¤p¬O 1000 ³æ¤@¦ì¤¸²Õ¦r¤¸¡C ³o­Ó·s¥\¯à¥u¯à¦b Windows ¤Î UNIX ¨t²Î¤W¨Ï¥Î¡C 26.1.2 ª©Åv°ÝÃD ¦pªG±z±o¨ì¤F¤U¦C°T®§¡G FLG0083E¡G±z¨S¦³¡uIBM ¸ê°T«¬¿ýºÞ²zµ{¦¡°_©l³]©w¡v¤½¥Îµ{¦¡ªº¦³®Ä±ÂÅv¡C ½Ð¬¢¸ß±z·í¦aªº³nÅé¸g¾P°Ó©Î IBM ·~°È¥Nªí¡C ±z¥²¶·ÁʶR DB2 Warehouse Manager ©Î IBM DB2 OLAP Server¡A ¨Ã¦w¸Ë¡u¸ê°T«¬¿ý ºÞ²zµ{¦¡¡v¤¸¥ó¡A·í¤¤¥]§t¤F¡u¸ê°T«¬¿ý°_©l³]©w¡v¤½¥Îµ{¦¡¡C 26.1.3 ¦w¸Ë°ÝÃD ­Y±z¦b¦w¸Ë¤F DB2 Warehouse Manager ©Î IBM DB2 OLAP Server ¤§«á¡A¤S¦b¬Û¦Pªº ¤u§@¯¸¤W¦w¸Ë ¨ä¥¦¡u¸ê°T«¬¿ýºÞ²zµ{¦¡ºÞ²zªÌ¡v¤¸¥ó (§Q¥Î DB2 Universal Database CD-ROM)¡A «K·|Âмg­ì¦³ªº¸ê°T«¬¿ý°_©l³]©w¤½¥Îµ{¦¡¡C¦¹®É¡A±z¥i¥H±q \sqllib\bin ¥Ø¿ý¤U¡A§ä¥X createic.bak »P flgnmwcr.bak ÀɮסA±N¨ä¤À§O§ó¦W¬° createic.exe ¤Î flgnmwcr.exe¡C ­Y±z­n¥t¥~¦w¸Ë DB2 Universal Database ¤Wªº¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¸¥ó¡A«h³o¨Ç ¤¸¥ó ¤£¯à¦w¸Ë¦b Data Warehouse Manager ©Ò¦w¸Ëªº¦P¤@³¡¤u§@¯¸¤W¡C±z¥i¥H°Ñ¾\ ¡uDB2 Warehouse Manager ¦w¸Ë¤â¥U¡vªº²Ä 3 ³¹¡u¦w¸Ë¸ê°T«¬¿ýºÞ²zµ{¦¡¤¸¥ó¡v¡A¬d ¬Ý¶i¤@¨Bªº¸ê°T¡C ------------------------------------------------------------------------ 26.2 ¥H DB2 ª©¥» 7 ¸ê°T«¬¿ýºÞ²zµ{¦¡¦s¨ú DB2 ª©¥» 5 ¸ê°T«¬¿ý ¥Ñ DB2 ª©¥» 7 ¦w¸Ëµ{§Ç©Ò¬[ºcªº DB2 ª©¥» 7 ¸ê°T«¬¿ýºÞ²zµ{¦¡¦¸¤¸¥ó¡A¤ä´©¦s¨ú Àx¦s¦b DB2 ª©¥» 6 ©M DB2 ª©¥» 7 ¸ê®Æ®wªº¸ê°T«¬¿ý¡C­×§ï¦¸¤¸¥óªº¬[ºc¡A¦s¨úÀx ¦s¦b DB2 ª©¥» 5 ¸ê®Æ®wªº¸ê°T«¬¿ý¡CDB2 ª©¥» 7 ¸ê°T«¬¿ýºÞ²zµ{¦¡¦¸¦¨¥÷¨Ã¤£¤ä´© ¦s¨ú DB2 ª©¥» 2 ©Î¤§«eª©¥»ªº¸ê®Æ¡C ³]©w¸ê°T«¬¿ýºÞ²zªÌ¡A¦s¸ê°T«¬¿ýªº¸ê°T«¬¿ý¨Ï¥ÎªÌ©M¸ê°T«¬¿ý°_©l³]©w¤½¥Îµ{¦¡¡A Àx¦s¦b DB2 ª©¥» 5 ¸ê®Æ®w¡G 1. ¦b¨S¦³¦w¸Ë DB2 ª©¥» 7 ¸ê°T«¬¿ýºÞ²zµ{¦¡ªº¤u§@¯¸¡A¦w¸Ë DB2 Connect Enterprise Edition ª©¥» 6¡C DB2 Connect Enterprise Edition ¬O DB2 Universal Database Enterprise Edition ©M DB2 Universal Database Enterprise - Extended Edition ªº¤@³¡ ¤À¡C ¦pªG¦w¸Ë³o¨Ç DB2 ²£«~ªºª©¥» 6¡AµL¶·¥t¥~¦w¸Ë DB2 Connect¡C ­­¨î: ¦b¬Û¦Pªº Windows NT ©Î OS/2 ¤u§@¯¸¡A¤£¯à¦w¸Ë DB2 ¦h­«ª©¥»¡C±z¥i¥H ¦b¨ä¥¦ Windows NT ¤u§@¯¸¡B OS/2 ¤u§@¯¸©Î UNIX ¤u§@¯¸¤W¦w¸Ë DB2 Connect¡C 2. ¬[ºc¸ê°T«¬¿ýºÞ²zµ{¦¡©M DB2 Connect ª©¥» 6¡A¦s¨ú DB2 ª©¥» 5 ªº¸ê®Æ¡C¸Ô ²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 Connect ¨Ï¥Î¤â¥U¡C¥H¤U¬°¥²­n¨BÆJªº·§Æ[¡G a. ¦b DB2 ª©¥» 5 ¨t²Î¡A¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹½s¥Øª©¥» 5 ªº¸ê®Æ®w¡A¦s ¨ú¸ê°T«¬¿ýºÞ²zµ{¦¡¡C b. ¦b DB2 Connect ¨t²Î¡A¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹¶i¦æ½s¥Ø¡G + DB2 ª©¥» 5 ¨t²Îªº TCP/IP ¸`ÂI + DB2 ª©¥» 5 ¨t²Îªº¸ê®Æ®w + DB2 ª©¥» 5 ¨t²Îªº DCS µn¿ý¶µ¥Ø c. ¦b¸ê°T«¬¿ýºÞ²zµ{¦¡ªº¤u§@¯¸¡A¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹¶i¦æ½s¥Ø¡G + DB2 Connect ¨t²Îªº TCP/IP ¸`ÂI + DB2 Connect ¨t²Îªº¸ê®Æ®w ¦³Ãö½s¥Ø¸ê®Æ®wªº¸ê°T¡A½Ð°Ñ¾\ DB2 Universal Database ¦w¸Ë»P¬[ºc¸É¥R 3. ©ó¸ê°T«¬¿ýºÞ²zµ{¦¡ªº­ÜÀx¡A±N DB2 CLI ®M¸Ë³nÅé©M³z¹L DB2 Connect ©Ò¦s¨ú ªº¦U­Ó¸ê®Æ®w¶i¦æ³sµ²¡C ¤U¦C DB2 «ü¥O´£¨Ñ³sµ²¨ì v5database ªº½d¨Ò¡A ¤@­Ó°²³]©Êªº DB2 ª©¥» 5 ªº ¸ê®Æ®w¡C¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹µo¥X¤U¦C«ü¥O¡Cdb2cli.lst ¤Î db2ajgrt ªº¦ì ¸m¦b \sqllib\bnd ¥Ø¿ý¤¤¡C db2 connect to v5database user ¨Ï¥ÎªÌ ID using ³q¦æ½X db2 bind db2ajgrt.bnd db2 bind @db2cli.lst blocking all grant public ¨Ï¥ÎªÌ ID ¬O v5database ªº¨Ï¥ÎªÌ¡A ³q¦æ½X¬O«ü¨Ï¥ÎªÌ ID ªº³q¦æ½X¡C db2cli.list ³Q³sµ²¨ì DB2 ª©¥» 5 ¸ê®Æ®w®É¡A·|µo¥Í¿ù»~¡Cµo¥Í¿ù»~¡A¬O¦]¬° ¦¹¬[ºc¨Ã¤£¤ä´©¤j«¬ª«¥ó¡C³o¶µ¿ù»~¤£·|¼vÅT­ÜÀx¥N²zµ{¦¡¹ï DB2 ª©¥» 5 ¸ê®Æ ®wªº¦s¨ú¡C »Ý­n¦³ DB2 Universal Database ª©¥» 5 ªº FixPak 14 (©ó 2000 ¦~ 6 ¤ëµo ¦æ)¡A ¤~¯à³z¹L DB2 Connect ¨Ó¦s¨ú DB2 ª©¥» 5 ªº¸ê®Æ¡C½Ð°Ñ·Ó FixPak ¤º ªº APAR ½s¸¹ JR14507¡C ------------------------------------------------------------------------ 26.3 ³]¸m¸ê°T«¬¿ý ¦b²Ä 1 ³¹²Ä 1 ¬qªº¨BÆJ 2¡u³]¸m¸ê°T«¬¿ý¡v´£¨ì¡G ·í±z¦w¸Ë¤F DB2 Warehouse Manager ©Î DB2 OLAP Server¡A §Y·|¦b DB2 Universal Database for Windows NT ¤¤«Ø¥ß¹w³]ªº¸ê°T«¬¿ý¡C ³o­Ó³¯­z¦¡¬O¤£¥¿½Tªº¡C±z¥²¶·©w¸q·sªº¸ê°T«¬¿ý¡C¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\¡u«Ø¥ß¸ê°T«¬ ¿ý¡v³¡¥÷¡C ------------------------------------------------------------------------ 26.4 »P¨ä¥¦²£«~¥æ´«´y­z¸ê®Æ ¦b²Ä 6 ³¹¡u»P¨ä¥¦²£«~¥æ´«´y­z¸ê®Æ¡vªº¡uÃѧO­n¤½§Gªº OLAP ª«¥ó¡v°Ï¬q¡A ¦b²Ä ¤G¬q¦³¤@­Ó¥y¤l´£¨ì¡G ·í±z¤½§G DB2 OLAP ¾ã¦X¦øªA¾¹´y­z¸ê®Æ®É¡A ·|¦b¸ê°T«¬¿ýªº¡u¦h­«ºû«×¸ê®Æ®w¶¡ªººû«×¡v»P OLAP ¾ã¦X¦øªA¾¹ªºªí®æª«¥ó¶¡«Ø¥ßÃìµ²Ãö«Y¡C ³o¬q»¡©úÀ³¦p¤U©Ò¥Ü¡G ·í±z¤½§G DB2 OLAP ¾ã¦X¦øªA¾¹´y­z¸ê®Æ®É¡A ·|¦b¸ê°T«¬¿ý¡u¦h­«ºû«×¸ê®Æ®wª«¥ó¤Îªí®æª«¥ó¤¤ªººû«×¡v ¤§¶¡«Ø¥ßÃìµ²Ãö«Y¡C ³o¤@¥y¤]¥X²{¦bªþ¿ý C ¡u´y­z¸ê®Æ¹ï¬M¡vªº¡u¸ê°T«¬¿ýºÞ²zµ{¦¡»P OLAP ¦øªA¾¹¶¡ªº ´y­z¸ê®Æ¹ï¬M¡v°Ï¬q¡C ------------------------------------------------------------------------ 26.5 ¨Ï¥Î flgnxoln «ü¥O¥æ´«´y­z¸ê®Æ ¦b²Ä 6 ³¹¡u¥æ´«´y­z¸ê®Æ¡v¤¤¦³¤@­Ó¬q¸¨ªº¼ÐÃD¬O ¡uÃѧO­n¤½§Gªº OLAP ª«¥ó¡v¡C ¦b¬q¸¨ªº³Ì«á­±¦³¨Ï¥Î flgnxoln «ü¥O¨Ó¤½§G OLAP ¦øªA¾¹´y­z¸ê®Æ¨ì¸ê°T«¬¿ýªº½d ¨Ò¡C¦¹½d¨ÒÅã¥Ü db2olap.ctl ©M db2olap.ff Àɮתº¥Ø¿ý¬° x:\Program Files\sqllib\logging¡A ³o¬O¤£¥¿½Tªº¡C¥Ø¿ýÀ³¸Ó¦p²Ä 87 ­¶©Ò»¡¡G x:\Program Files\sqllib\exchange¡C ------------------------------------------------------------------------ 26.6 ¨Ï¥Î MDISDGC «ü¥O¥æ´«´y­z¸ê®Æ ²Ä 6 ³¹¡u»P¨ä¥¦²£«~¥æ´«´y­z¸ê®Æ¡vªº¡u±N²Å¦X MDIS ªº´y­z¸ê®ÆÂà´«¨ì¼Ð¥Ü»y¨¥ ÀÉ¡v(²Ä 89 ­¶)¡C±z¤£¥i¥H±q MS-DOS ©R¥O´£¥Ü¤Uµo¥X MDISDGC «ü¥O¡A¦ÓÀ³¸Ó±q DB2 ©R¥Oµøµ¡¤¤µo¥X¸Ó«ü¥O¡C¸Ó³¹¸`ªº²Ä¤@¥y¼g¹D¡G¡u±N MDIS ®æ¦¡ªº´y­z¸ê®ÆÂà´«¦¨¼Ð ¥Ü»y¨¥ÀÉ¡v¤¤¥ç´£¨ì±z¥² ±q MS-DOS ©R¥O´£¥Üµo¥X DGMDISC «ü¥O¡C±z¥²¶·±q DB2 ©R ¥Oµøµ¡¤¤µo¥X DGMDISC «ü¥O¡C ------------------------------------------------------------------------ 26.7 ©I¥sµ{¦¡ ¡u¸ê°T«¬¿ýºÞ²z¤â¥U¡v¤¤³¡¤Àªº½d¨Ò¤¤ªº«ü¥O¥]§t¤F Program Files ªº¥Ø¿ý¦WºÙ¡C·í ±z©I¥s¤@­Ó¥]§t Program Files ¥Ø¿ý¦WºÙªº«ü¥O®É¡A ±z¥²¶·±Nµ{¦¡©I¥s¥]¦bÂù¤Þ¸¹ ¤º¡C ¨Ò¦p¦bªþ¿ý B ¡u¹w¥ý©w¸qªº¸ê°T«¬¿ýºÞ²zµ{¦¡ª«¥óÃþ«¬¡v ªº¡u¥H¹w¥ý©w¸qªºª« ¥óÃþ«¬°_©l³]©w±zªº¸ê°T«¬¿ý¡v¬q¸¨¤¤¦³¤@­Ó½d¨Ò¡C¦pªG±z¨Ï¥Î³o¸Ì ªº½d¨Ò¡A·í±z±q DOS ´£¥Ü²Å¸¹°õ¦æ¥¦®É·|±o¨ì¿ù»~°T®§¡C¤U¦C¬O¥¿½Tªº½d¨Ò¡G "X:Program Files\SQLLIB\SAMPLES\SAMPDATA\DGWDEMO" /T userid password dgname ------------------------------------------------------------------------ Information Catalog Manager Programming Guide and Reference(µL¤¤¤åª©) ------------------------------------------------------------------------ 27.1 Information Catalog Manager Reason Codes In Appendix D: Information Catalog Manager reason codes, some text might be truncated at the far right column for the following reason codes: 31014, 32727, 32728, 32729, 32730, 32735, 32736, 32737, 33000, 37507, 37511, and 39206. If the text is truncated, please see the HTML version of the book to view the complete column. ------------------------------------------------------------------------ ¸ê°T«¬¿ýºÞ²zµ{¦¡¨Ï¥Î¤â¥U ¦b²Ä 2 ³¹¡A¦³¤@­Ó¬q¸¨ºÙ¬°¡uµn°O¦øªA¾¹¸`ÂI»P»·ºÝ¸ê°T«¬¿ý¡v¡C¦¹°Ï¬q¦C¥X¤F±z¦b ¨Ï¥Î¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡vµn°O»·ºÝ¸ê°T«¬¿ý®É¥i±q¡uDB2 ±±¨î¤¤¤ß¡v §¹¦¨ªº¨BÆJ¡C ³o­Ó³¹¸`ªº³Ì«á¤@­Ó¬q¸¨´£¨ì¦b±q¡uDB2 ±±¨î¤¤¤ß¡v§¹¦¨³o¨Ç¨BÆJ¤§«á (·s¼W¨t²Î¡B ·s¼W®×¨Ò¤Î·s¼W¸ê®Æ®w)¡A¦b¶}±Ò¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤§«e¥²¶·Ãö³¬ ¡u±±¨î¤¤ ¤ß¡v¡C³o¶µ¸ê°T¨Ã¤£¥¿½T¡C¦b¶}±Ò¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤§«e¨Ã¤£»Ý­nÃö³¬ ¡u±±¨î¤¤ ¤ß¡v¡C ¦P¼Ëªº­×¥¿¤]¾A¥Î©ó¡uµn°O¦øªA¾¹¸`ÂI¤Î»·ºÝ¸ê°T«¬¿ý¡v§@·~ªº½u¤W»¡©ú¡A¥H¤Î¡uµn °O ¦øªA¾¹¸`ÂI¤Î¸ê°T«¬¿ý¡vµøµ¡ªº½u¤W»¡©ú¡C ------------------------------------------------------------------------ ¸ê°T«¬¿ýºÞ²zµ{¦¡¡G½u¤W°T®§ ------------------------------------------------------------------------ 29.1 °T®§ FLG0260E °T®§»¡©úªº²Ä¤G¥yÀ³¬°¡G ¿ù»~³y¦¨¸ê°T«¬¿ý¥¢±Ñªº rollback¡C ¸ê°T«¬¿ýªºª¬ªp¤£Ã­©w¡A¦ý¬O¡A¨S¦³»s³y¥ô¦óªºÅܧó¡C ------------------------------------------------------------------------ 29.2 °T®§ FLG0051E °T®§»¡©ú¤ºªº²Ä¤G¶µ¥Ø²Å¸¹À³¬°¡G ¸ê°T«¬¿ý§t¦³¤Ó¦hª«¥ó©Îª«¥óÃþ«¬¡C ºÞ²zªÌ¦^À³¬°¡G ¨Ï¥Î¶×¤J¨ç¼Æ±q¥Ø«e¸ê°T«¬¿ý§R°£³¡¥÷ª«¥ó©Îª«¥óÃþ«¬¡C ------------------------------------------------------------------------ 29.3 °T®§ FLG0003E °T®§»¡©úÀ³¬°¡G ¸ê°T«¬¿ý¥²¶·¦b¨Ï¥Î«e¶i¦æµn°O¡C ¸ê°T«¬¿ý¥i¯àµn°O¿ù»~¡C ------------------------------------------------------------------------ 29.4 °T®§ FLG0372E °T®§»¡©úªº²Ä¤@¥yÀ³¬°¡G ATTACHMENT-IND ­È¬°ª«¥ó©Ò©¿²¤¡A¦]¬°¸Óª«¥ó¬O Attachment ª«¥ó¡C ------------------------------------------------------------------------ 29.5 °T®§ FLG0615E °T®§ªº²Ä¤G¥yÀ³¬°¡G ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¹J¨ì«D¹w´Áªº¸ê®Æ®w¿ù»~¡A ©ÎªÌ¦b¥Ø«eªº¥Ø¿ý©Î¸ô®|¸Ì§ä¤£¨ì³sµ²ÀÉ¡C ------------------------------------------------------------------------ ¸ê°T«¬¿ýºÞ²zµ{¦¡¡G½u¤W»¡©ú ¸ê°T«¬¿ýµøµ¡¡G¿ï¨úªº¥\¯àªí¶}±Ò¶µ¥Øªº½u¤W»¡©ú¿ù»~¦a»¡¡u¶}±Ò¿ï¨úªºª«¥ó¡v¡C¥¦ À³¸Ó»¡¡u¶}±Ò©w¸q·j´Mµøµ¡¡v¡C ------------------------------------------------------------------------ 30.1 Web ¸ê°T«¬¿ýºÞ²zµ{¦¡ ¨Ï¥Î¦ì©ó DB2 UDB for OS/390 system ªº¸ê°T«¬¿ý¡A¨S¦³¤£°Ï¤À¤j¤p¼g·j´Mªº¥\¯à¡C ²¦¡·j´M©M¶i¶¥·j´Mªº±¡ªp³£¬O¦p¦¹¡C½u¤W»¡©ú¨Ã¨S¦³¸ÑĶ¡A¹ï©ó²¦¡·j´M¡ADB2 UDB for OS/390 ¸ê°T«¬¿ýªº©Ò¦³·j´M¬°°Ï¤À¤j¤p¼gªº¡C¦¹¥~¡A©Ò¦³¤À²ÕºØÃþª«¥ó³£¥i¥HÂX ¥R¡A§Y¨Ï¥¦­Ì¤£¬O°ò¦ª«¥ó¡C ------------------------------------------------------------------------ DB2 Warehouse Manager ¦w¸Ë¤â¥U ------------------------------------------------------------------------ 31.1 ­ÜÀxÂà´«µ{¦¡ªº³nÅé»Ý¨D ¦b±z­p¹º­n¨Ï¥Î­ÜÀxÂà´«µ{¦¡ªº¸ê®Æ®w¤W¡A¥²¶·¥ý¦w¸Ë Java Developer's Kit (JDK) ª©¥» 1.1.8 (©Î¥H¤W)¡C ------------------------------------------------------------------------ 31.2 SAP R/3 Connector ±q SAP R/3 °Ó·~ª«¥óÄæ¦ì¹ï¬Mª½Äæ¨ì DB2 ªí®æ®É¡A ¦³¨Ç²£¥Íªºª½Äæ¦WºÙ¥i¯à·|¶W¹L 30 ¦r¤¸¡C¦b¦¹±¡ªp¤U¡A ²£¥Íªºª½Äæ¦WºÙ¥u·|¤Ï¬M SAP Äæ¦ì¦WºÙªº«e 30 ­Ó¦r¡C­Y²£ ¥Íªº¦WºÙ¨Ã«D±z©Ò­nªº¡A±z¥i¥H¨Ï¥Î¡u¤º®e¡vµ§°O¥»Åܧóªí®æ¡C 31.2.1 ¦w¸Ë¥ý¨M±ø¥ó ³]©w RFC_INI Àô¹ÒÅܼơC¨Ò¦p¡A Set RFC_INI=c:\rfcapl.ini¡C ¦b³]©wÅܼƤ§«á¡A ½Ð±z°È¥²­«·s±Ò°Ê¹q¸£¡C ------------------------------------------------------------------------ 31.3 Web Connector ­Y±z¦b°õ¦æ Web Connector µo¥Í°ÝÃD¡AIBM ªA°Èµ{¦¡¥i¯à·|­n¨D±z¶Ç°e Connector ªº°lÂÜ¡C ­Y­n±Ò¥Î Web Connector ªº°lÂÜ¡A½Ð±N Warehouse Center ¥N²zµ{¦¡ªº°lÂܳ]©w¬°¤j ©ó 0¡C°lÂÜÀɪº¦WºÙ¬° WSApid.log¡A ¨ä¤¤µ{§Ç ID ¬O¥N²zµ{¦¡ªº Windows µ{§Ç ID¡C°lÂÜÀÉ·|«Ø¥ß©ó \sqllib\logging ¥Ø¿ý¤U¡C 31.3.1 ¦w¸Ë¥ý¨M±ø¥ó ½Ð¦w¸Ë Java °õ¦æÀô¹Ò (JRE) ©Î Java Virtual Machine (JVM) ª©¥» 1.2.2 (©Î¥H ¤W)¡A¨Ã±N¥¦³]¦¨±zªº¹w³]¡C­Y­n«Ø¥ß JRE ª©¥»§@¬°±zªº¹w³]¡A½Ð±N 1.2.2 JRE ªº¸ô ®|·s¼W¨ì±zªº¨t²Î PATH ÅܼƤ¤ (¦p C:\JDKs\IBM\java12\bin;)¡C¦bÅܧó¹w³] JRE ¤§«á¡A½Ð±z°È¥²­«·s±Ò°Ê¹q¸£¡C­Y±z¥¼¦w¸Ë Java¡A ±z¥i¥H±q¦w¸Ë Data Warehouse Connector ªº CD ¨Ó¦w¸Ë¡C ------------------------------------------------------------------------ Query Patroller Administration Guide(µL¤¤¤åª©) ------------------------------------------------------------------------ 32.1 DB2 Query Patroller Client is a Separate Component The DB2 Query Patroller client is a separate component that is not part of the DB2 Administration client. This means that it is not installed during the installation of the DB2 Administration Client, as indicated in the Query Patroller Installation Guide. Instead, the Query Patroller client must be installed separately. The version and level of the Query Patroller client and the Query Patroller server must be the same. ------------------------------------------------------------------------ 32.2 Migrating from Version 6 of DB2 Query Patroller Using dqpmigrate The dqpmigrate command must be used if the Version 7 Query Patroller Server was installed over the Version 6 Query Patroller Server. For FixPak 2 or later, you do not have to run dqpmigrate manually as the installation of the FixPak runs this command for you. Without using this command, the existing users defined in v6 have no EXECUTE privileges on several new stored procedures added in Version 7. Note: dqpmigrate.bnd is found in the sqllib/bnd directory and dqpmigrate.exe is found in the sqllib/bin directory. To use dqpmigrate manually to grant the EXECUTE privileges, perform the following after installing the FixPak: 1. Bind the /sqllib/bnd/dqpmigrate.bnd package file to the database where the Query Patroller server has been installed by entering the following command: db2 bind dqpmigrate.bnd 2. Execute dqpmigrate by entering the following: dqpmigrate dbalias userid passwd ------------------------------------------------------------------------ 32.3 Enabling Query Management In the "Getting Started" chapter under "Enabling Query Management", the text should read: You must be the owner of the data base, or you must have SYSADM, SYSCTRL, or SYSMAINT authority to set database configuration parameters. ------------------------------------------------------------------------ 32.4 Location of Table Space for Control Tables In Chapter 1, System Overview, under DB2 Query Patroller Control Tables, the following text is to be added at the end of the section's first paragraph: The table space for the DB2 Query Patroller control tables must reside in a single-node nodegroup, or DB2 Query Patroller will not function properly. ------------------------------------------------------------------------ 32.5 New Parameters for dqpstart Command In Chapter 2, Getting Started, under Starting and Stopping DB2 Query Patroller, the following text is to be added following the last paragraph: New Parameters for the dqpstart command: RESTART parameter: Allows the user to replace the host name and/or the node type of the specified node in the dqpnodes.cfg file. DB2 Query Patroller will be started on this node. Note: Before running the DQPSTART command with the RESTART parameter, ensure the following: 1. DB2 Query Patroller is already stopped on the host that is going to be replaced. 2. DB2 Query Patroller is not already running on the new host. The syntax is as follows: dqpstart nodenum node_num restart hostname server | agent | none ADDNODE parameter: Allows the user to add a new node to the dqpnodes.cfg file. DB2 Query Patroller will be started on this node after the new node entry is added to the dqpnodes.cfg file. The syntax is as follows: dqpstart nodenum node_num addnode hostname server | agent | none DROPNODE parameter: Allows the user to drop a node from the dqnodes.cfg file. DB2 Query Patroller will be stopped on this node before the node entry is dropped from the dqpnodes.cfg file. The syntax is as follows: dqpstop nodenum node_num dropnode ------------------------------------------------------------------------ 32.6 New Parameter for iwm_cmd Command A new -v parameter has been added to the iwm_cmd command to allow the user to recover the status of the jobs that were running on the node specified. Only jobs on an inactive node are allowed to be recovered. This command should be issued when there is a node failure and there are some jobs running on that node or being cancelled at the time. Jobs that were in "Running" state will be resubmitted and set back to "Queued" state. Jobs that were in "Cancelling" state will be set to "Cancelled" state. The partial syntax is as follows: >>-iwm_cmd----+---------------------------------+---------------> '--u--user_id--+---------------+--' '--p--password--' >-----v--node_id_to_recover------------------------------------>< node_id_to_recover Specifies the node on which the jobs are to be recovered. ------------------------------------------------------------------------ 32.7 New Registry Variable: DQP_RECOVERY_INTERVAL There is a new registry variable called DQP_RECOVERY_INTERVAL which is used to set the interval of time in minutes that the iwm_scheduler searches for recovery files. The default is 60 minutes. ------------------------------------------------------------------------ 32.8 Starting Query Administrator In the "Using QueryAdministrator to Administer DB2 Query Patroller" chapter, instructions are provided for starting QueryAdministrator from the Start menu on Windows. The first step provides the following text: If you are using Windows, you can select DB2 Query Patroller --> QueryAdministrator from the IBM DB2 program group. The text should read: DB2 Query Patroller --> QueryAdmin. ------------------------------------------------------------------------ 32.9 User Administration In the "User Administration" section of the "Using QueryAdministrator to Administer DB2 Query Patroller" chapter, the definition for the Maximum Elapsed Time parameter indicates that if the value is set to 0 or -1, the query will always run to completion. This parameter cannot be set to a negative value. The text should indicate that if the value is set to 0, the query will always run to completion. The Max Queries parameter specifies the maximum number of jobs that the DB2 Query Patroller will run simultaneously. Max Queries must be an integer within the range of 0 to 32767. ------------------------------------------------------------------------ 32.10 Creating a Job Queue In the "Job Queue Administration" section of the "Using QueryAdministrator to Administer DB2 Query Patroller" chapter, the screen capture in the steps for "Creating a Job Queue" should be displayed after the second step. The Information about new Job Queue window opens once you click New on the Job Queue Administration page of the QueryAdministrator tool. References to the Job Queues page or the Job Queues tab should read Job Queue Administration page and Job Queue Administration tab, respectively. ------------------------------------------------------------------------ 32.11 Using the Command Line Interface For a user with User authority on the DB2 Query Patroller system to submit a query and have a result table created, the user may require CREATETAB authority on the database. The user does not require CREATETAB authority on the database if the DQP_RES_TBLSPC profile variable is left unset, or if the DQP_RES_TBLSPC profile variable is set to the name of the default table space. The creation of the result tables will succeed in this case because users have the authority to create tables in the default table space. ------------------------------------------------------------------------ 32.12 Query Enabler Notes * When using third-party query tools that use a keyset cursor, queries will not be intercepted. In order for Query Enabler to intercept these queries, you must modify the db2cli.ini file to include: [common] DisableKeySetCursor=1 * For AIX clients, please ensure that the environment variable LIBPATH is not set. Library libXext.a, shipped with the JDK, is not compatible with the library in the /usr/lib/X11 subdirectory. This will cause problems with the Query Enabler GUI. ------------------------------------------------------------------------ 32.13 DB2 Query Patroller Tracker may Return a Blank Column Page FixPak 3 includes a fix for the DB2 Query Patroller Tracker. The Tracker will now correctly report queries which hit no columns. An example of such a query is "SELECT COUNT(*) FROM ...". Since this kind of query does not hit any column in the table, the Tracker will present a blank page for the column page. This blank column page is not a defect. ------------------------------------------------------------------------ 32.14 Query Patroller and Replication Tools Query Patroller Version 7 will intercept the queries of the replication tools (asnapply, asnccp, djra and analyze) and cause these tools to malfunction. A workaround is to disable dynamic query management when running these tools. ------------------------------------------------------------------------ 32.15 Appendix B. Troubleshooting DB2 Query Patroller Clients In Appendix B, Troubleshooting DB2 Query Patroller Clients, section: Common Query Enabler Problems, problem #2, the text of the first bullet is replaced with: Ensure that the path setting includes jre. ------------------------------------------------------------------------ À³¥Îµ{¦¡¶}µo ³¡¥÷¥Ø¿ý * Administrative API Reference (µL¤¤¤åª©) o 33.1 db2ArchiveLog (new API) + db2ArchiveLog o 33.2 db2ConvMonStream o 33.3 db2DatabasePing (new API) + db2DatabasePing - Ping Database o 33.4 db2HistData o 33.5 db2HistoryOpenScan o 33.6 db2XaGetInfo (new API) + db2XaGetInfo - Get Information for Resource Manager o 33.7 db2XaListIndTrans (new API that supercedes sqlxphqr) + db2XaListIndTrans - List Indoubt Transactions o 33.8 db2GetSnapshot - Get Snapshot o 33.9 Forget Log Record o 33.10 sqlaintp - Get Error Message o 33.11 sqlbctcq - Close Tablespace Container Query o 33.12 sqlubkp - Backup Database o 33.13 sqlureot - Reorganize Table o 33.14 sqlurestore - Restore Database o 33.15 Documentation Error Regarding AIX Extended Shared Memory Support (EXTSHM) o 33.16 SQLFUPD + 33.16.1 locklist o 33.17 SQLEDBDESC o 33.18 SQLFUPD Documentation Error * À³¥Îµ{¦¡¶}µo¤â¥U o 34.1 ²Ä 1 ³¹ ²¤¶ + 34.1.1 ¤ä´©³nÅé + 34.1.2 ½d¨Òµ{¦¡ o 34.2 ²Ä 3 ³¹ ¶}µo DB2 À³¥Îµ{¦¡ªº¤@¯ë¸ê°T + 34.2.1 ¶}µoÀɮסBmake ÀÉ©M¿ù»~Àˬdªº¤½¥Îµ{¦¡ o 34.3 ²Ä 4 ³¹ ¶}µo Java Applets ©MÀ³¥Îµ{¦¡ + 34.3.1 ³]©wÀô¹Ò + 34.3.1.1 OS/2 ¤Wªº JDK ¼h¦¸ + 34.3.1.2 HP-UX ¤Wªº Java2 o 34.4 ²Ä 5 ³¹ ¶}µo SQL µ{§Ç + 34.4.1 ³]©w SQL µ{§ÇÀô¹Ò + 34.4.2 ³]©w½sĶ¾¹Àô¹ÒÅÜ¼Æ + 34.4.3 ¦Û­q½sĶ«ü¥O + 34.4.4 «O¯d¤¤¶¡ÀÉ + 34.4.5 ³Æ¥÷©M´_¸m + 34.4.6 «Ø¥ß SQL µ{§Ç + 34.4.7 ©I¥sÀx¦sµ{§Ç + 34.4.8 ¤À°e¤w½sĶªº SQL µ{§Ç o 34.5 ²Ä 7 ³¹ ¶}µo HP-UX À³¥Îµ{¦¡ + 34.5.1 HP-UX C + 34.5.2 HP-UX C++ o 34.6 ²Ä 9 ³¹ ¶}µo OS/2 À³¥Îµ{¦¡ + 34.6.1 VisualAge C++ for OS/2 ª©¥» 4.0 o 34.7 ²Ä 10 ³¹ ¶}µo PTX À³¥Îµ{¦¡ + 34.7.1 ptx/C++ o 34.8 ²Ä 12 ³¹ ¶}µo Solaris À³¥Îµ{¦¡ + 34.8.1 SPARCompiler C++ o 34.9 ²Ä 13 ³¹ «Ø¸m Windows 32 ¦ì¤¸§@·~¨t²ÎªºÀ³¥Îµ{¦¡ + 34.9.1 VisualAge C++ ª©¥» 4.0 * Application Development Guide(µL¤¤¤åª©) o 35.1 Chapter 2. Coding a DB2 Application + 35.1.1 Activating the IBM DB2 Universal Database Project and Tool Add-ins for Microsoft Visual C++ o 35.2 Chapter 6. Common DB2 Application Techniques + 35.2.1 Generating Sequential Values + 35.2.1.1 Controlling Sequence Behavior + 35.2.1.2 Improving Performance with Sequence Objects + 35.2.1.3 Comparing Sequence Objects and Identity Columns o 35.3 Chapter 7. Stored Procedures + 35.3.1 DECIMAL Type Fails in Linux Java Routines + 35.3.2 Using Cursors in Recursive Stored Procedures + 35.3.3 Writing OLE Automation Stored Procedures o 35.4 Chapter 12. Working with Complex Objects: User-Defined Structured Types + 35.4.1 Inserting Structured Type Attributes Into Columns o 35.5 Chapter 13. Using Large Objects (LOBs) + 35.5.1 Large object (LOBs) support in federated database systems + 35.5.1.1 How DB2 retrieves LOBs + 35.5.1.2 How applications can use LOB locators + 35.5.1.3 Restrictions on LOBs + 35.5.1.4 Mappings between LOB and non-LOB data types + 35.5.2 Tuning the system o 35.6 Part 5. DB2 Programming Considerations + 35.6.1 IBM DB2 OLE DB Provider o 35.7 Chapter 20. Programming in C and C++ + 35.7.1 C/C++ Types for Stored Procedures, Functions, and Methods o 35.8 Chapter 21. Programming in Java + 35.8.1 Java Method Signature in PARAMETER STYLE JAVA Procedures and Functions + 35.8.2 Connecting to the JDBC Applet Server o 35.9 Appendix B. Sample Programs * CLI Guide and Reference(µL¤¤¤åª©) o 36.1 Binding Database Utilities Using the Run-Time Client o 36.2 Using Static SQL in CLI Applications o 36.3 Limitations of JDBC/ODBC/CLI Static Profiling o 36.4 ADT Transforms o 36.5 Chapter 3. Using Advanced Features + 36.5.1 Writing Multi-Threaded Applications + 36.5.2 Scrollable Cursors + 36.5.2.1 Server-side Scrollable Cursor Support for OS/390 + 36.5.3 Using Compound SQL + 36.5.4 Using Stored Procedures + 36.5.4.1 Writing a Stored Procedure in CLI + 36.5.4.2 CLI Stored Procedures and Autobinding o 36.6 Chapter 4. Configuring CLI/ODBC and Running Sample Applications + 36.6.1 Configuration Keywords o 36.7 Chapter 5. DB2 CLI Functions + 36.7.1 SQLBindFileToParam - Bind LOB File Reference to LOB Parameter + 36.7.2 SQLNextResult - Associate Next Result Set with Another Statement Handle + 36.7.2.1 Purpose + 36.7.2.2 Syntax + 36.7.2.3 Function Arguments + 36.7.2.4 Usage + 36.7.2.5 Return Codes + 36.7.2.6 Diagnostics + 36.7.2.7 Restrictions + 36.7.2.8 References o 36.8 Appendix D. Extended Scalar Functions + 36.8.1 Date and Time Functions o 36.9 Appendix K. Using the DB2 CLI/ODBC/JDBC Trace Facility * °T®§°Ñ¦Ò¤â¥U o 37.1 ¨ú±o°T®§»P SQLSTATE »¡©ú o 37.2 ¦b DB2 Connect ÅÜ§óªº SQLCODE ­«·s¹ï¬M o 37.3 ·sªº»PÅܧ󪺰T®§ + 37.3.1 ©I¥s¼h¦¸¤¶­± (CLI) °T®§ + 37.3.2 DB2 °T®§ + 37.3.3 DBI °T®§ + 37.3.4 ¸ê®Æ­ÜÀx¤¤¤ß (DWC) °T®§ + 37.3.5 SQL °T®§ o 37.4 §ó¥¿ SQLSTATES * SQL Reference(µL¤¤¤åª©) o 38.1 SQL Reference is Provided in One PDF File o 38.2 Chapter 3. Language Elements + 38.2.1 Naming Conventions and Implicit Object Name Qualifications + 38.2.2 DATALINK Assignments + 38.2.3 Expressions + 38.2.3.1 Syntax Diagram + 38.2.3.2 OLAP Functions + 38.2.3.3 Sequence Reference o 38.3 Chapter 4. Functions + 38.3.1 Enabling the New Functions and Procedures + 38.3.2 Scalar Functions + 38.3.2.1 ABS or ABSVAL + 38.3.2.2 DECRYPT_BIN and DECRYPT_CHAR + 38.3.2.3 ENCRYPT + 38.3.2.4 GETHINT + 38.3.2.5 IDENTITY_VAL_LOCAL + 38.3.2.6 LCASE and UCASE (Unicode) + 38.3.2.7 MQPUBLISH + 38.3.2.8 MQREAD + 38.3.2.9 MQRECEIVE + 38.3.2.10 MQSEND + 38.3.2.11 MQSUBSCRIBE + 38.3.2.12 MQUNSUBSCRIBE + 38.3.2.13 MULTIPLY_ALT + 38.3.2.14 REC2XML + 38.3.2.15 ROUND + 38.3.2.16 WEEK_ISO + 38.3.3 Table Functions + 38.3.3.1 MQREADALL + 38.3.3.2 MQRECEIVEALL + 38.3.4 Procedures + 38.3.4.1 GET_ROUTINE_SAR + 38.3.4.2 PUT_ROUTINE_SAR o 38.4 Chapter 5. Queries + 38.4.1 select-statement/syntax diagram + 38.4.2 select-statement/fetch-first-clause o 38.5 Chapter 6. SQL Statements + 38.5.1 Update of the Partitioning Key Now Supported + 38.5.1.1 Statement: ALTER TABLE + 38.5.1.2 Statement: CREATE TABLE + 38.5.1.3 Statement: DECLARE GLOBAL TEMPORARY TABLE PARTITIONING KEY (column-name,...) + 38.5.1.4 Statement: UPDATE + 38.5.2 Larger Index Keys for Unicode Databases + 38.5.2.1 ALTER TABLE + 38.5.2.2 CREATE INDEX + 38.5.2.3 CREATE TABLE + 38.5.3 ALTER SEQUENCE + ALTER SEQUENCE + 38.5.4 ALTER TABLE + 38.5.5 Compound SQL (Embedded) + 38.5.6 Compound Statement (Dynamic) + Compound Statement (Dynamic) + 38.5.7 CREATE FUNCTION (Source or Template) + 38.5.8 CREATE FUNCTION (SQL Scalar, Table or Row) + 38.5.9 CREATE METHOD + CREATE METHOD + 38.5.10 CREATE SEQUENCE + CREATE SEQUENCE + 38.5.11 CREATE TRIGGER + CREATE TRIGGER + 38.5.12 CREATE WRAPPER + 38.5.13 DECLARE CURSOR + 38.5.14 DELETE + 38.5.15 DROP + 38.5.16 GRANT (Sequence Privileges) + GRANT (Sequence Privileges) + 38.5.17 INSERT + 38.5.18 SELECT INTO + 38.5.19 SET ENCRYPTION PASSWORD + SET ENCRYPTION PASSWORD + 38.5.20 SET transition-variable + SET Variable + 38.5.21 UPDATE o 38.6 Chapter 7. SQL Procedures now called Chapter 7. SQL Control Statements + 38.6.1 SQL Procedure Statement + SQL Procedure Statement + 38.6.2 FOR + FOR + 38.6.3 Compound Statement changes to Compound Statement (Procedure) + 38.6.4 RETURN + RETURN + 38.6.5 SIGNAL + SIGNAL o 38.7 Appendix A. SQL Limits o 38.8 Appendix D. Catalog Views + 38.8.1 SYSCAT.SEQUENCES * IBM DB2 Àx¦sµ{§Ç«Ø¸m¾¹ o 39.1 Java 1.2 ¤ä´©Àx¦sµ{§Ç«Ø¸m¾¹ o 39.2 DB2 Àx¦sµ{§Çªº»·ºÝ°£¿ù o 39.3 ¦b Windows¡BOS/2 ©Î UNIX ¥­¥x¤W¶}µo SQL µ{§Ç o 39.4 ¦b Solaris ¥­¥x¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹ o 39.5 ¤wª¾°ÝÃD»P­­¨î o 39.6 ¦bÁcÅ餤¤å»y¨¥Àô¹Ò¤U¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹ o 39.7 UNIX (AIX¡BSun Solaris¡BLinux) ¦w¸Ë»PÀx¦sµ{§Ç«Ø¸m¾¹ o 39.8 «Ø¸m OS/390 ªº SQL Àx¦sµ{§Ç o 39.9 °£¿ù SQL Àx¦sµ{§Ç o 39.10 ¶×¥X Java Àx¦sµ{§Ç o 39.11 ¦b OS/390 ¤W´¡¤JÀx¦sµ{§Ç o 39.12 ¦b¤u§@¯¸¦øªA¾¹¤¤³]©w SQL Àx¦sµ{§Çªº«Ø¸m¿ï¶µ o 39.13 ¦Û°Ê´_·s OS/390 ¤WÀx¦sµ{§Ç«Ø¸mªº WLM ¦ì§}ªÅ¶¡ o 39.14 ¦b OS/390 ¶}µo Java Àx¦sµ{§Ç o 39.15 ¬° MQ Series »P OLE DB «Ø¸m DB2 ªí®æ¨Ï¥ÎªÌ©w¸q¥\¯à (UDF) * Unicode §ó·s o 40.1 ²¤¶ + 40.1.1 DB2 Unicode ¸ê®Æ®w¤ÎÀ³¥Îµ{¦¡ + 40.1.2 ¤å¥ó§ó·s o 40.2 SQL Reference(µL¤¤¤åª©) + 40.2.1 Chapter 3 Language Elements + 40.2.1.1 Promotion of Data Types + 40.2.1.2 Casting Between Data Types + 40.2.1.3 Assignments and Comparisons + 40.2.1.4 Rules for Result Data Types + 40.2.1.5 Rules for String Conversions + 40.2.1.6 Expressions + 40.2.1.7 Predicates + 40.2.2 Chapter 4 Functions + 40.2.2.1 Scalar Functions o 40.3 CLI Guide and Reference(µL¤¤¤åª©) + 40.3.1 Chapter 3. Using Advanced Features + 40.3.1.1 Writing a DB2 CLI Unicode Application + 40.3.2 Appendix C. DB2 CLI and ODBC + 40.3.2.1 ODBC Unicode Applications o 40.4 Data Movement Utilities Guide and Reference(µL¤¤¤åª©) + 40.4.1 Appendix C. Export/Import/Load Utility File Formats ------------------------------------------------------------------------ Administrative API Reference (µL¤¤¤åª©) ------------------------------------------------------------------------ 33.1 db2ArchiveLog (new API) db2ArchiveLog Closes and truncates the active log file for a recoverable database. If user exit is enabled, issues an archive request. Authorization One of the following: * sysadm * sysctrl * sysmaint * dbadm Required Connection This API automatically establishes a connection to the specified database. If a connection to the specified database already exists, the API will return an error. Version db2ApiDf.h C API Syntax /* File: db2ApiDf.h */ /* API: Archive Active Log */ SQL_API_RC SQL_API_FN db2ArchiveLog ( db2Uint32 version, void *pDB2ArchiveLogStruct, struct sqlca * pSqlca); typedef struct { char *piDatabaseAlias; char *piUserName; char *piPassword; db2Uint16 iAllNodeFlag; db2Uint16 iNumNodes; SQL_PDB_NODE_TYPE *piNodeList; db2Uint32 iOptions; } Generic API Syntax /* File: db2ApiDf.h */ /* API: Archive Active Log */ SQL_API_RC SQL_API_FN db2gArchiveLog ( db2Uint32 version, void *pDB2ArchiveLogStruct, struct sqlca * pSqlca); typedef struct { db2Uint32 iAliasLen; db2Uint32 iUserNameLen; db2Uint32 iPasswordLen; char *piDatabaseAlias; char *piUserName; char *piPassword; db2Uint16 iAllNodeFlag; db2Uint16 iNumNodes; SQL_PDB_NODE_TYPE *piNodeList; db2Uint32 iOptions; } API Parameters version Input. Specifies the version and release level of the variable passed in as the second parameter, pDB2ArchiveLogStruct. pDB2ArchiveLogStruct Input. A pointer to the db2ArchiveLogStruct structure. pSqlca Output. A pointer to the sqlca structure. iAliasLen Input. A 4-byte unsigned integer representing the length in bytes of the database alias. iUserNameLen A 4-byte unsigned integer representing the length in bytes of the user name. Set to zero if no user name is used. iPasswordLen Input. A 4-byte unsigned integer representing the length in bytes of the password. Set to zero if no password is used. piDatabaseAlias Input. A string containing the database alias (as cataloged in the system database directory) of the database for which the active log is to be archived. piUserName Input. A string containing the user name to be used when attempting a connection. piPassword Input. A string containing the password to be user when attempting a connection. iAllNodeFlag MPP only. Input. Flag indicating whether the operation should apply to all nodes listed in the db2nodes.cfg file. Valid values are: DB2ARCHIVELOG_NODE_LIST Apply to nodes in a node list that is passed in piNodeList. DB2ARCHIVELOG_ALL_NODES Apply to all nodes. piNodeList should be NULL. This is the default value. DB2ARCHIVELOG_ALL_EXCEPT Apply to all nodes except those in the node list passed in piNodeList. iNumNodes MPP only. Input. Specifies the number of nodes in the piNodeList array. piNodeList MPP only. Input. A pointer to an array of node numbers against which to apply the archive log operation. iOptions Input. Reserved for future use. ------------------------------------------------------------------------ 33.2 db2ConvMonStream In the Usage Notes, the structure for the snapshot variable datastream type SQLM_ELM_SUBSECTION should be sqlm_subsection. ------------------------------------------------------------------------ 33.3 db2DatabasePing (new API) db2DatabasePing - Ping Database Tests the network response time of the underlying connectivity between a client and a database server. This API can be used by an application when a host database server is accessed via DB2 Connect either directly or through a gateway. Authorization None Required Connection Database Version db2ApiDf.h C API Syntax /* File: db2ApiDf.h */ /* API: Ping Database */ /* ... */ SQL_API_RC SQL_API_FN db2DatabasePing ( db2Uint32 versionNumber, void *pParmStruct, struct sqlca *pSqlca); /* ... */ typedef SQL_STRUCTURE db2DatabasePingStruct { char iDbAlias[SQL_ALIAS_SZ + 1]; db2Uint16 iNumIterations; db2Uint32 *poElapsedTime; } Generic API Syntax /* File: db2ApiDf.h */ /* API: Ping Database */ /* ... */ SQL_API_RC SQL_API_FN db2gDatabasePing ( db2Uint32 versionNumber, void *pParmStruct, struct sqlca *pSqlca); /* ... */ typedef SQL_STRUCTURE db2gDatabasePingStruct { db2Uint16 iDbAliasLength; char iDbAlias[SQL_ALIAS_SZ]; db2Uint16 iNumIterations; db2Uint32 *poElapsedTime; } API Parameters versionNumber Input. Version and release of the DB2 Universal Database or DB2 Connect product that the application is using. Note: Constant db2Version710 or higher should be used for DB2 Version 7.1 or higher. iDbAliasLength Input. Length of the database alias name. Note: This parameter is not currently used. It is reserved for future use. iDbAlias Input. Database alias name. Note: This parameter is not currently used. It is reserved for future use. iNumIterations Input. Number of test request iterations. The value must be between 1 and 32767 inclusive. poElapsedTime Output. A pointer to an array of 32-bit integers where the number of elements is equal to iNumIterations. Each element in the array will contain the elapsed time in microseconds for one test request iteration. Note: The application is responsible for allocating the memory for this array prior to calling this API. pSqlca Output. A pointer to the sqlca structure. For more information about this structure, see the Administrative API Reference. Usage Notes A database connection must exist before invoking this API, otherwise an error will result. This function can also be invoked using the PING command. For a description of this command, see the Command Reference. ------------------------------------------------------------------------ 33.4 db2HistData The following entries should be added to Table 11. Fields in the db2HistData Structure: Field Name Data Type Description oOperation char See Table 12. oOptype char See Table 13. The following table will be added following Table 11. Table 12. Valid event values for oOperation in the db2HistData Structure Value Description C Definition COBOL/FORTRAN Definition A add DB2HISTORY_OP_ADD_TABLESPACE DB2HIST_OP_ADD_TABLESPACE tablespace B backup DB2HISTORY_OP_BACKUP DB2HIST_OP_BACKUP C load-copy DB2HISTORY_OP_LOAD_COPY DB2HIST_OP_LOAD_COPY D dropped DB2HISTORY_OP_DROPPED_TABLE DB2HIST_OP_DROPPED_TABLE table F roll DB2HISTORY_OP_ROLLFWD DB2HIST_OP_ROLLFWD forward G reorganize DB2HISTORY_OP_REORG DB2HIST_OP_REORG table L load DB2HISTORY_OP_LOAD DB2HIST_OP_LOAD N rename DB2HISTORY_OP_REN_TABLESPACE DB2HIST_OP_REN_TABLESPACE tablespace O drop DB2HISTORY_OP_DROP_TABLESPACEDB2HIST_OP_DROP_TABLESPACE tablespace Q quiesce DB2HISTORY_OP_QUIESCE DB2HIST_OP_QUIESCE R restore DB2HISTORY_OP_RESTORE DB2HIST_OP_RESTORE S run DB2HISTORY_OP_RUNSTATS DB2HIST_OP_RUNSTATS statistics T alter DB2HISTORY_OP_ALT_TABLESPACE DB2HIST_OP_ALT_TBS tablespace U unload DB2HISTORY_OP_UNLOAD DB2HIST_OP_UNLOAD The following table will also be added. Table 13. Valid oOptype values db2HistData Structure oOperationoOptype Description C/COBOL/FORTRAN Definition B F Offline DB2HISTORY_OPTYPE_OFFLINE N Online DB2HISTORY_OPTYPE_ONLINE I Incremental offline DB2HISTORY_OPTYPE_INCR_OFFLINE O Incremental online DB2HISTORY_OPTYPE_INCR_ONLINE D Delta offline DB2HISTORY_OPTYPE_DELTA_OFFLINE E Delta online DB2HISTORY_OPTYPE_DELTA_ONLIN F E End of log DB2HISTORY_OPTYPE_EOL P Point in time DB2HISTORY_OPTYPE_PIT L I Insert DB2HISTORY_OPTYPE_INSERT R Replace DB2HISTORY_OPTYPE_REPLACE Q S Quiesce share DB2HISTORY_OPTYPE_SHARE U Quiesce update DB2HISTORY_OPTYPE_UPDATE X Quiesce exclusive DB2HISTORY_OPTYPE_EXCL Z Quiesce reset DB2HISTORY_OPTYPE_RESET R F Offline DB2HISTORY_OPTYPE_OFFLINE N Online DB2HISTORY_OPTYPE_ONLINE I Incremental offline DB2HISTORY_OPTYPE_INCR_OFFLINE O Incremental online DB2HISTORY_OPTYPE_INCR_ONLINE T C Add containers DB2HISTORY_OPTYPE_ADD_CONT R Rebalance DB2HISTORY_OPTYPE_REB ------------------------------------------------------------------------ 33.5 db2HistoryOpenScan The following value will be added to the iCallerAction parameter. DB2HISTORY_LIST_CRT_TABLESPACE Select only the CREATE TABLESPACE and DROP TABLESPACE records that pass the other filters. ------------------------------------------------------------------------ 33.6 db2XaGetInfo (new API) db2XaGetInfo - Get Information for Resource Manager Extracts information for a particular resource manager once an xa_open call has been made. Authorization None Required Connection Database Version sqlxa.h C API Syntax /* File: sqlxa.h */ /* API: Get Information for Resource Manager */ /* ... */ SQL_API_RC SQL_API_FN db2XaGetInfo ( db2Uint32 versionNumber, void * pParmStruct, struct sqlca * pSqlca); typedef SQL_STRUCTURE db2XaGetInfoStruct { db2int32 iRmid; struct sqlca oLastSqlca; } db2XaGetInfoStruct; API Parameters versionNumber Input. Specifies the version and release level of the structure passed in as the second parameter, pParmStruct. pParmStruct Input. A pointer to the db2XaGetInfoStruct structure. pSqlca Output. A pointer to the sqlca structure. For more information about this structure, see the Administrative API Reference. iRmid Input. Specifies the resource manager for which information is required. oLastSqlca Output. Contains the sqlca for the last XA API call. Notes: Only the sqlca that resulted from the last failing XA API can be retrieved. ------------------------------------------------------------------------ 33.7 db2XaListIndTrans (new API that supercedes sqlxphqr) db2XaListIndTrans - List Indoubt Transactions Provides a list of all indoubt transactions for the currently connected database. Scope This API affects only the node on which it is issued. Authorization One of the following: * sysadm * dbadm Required Connection Database Notes db2ApiDf.h C API Syntax /* File: db2ApiDf.h */ /* API: List Indoubt Transactions */ /* ... */ SQL_API_RC SQL_API_FN db2XaListIndTrans ( db2Uint32 versionNumber, void * pParmStruct, struct sqlca * pSqlca); typedef SQL_STRUCTURE db2XaListIndTransStruct { db2XaRecoverStruct * piIndoubtData; db2Uint32 iIndoubtDataLen; db2Uint32 oNumIndoubtsReturned; db2Uint32 oNumIndoubtsTotal; db2Uint32 oReqBufferLen; } db2XaListIndTransStruct; typedef SQL_STRUCTURE db2XaRecoverStruct { sqluint32 timestamp; SQLXA_XID xid; char dbalias[SQLXA_DBNAME_SZ]; char applid[SQLXA_APPLID_SZ]; char sequence_no[SQLXA_SEQ_SZ]; char auth_id[SQL_USERID_SZ]; char log_full; char connected; char indoubt_status; char originator; char reserved[8]; } db2XaRecoverStruct; API Parameters versionNumber Input. Specifies the version and release level of the structure passed in as the second parameter, pParmStruct. pParmStruct Input. A pointer to the db2XaListIndTransStruct structure. pSqlca Output. A pointer to the sqlca structure. For more information about this structure, see the Administrative API Reference. piIndoubtData Input. A pointer to the application supplied buffer where indoubt data will be returned. The indoubt data is in db2XaRecoverStruct format. The application can traverse the list of indoubt transactions by using the size of the db2XaRecoverStruct structure, starting at the address provided by this parameter. If the value is NULL, DB2 will calculate the size of the buffer required and return this value in oReqBufferLen. oNumIndoubtsTotal will contain the total number of indoubt transactions. The application may allocate the required buffer size and issue the API again. oNumIndoubtsReturned Output. The number of indoubt transaction records returned in the buffer specified by pIndoubtData. oNumIndoubtsTotal Output. The Total number of indoubt transaction records available at the time of API invocation. If the piIndoubtData buffer is too small to contain all the records, oNumIndoubtsTotal will be greater than the total for oNumIndoubtsReturned. The application may reissue the API in order to obtain all records. Notes: This number may change between API invocations as a result of automatic or heuristic indoubt transaction resynchronisation, or as a result of other transactions entering the indoubt state. oReqBufferLen Output. Required buffer length to hold all indoubt transaction records at the time of API invocation. The application can use this value to determine the required buffer size by calling the API with pIndoubtData set to NULL. This value can then be used to allocate the required buffer, and the API can be issued with pIndoubtData set to the address of the allocated buffer. Notes: The required buffer size may change between API invocations as a result of automatic or heuristic indoubt transaction resynchronisation, or as a result of other transactions entering the indoubt state. The application may allocate a larger buffer to account for this. timestamp Output. Specifies the time when the transaction entered the indoubt state. xid Output. Specifies the XA identifier assigned by the transaction manager to uniquely identify a global transaction. dbalias Output. Specifies the alias of the database where the indoubt transaction is found. applid Output. Specifies the application identifier assigned by the database manager for this transaction. sequence_no Output. Specifies the sequence number assigned by the database manager as an extension to the applid. auth_id Output. Specifies the authorization ID of the user who ran the transaction. log_full Output. Indicates whether or not this transaction caused a log full condition. Valid values are: SQLXA_TRUE This indoubt transaction caused a log full condition. SQLXA_FALSE This indoubt transaction did not cause a log full condition. connected Output. Indicates whether or not the application is connected. Valid values are: SQLXA_TRUE The transaction is undergoing normal syncpoint processing, and is waiting for the second phase of the two-phase commit. SQLXA_FALSE The transaction was left indoubt by an earlier failure, and is now waiting for resynchronisation from the transaction manager. indoubt_status Output. Indicates the status of this indoubt transaction. Valid values are: SQLXA_TS_PREP The transaction is prepared. The connected parameter can be used to determine whether the transaction is waiting for the second phase of normal commit processing or whether an error occurred and resynchronisation with the transaction manager is required. SQLXA_TS_HCOM The transaction has been heuristically committed. SQLXA_TS_HROL The transaction has been heuristically rolled back. SQLXA_TS_MACK The transaction is missing commit acknowledgement from a node in a partitioned database. SQLXA_TS_END The transaction has ended at this database. This transaction may be re-activated, committed, or rolled back at a later time. It is also possible that the transaction manager encountered an error and the transaction will not be completed. If this is the case, this transaction requires heuristic actions, because it may be holding locks and preventing other applications from accessing data. Usage Notes A typical application will perform the following steps after setting the current connection to the database or to the partitioned database coordinator node: 1. Call db2XaListIndTrans with piIndoubtData set to NULL. This will return values in oReqBufferLen and oNumIndoubtsTotal. 2. Use the returned value in oReqBufferLen to allocate a buffer. This buffer may not be large enough if there are additional indoubt transactions because the initial invocation of this API to obtain oReqBufferLen. The application may provide a buffer larger than oReqBufferLen. 3. Determine if all indoubt transaction records have been obtained. This can be done by comparing oNumIndoubtsReturned to oNumIndoubtTotal. If oNumIndoubtsTotal is greater than oNumIndoubtsReturned, the application can repeat the above steps. See Also "sqlxhfrg - Forget Transaction Status", "sqlxphcm - Commit an Indoubt Transaction", and "sqlxphrl - Roll Back an Indoubt Transaction" in the Administrative API Reference. ------------------------------------------------------------------------ 33.8 db2GetSnapshot - Get Snapshot The syntax for the db2GetSnapshot API should be as follows: int db2GetSnapshot( unsigned char version; db2GetSnapshotData *data, struct sqlca *sqlca); The parameters described in data are: typedef struct db2GetSnapshotData{ sqlma *piSqlmaData; sqlm_collected *poCollectedData void *poBuffer; db2uint32 iVersion; db2int32 iBufferSize; db2uint8 iStoreResult; db2uint16 iNodeNumber; db2uint32 *poOutputFormat; }db2GetSnapshotData; ------------------------------------------------------------------------ 33.9 Forget Log Record The following information will be added to Appendix F following the MPP Subordinator Prepare section. This log record is written after a rollback of indoubt transactions or after a commit of two-phase commit. The log record is written to mark the end of the transaction and releases any log resources held. In order for the transaction to be forgotten, it must be in a heuristically completed state. Table 21. Forget Log Record Structure Description Type Offset (Bytes) Log header LogManagerLogRecordHeader 0(20) time sqluint64 20(8) Total Length: 28 bytes ------------------------------------------------------------------------ 33.10 sqlaintp - Get Error Message The following usage note is to be added to the description of this API: In a multi-threaded application, sqlaintp must be attached to a valid context; otherwise, the message text for SQLCODE -1445 cannot be obtained. ------------------------------------------------------------------------ 33.11 sqlbctcq - Close Tablespace Container Query Load is not a valid Authorization level for this API. ------------------------------------------------------------------------ 33.12 sqlubkp - Backup Database For the BackupType parameter the SQLUB_FULL value will be replaced by the SQLUB_DB. A backup of all tablespaces in the database will be taken. To support the new incremental backup functionality the SQLUB_INCREMENTAL and SQLUB_DELTA parameters will also be added. An incremental backup image is a copy of all database data which has changed since the most recent successful, full backup. A delta backup image is a copy of all database data that has changed since the most recent successful backup of any type ------------------------------------------------------------------------ 33.13 sqlureot - Reorganize Table The following sentence will be added to the Usage Notes: REORGANIZE TABLE cannot use an index that is based on an index extension. ------------------------------------------------------------------------ 33.14 sqlurestore - Restore Database For the RestoreType parameter the SQLUD_FULL value will be replaced by the SQLUD_DB. A restore of all table spaces in the database will be taken. This will be run offline. To support the new incremental restore functionality the SQLUD_INCREMENTAL parameter will also be added. An incremental backup image is a copy of all database data which has changed since the most recent successful full backup. ------------------------------------------------------------------------ 33.15 Documentation Error Regarding AIX Extended Shared Memory Support (EXTSHM) In "Appendix E. Threaded Applications with Concurrent Access", Note 2 should now read: 2. By default, AIX does not permit 32-bit applications to attach to more than 11 shared memory segments per process, of which a maximum of 10 can be used for local DB2 connections. To use EXTSHM with DB2, do the following: In client sessions: export EXTSHM=ON When starting DB2: export EXTSHM=ON db2set DB2ENVLIST=EXTSHM db2start On EEE, also add the following lines to sqllib/db2profile: EXTSHM=ON export EXTSHM ------------------------------------------------------------------------ 33.16 SQLFUPD 33.16.1 locklist The name of the token has changed from SQLF_DBTN_LOCKLIST to SQLF_DBTN_LOCK_LIST. The locklist parameter has been changed from a SMALLINT to a 64-bit unsigned INTEGER. The following addition should be made to the table of Updatable Database Configuration Parameters. Parameter Name Token Token Value Data Type locklist SQLF_DBTN_LOCK_LIST704 Uint64 The new maximum for this parameter is 524 288. ------------------------------------------------------------------------ 33.17 SQLEDBDESC Two values will be added to the list of valid values for SQLDBCSS (defined in sqlenv). They are: SQL_CS_SYSTEM_NLSCHAR Collating sequence from system using the NLS version of compare routines for character types. SQL_CS_USER_NLSCHAR Collating sequence from user using the NLS version of compare routines for character types. ------------------------------------------------------------------------ 33.18 SQLFUPD Documentation Error In "Chapter 3. Data Structures", Table 53. Updatable Database Configuration Parameters incorrectly lists the token value for dbheap as 701. The correct value is 58. ------------------------------------------------------------------------ À³¥Îµ{¦¡¶}µo¤â¥U ------------------------------------------------------------------------ 34.1 ²Ä 1 ³¹ ²¤¶ 34.1.1 ¤ä´©³nÅé µù: PHP¡CPHP ¥i¨Ï¥Î¬°±q Web «¬À³¥Îµ{¦¡¦s¨ú DB2 ªº¤èªk¡C PHP ¬O¤@ºØ¦øªA¾¹ºÝ ¡B¤º´O HTML ªº¥æ¤¬¦¡¥­¥x Script »y¨¥¡C ¥¦¤ä´©¨Ï¥Î Unified-ODBC ¦s¨ú¤è ªkªº DB2 ¦s¨ú¡A¨ä¤¤¨Ï¥ÎªÌ¼h¦¸ PHP ¨Ï¥Î ODBC ©I¥s»P DB2 ³q«H¡C»P¼Ð·Ç ODBC ¤£¦Pªº¬O¡AUnified-ODBC ¤èªkª½±µ»P DB2 CLI ¼h³q«H¡A¦Ó¤£³z¹L ODBC ¼h¡C ¦³Ãö PHP ·f°t¨Ï¥Î DB2 ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¦Ò¤U¦Cªº DB2 ¤ä´©ºô¯¸¡G www.ibm.com/software/data/db2/udb/winos2unix/support¡C AIX ¦C¥Üªº C ¤Î C++ ½sĶ¾¹ªºª©¥»À³¬°¤U¦C¡G IBM C ¤Î C++ ½sĶ¾¹¡A¾A¥Î AIX ª©¥» 3.6.6¡]¾A¥Î©ó 64 ¦ì¤¸ªºª©¥» 3.6.6.3¡^ IBM C for AIX 4.4 IBM VisualAge C++ ª©¥» 4.0 µù: ½Ð±q¤U¦Cºô§}¤U¸ü³o¨Ç½sĶ¾¹ª©¥»ªº³Ì·s FixPak http://www.ibm.com/software/ad/vacpp/service/csd.html Micro Focus COBOL ½sĶ¾¹©Ò¦C¥Üªºª©¥»À³¬°¡G AIX 4.2.1 Micro Focus COBOL ª©¥» 4.0.20 (PRN 12.03 ©Î§ó·sªºª©¥») Micro Focus COBOL ª©¥» 4.1.10 (PRN 13.04 ©Î§ó·sªºª©¥») AIX 4.3 Micro Focus COBOL Server Express ª©¥» 1.0 µù: ¦³Ãö Micro Focus COBOL Àx¦sµ{§Ç¤Î AIX 4.3 ¤Wªº UDF ªº DB2¤ä´©¸ê°T¡A ½Ð ³y³X DB2 Application Development ºô­¶¡G http://www.ibm.com/software/data/db2/udb/ad ­Y­n¨Ï¥Î IBM XL Fortran for AIX ª©¥» 5.1.0 ½sĶ¾¹¨Ó¶}µo 64 ¦ì¤¸À³¥Îµ{¦¡¡A ½Ð¦b½sĶ¤ÎÃìµ²¨BÆJ¤¤¨Ï¥Î "-q64" ¿ï¶µ¡C ½Ðª`·N¦¹½sĶ¾¹¦b¥ý«eª©¥»®É¨Ã¤£¤ä´© 64 ¦ì¤¸À³¥Îµ{¦¡¡C HP-UX C++ ½sĶ¾¹©Ò¦C¥Üªºª©¥»¬°¡G HP aC++¡Aª©¥» A.03.25 µù: HP ¤£¤ä´©¥H·s¡B½sĶ¾¹¨Ó½sĶªºª«¥ó¤§¶¡ªº¤G¶i¦ì¬Û®e©Ê¡A¦]¦¹³o±N­¢¨Ï«Ø ¥ß C++ À³¥Îµ{¦¡ªº­«·s½sĶ¡A¥H¦s¨ú HP-UX ¤Wªº DB2¡C ¤]¥²¶·«Ø¥ß C++ À³¥Î µ{¦¡¥H³B²z³o­Ó·s½sĶ¾¹ªº²§±`ª¬ªp¡C ³o¬O aCC Âಾ«ü«nªº URL¡Ghttp://www.hp.com/esy/lang/cpp/tguide¡C C++ ªº¤£¬Û®e³¡¥÷¥i¦b¤U¦Cºô¯¸¤¤§ä¨ì¡G http://www.hp.com/esy/lang/cpp/tguide/transcontent.html#RN.CVT.1.2 http://www.hp.com/esy/lang/cpp/tguide/transcontent.html#RN.CVT.3.3 C »P C++ ³¡¥÷¥i¦b¤U¦Cºô¯¸¤¤§ä¨ì¡G http://www.hp.com/esy/lang/cpp/tguide/transcontent.html#RN.CVT.3.3.1 ÁöµM C ©M aCC ¬Û®e¡A·í¨Ï¥Î¨âºØ¤£¦Pªºª«¥óÃþ«¬®É¡A §t¦³ "main" ªºª«¥ó¥² ¶·¥H aCC ½sĶ¡A¦Ó³Ì²×¥i°õ¦æÀÉ¥²¶·¥H aCC ¨ÓÃìµ²¡C Linux DB2 for Linux ¤ä´©¤U¦C REXX ª©¥»¡G Object REXX Interpreter for Linux ª©¥» 2.1 Linux/390 DB2 for Linux/390 ¥u¤ä´© Java¡BC ¤Î C++¡C OS/2 C/C++ ½sĶ¾¹©Ò¦C¥Üªºª©¥»¬°¡G IBM VisualAge C++ for OS/2 ª©¥» 3.6.5 ¤Îª©¥» 4.0 µù: ½Ð±q¤U¦Cºô§}¤U¸ü³o¨Ç½sĶ¾¹ª©¥»ªº³Ì·s FixPak http://www.ibm.com/software/ad/vacpp/service/csd.html ¦³Ãö³o¨Ç VisualAge C++ ½sĶ¾¹ªº¥¼¨ÓªA°È¤ä´©­­¨î¡A½Ð°Ñ¾\¤U¦Cºô§}ªº·s»D°Ï¬q¡G http://www-4.ibm.com/software/ad/vacpp/ Solaris Micro Focus COBOL ½sĶ¾¹©Ò¦C¥Üªºª©¥»À³¬°¡G Micro Focus COBOL Server Express ª©¥» 1.0 Windows 32 ¦ì¤¸§@·~¨t²Î IBM VisualAge C++ ½sĶ¾¹©Ò¦C¥Üªºª©¥»¬°¡G IBM VisualAge C++ ¾A¥Î©ó Windows ª©¥» 3.6.5 ©M 4.0 µù: ½Ð±q¤U¦Cºô§}¤U¸ü³o¨Ç½sĶ¾¹ª©¥»ªº³Ì·s FixPak http://www.ibm.com/software/ad/vacpp/service/csd.html ¦³Ãö³o¨Ç VisualAge C++ ½sĶ¾¹ªº¥¼¨ÓªA°È¤ä´©­­¨î¡A½Ð°Ñ¾\¤U¦Cºô§}ªº·s»D°Ï¬q¡G http://www-4.ibm.com/software/ad/vacpp/ Micro Focus COBOL ½sĶ¾¹©Ò¦C¥Üªºª©¥»À³¬°¡G Micro Focus COBOL ª©¥» 4.0.20 Micro Focus COBOL Net Express ª©¥» 3.0 34.1.2 ½d¨Òµ{¦¡ ¤U¦C¤º®eÀ³¸Ó·s¼W¨ì¡uª«¥ó³sµ²©M¤º´O½d¨Ò¡v¤@¸`¤¤¡G salarycltvc Visual C++ DB2 CLI ½d¨ÒºÙ Visual Basic Àx¦sµ{§Ç¬° salarysrv¡C SALSVADO ½d¨Ò OLE ¦Û°Ê¤ÆÀx¦sµ{§Ç (SALSVADO) ©M SALCLADO ±qÄݯ¸¡A ¦b 32 ¦ì¤¸ªº Visual Basic ©M ADO ¤U°õ¦æ¡A­pºâªí®æ staff2 ªº¥­§¡Á~¸ê¡C ¤U¦C¤º®eÀ³¸Ó·s¼W¨ì¡u¤é»xºÞ²z¨Ï¥ÎªÌ¸õ¥Xµ{¦¡½d¨Ò¡v¤@¸`¤¤¡G ©ó AIX ¨Ï¥Î 3.1.6 ©Î§ó°ª¼h¦¸ªº ADSM API ±qÄݯ¸¤§À³¥Îµ{¦¡¥²¶·¥Ñ xlc_r ©Î xlC_r ½sĶ¾¹©I¥s¨Ó«Ø¥ß¡A ¦Ó«D¥Ñ xlc ©Î xlC ¨Ó«Ø¥ß¡A§Y¨Ï¸ÓÀ³¥Îµ{¦¡¬°³æ¤@°õ¦æ ºü¡C ¦¹½T«OÀÉ®×®w¬°°õ¦æºüªº¦w¥þ¡C ³o¾A¥Î©ó¡u¤é»xºÞ²z¨Ï¥ÎªÌ¸õ¥Xµ{¦¡½d¨Ò¡v¡A db2uext2.cadsm¡C ¦pªG±zªºÀ³¥Îµ{¦¡¬O¥Ñ«D°õ¦æºü¦w¥þÀÉ®×®w¨Ó½sĶ¡A±z¥i¥H¤Þ¥Î©T©wÀËÅç IC21925E ©Î³s±µÀ³¥Îµ{¦¡´£¨ÑªÌ¡C ©T©wÀËÅç¥i¥Î©ó index.storsys.ibm.com °Î¦WFTP ¦øªA ¾¹¡C ³o·|¨Ï±o ADSM API ¼h¦¸¦^¨ì 3.1.3¡C ------------------------------------------------------------------------ 34.2 ²Ä 3 ³¹ ¶}µo DB2 À³¥Îµ{¦¡ªº¤@¯ë¸ê°T 34.2.1 ¶}µoÀɮסBmake ÀÉ©M¿ù»~Àˬdªº¤½¥Îµ{¦¡ ªí®æ 16 ¤º bldevm ªºµn¿ýÀ³¸Ó³QŪ¨ú¬°¡G bldevm ¨Æ¥óºÊ·þµ{¦¡½d¨Òµ{¦¡¡Aevm (¥u¾A¥Î©ó AIX¡BOS/2 ©M Windows 32 ¦ì¤¸§@·~¨t ²Î)¡C ªí®æ 17 À³¸Ó¥]¬A¤U¦Cµn¿ý¡G bldmevm ¨Æ¥óºÊ·þµ{¦¡½d¨Òµ{¦¡¡Aevm¡A¤Î Microsoft Visual C++ ½sĶ¾¹¡C bldvevm ¨Æ¥óºÊ·þµ{¦¡½d¨Òµ{¦¡¡Aevm¡A¥[¤W VisualAge Visual C++ ½sĶ¾¹¡C ------------------------------------------------------------------------ 34.3 ²Ä 4 ³¹ ¶}µo Java Applets ©MÀ³¥Îµ{¦¡ 34.3.1 ³]©wÀô¹Ò ­Y±z¦b¤ä´©ªº¥­¥x¤W¨Ï¥Î IBM JDK 1.1.8 ¨Ó«Ø¸m SQLJ µ{¦¡¡A «h»Ý­n 1999 ¦~ 11 ¤ë 24 ¤é¡]©Î¤§«á¡^ªº JDK ¶}µo¤é´Á¡C§_«h±z·|¦b½sĶ´Á¶¡¦¬¨ì JNI ¿ù»~°T®§¡C ­Y±z¦b¤ä´©ªº¥­¥x¤W¨Ï¥Î IBM JDK 1.2.2 ¨Ó«Ø¸m SQLJ µ{¦¡¡A«h»Ý­n 2000 ¦~ 4 ¤ë 17 ¤é¡]©Î¤§«á¡^ªº JDK «Ø¸m¤é´Á¡C§_«h¡A±z·|¦b½sĶ´Á¶¡¦¬¨ìµL®Äªº Java Ãþ«¬¡C °w¹ï¦¸³¹¸` AIX¡BHP-UX¡BLinux ¤Î Solaris¡A ¨ú¥N JDBC 2.0 ªº¸ê°T¦p¤U¡G ¨Ï¥Î Java À³¥Îµ{¦¡ªº JDBC 2.0 ÅX°Êµ{¦¡ JDBC 1.22 ÅX°Êµ{¦¡¬O©Ò¦³§@·~¨t²Î¹w³]ªºÅX°Êµ{¦¡¡C ±ý¨Ï¥Î JDBC 2.0 ªº·s¯S©Ê¡A ±z¥²¶·¦w¸Ë JDK 1.2 ¤ä´©¡C §Q¥Î JDBC 2.0 ªº·s¯S©Ê¨Ó°õ¦æÀ³¥Îµ{¦¡¤§«e¡A±z¥²¶· ¦Û sqllib/java12 ¥Ø¿ýµo¥X usejdbc2 «ü¥O¨Ó³]©wÀô¹Ò¡C §Æ±æÀ³¥Îµ{¦¡¥i¥H¤@ª½¨Ï ¥Î JDBC 2.0 ÅX°Êµ{¦¡¡A±z±o¦Ò¼{·s¼W¤U¦C¤º®e¨ìµn¤J³]©wÀÉ¡A¦p .profile¡A©Î¦Ü Shell °_©l³]©w script¡A¦p .bashrc¡B.cshrc ©Î .kshrc¡G . sqllib/java12/usejdbc2 ½T©w¦¹«ü¥O©ñ¸m¦b°õ¦æ db2profile ªº«ü¥O¤§«á¡A¦]¬° usejdbc2 À³¸Ó¦b db2profile ¤§«á°õ¦æ¡C ±ý©¹¦^¤Á´«¦Ü JDBC 1.22 ÅX°Êµ{¦¡¡A½Ð¦b sqllib/java12 ¥Ø¿ý¤U°õ¦æ¤U¦C«ü¥O¡G . usejdbc1 ¨Ï¥Î Java Àx¦sµ{§Ç©M UDF ªº JDBC 2.0 ÅX°Êµ{¦¡ ±ý¨Ï¥Î Java Àx¦sµ{§Ç©M UDF ªº JDBC 2.0 ÅX°Êµ{¦¡¡A±z¥²¶·³]©w®×¨Ò¹jÂ÷¨Ï¥ÎªÌªº Àô¹Ò¡C ¹w³]ªº¹jÂ÷¨Ï¥ÎªÌ ID ¬O db2fenc1¡C ±ý³]©w¹jÂ÷¨Ï¥ÎªÌ ID ªºÀô¹Ò¡A½Ð°õ¦æ ¤U¦C¨BÆJ¡G 1. ·s¼W¤U¦C¤º®e¦Ü¹jÂ÷¨Ï¥ÎªÌ ID ³]©wÀÉ¡A¦p .profile¡A©Î¦Ü¹jÂ÷¨Ï¥ÎªÌ ID Shell °_©l³]©w script¡A¦p .bashrc¡B.cshrc ©Î .kshrc¡G . sqllib/java12/usejdbc2 2. ¦Û CLP µo¥X¤U¦C«ü¥O¡G db2set DB2_USE_JDK12=1 ±ý©¹¦^¤Á´«¦Ü¤ä´© Java UDFs ©MÀx¦sµ{§Çªº JDBC 1.22 ÅX°Êµ{¦¡¡A½Ð°õ¦æ¤U¦C¨B ÆJ¡G 1. ¦b¹jÂ÷¨Ï¥ÎªÌ ID ³]©wÀÉ¡A¦p .profile¡A©Î¦Û¹jÂ÷¨Ï¥ÎªÌ ID Shell °_©l³]©w script¡A¦p .bashrc¡B.cshrc ©Î .kshrc¤º±N¥H¤U¦æ¦C²¾°£¡G . sqllib/java12/usejdbc2 2. ¦Û CLP µo¥X¤U¦C«ü¥O¡G db2set DB2_USE_JDK12= §Æ±æÀ³¥Îµ{¦¡¥i¥H¤@ª½¨Ï¥Î JDBC 2.0 ÅX°Êµ{¦¡¡A±z¥i¥H·s¼W¥H¤U¦æ¦C¦Üµn¤J³]©w ÀÉ¡A¦p .profile¡A©Î¦Ü Shell °_©l³]©w script¡A¦p .bashrc¡B.cshrc ©Î .kshrc¡G . sqllib/java12/usejdbc2 ½T©w¦¹«ü¥O©ñ¸m¦b°õ¦æ db2profile ªº«ü¥O¤§«á¡A¦]¬° usejdbc2 À³¸Ó¦b db2profile ¤§«á°õ¦æ¡C HP-UX ¦b DB2 for HP-UX (§t JDK 1.1) ¤W¡A¤£¤ä´© Java Àx¦sµ{§Ç¤Î¨Ï¥ÎªÌ©w¸qªº¨ç¼Æ¡C Silicon Graphics IRIX ·í¨Ï¥Î -o32 ª«¥óÃþ«¬¨Ó«Ø¸m SQLJ À³¥Îµ{¦¡¨Ã¨Ï¥Î¨ã¦³ JDK 1.2.2 ªº Java JIT ½s Ķ¾¹®É¡A­Y SQLJ Âà´«µ{¦¡¦]¤À°Ï¬q¿ù»~¦Ó¥¢±Ñ¡A½Ð¹Á¸Õ¥H³o­Ó«ü¥O¨ÓÃö±¼ JIT ½sĶ ¾¹¡G export JAVA_COMPILER=NONE ¦b Silicon Graphics IRIX ¤W¶}µo Java SQLJ µ{¦¡®É»Ý­n JDK 1.2.2¡C Windows 32 ¦ì¤¸§@·~¨t²Î ¨Ï¥Î Java Àx¦sµ{§Ç©M UDF ªº JDBC 2.0 ÅX°Êµ{¦¡ ±ý¨Ï¥Î Java Àx¦sµ{§Ç©M UDF ªº JDBC 2.0 ÅX°Êµ{¦¡¡A±z¥²¶·°õ¦æ¤U¦C¨BÆJ¨Ó³]©wÀô ¹Ò¡G 1. ¦b sqllib\java12 ¥Ø¿ý¤Uµo¥X¤U¦C«ü¥O¡G usejdbc2 2. ¦Û CLP µo¥X¤U¦C«ü¥O¡G db2set DB2_USE_JDK12=1 ±ý©¹¦^¤Á´«¦Ü¤ä´© Java UDFs ©MÀx¦sµ{§Çªº JDBC 1.22 ÅX°Êµ{¦¡¡A½Ð°õ¦æ¤U¦C¨B ÆJ¡G 1. ¦b sqllib\java12 ¥Ø¿ý¤Uµo¥X¤U¦C«ü¥O¡G usejdbc2 2. ¦Û CLP µo¥X¤U¦C«ü¥O¡G db2set DB2_USE_JDK12= 34.3.1.1 OS/2 ¤Wªº JDK ¼h¦¸ °õ¦æ 1999 ¦~ 9 ¤ë¤§«eµoªíªº JDK 1.1.8 ª©ªº OS/2 µLªkÅã¥Ü¬Y¨Ç°T®§¡C ½Ð½T©w±z ¨ã¦³³Ì·sªº JDK 1.1.8 ª©¡C 34.3.1.2 HP-UX ¤Wªº Java2 ­Y­n°õ¦æ Java2 Àx¦sµ{§Ç¡A¥²¶·Åܧó¦@¥ÎÀÉ®×®w¸ô®|¡A¦p¤U©Ò¥Ü¡G export SHLIB_PATH=$JAVADIR/jre/lib/PA_RISC:$JAVADIR/ jre/lib/PA_RISC/classic:$HOME/sqllib/lib:/usr/lib:$SHLIB_PATH $JAVADIR ¬O Java2 SDK ªº¦ì¸m¡C ------------------------------------------------------------------------ 34.4 ²Ä 5 ³¹ ¶}µo SQL µ{§Ç 34.4.1 ³]©w SQL µ{§ÇÀô¹Ò ¤U¦C¬OÃö©ó¦b¡u¦w¸Ë¡v¤¤³]©w DB2 Àô¹Ò«ü¥Üªºªþ¥[»¡©ú¡C ­Y»Ý SQL µ{§Ç¤ä´©¡A±z¥²¶·¦b¦øªA¾¹¤W¦w¸Ë¡uÀ³¥Îµ{¦¡¶}µo±qÄݯ¸ (Application Development Client)¡v¡C­Y»Ý¦w¸Ë¡uÀ³¥Îµ{¦¡¶}µo±qÄݯ¸¡vªº¬ÛÃö¸ê°T¡A ½Ð°Ñ·Ó¾A ¥Î±zªº¥­¥xªº §Ö³t¤Jªù ®ÑÄy¡C­Y»Ý±z¥­¥x¤¤ DB2 ¤ä´©ªº C ¤Î C++ ½sĶ¾¹ªº¬ÛÃö¸ê °T¡A ½Ð°Ñ¾\¡u¥­¥x¤ä´©ªº³nÅé¡v¡C µù: ¦b OS/2 FAT Àɮרt²Î¤W¡A¡uSQL µ{§Ç¡vªººõ¥Ø¦WºÙ­­¨î¬°¤K­Ó¦r¤¸¥H¤U¡C ºõ ¥Ø¦WºÙ­Yªø©ó¤K­Ó¦r¤¸¡A«h¥²¶·¨Ï¥Î HPFS Àɮרt²Î¡C ½sĶ¾¹¬[ºc¥Ñ¨â³¡¤À²Õ¦¨¡G ³]©w½sĶ¾¹ªºÀô¹ÒÅܼƤΩw¸q½sĶ«ü¥O¡C Àô¹ÒÅܼƴ£¨Ñ ½sĶ¾¹ªº¤G¶i¦ìÀÉ(bin)¡BÀÉ®×®w(lib)¤Î¨Ö¤JÀɪº¸ô®|¡C ½sĶ«ü¥O¬O DB2 ±N¥Î¨Ó½s Ķ SQL µ{§Ç©Ò²£¥Íªº C Àɮתº§¹¾ã«ü¥O¡C 34.4.2 ³]©w½sĶ¾¹Àô¹ÒÅÜ¼Æ ¦b OS/2¡BWindows ¤Î UNIX §@·~¨t²Î¤W°t¸mÀô¹Ò¦³¤£¦Pªº³W«h¡A ¦p¤U©Ò¥Ü¡C ¦b³¡¤À ªº±¡ªp¤U¡A¤£»Ý­n§@¬[ºc¡F¦b¨ä¥¦±¡§Î®É¡A DB2_SQLROUTINE_COMPILER_PATH DB2 µn ¿ýÅܼƥ²¶·³]©w¬°«ü¦V¤@­Ó ¾A·íªº³]©wÀô¹ÒÅܼƪº¥i°õ¦æ Script¡C µù: ±z¥i¨Ï¥Î db2set «ü¥O©Î¨Ï¥Î¡uÀx¦sµ{§Ç«Ø¸m¾¹¡vªº ¡uSQL Àx¦sµ{§Ç«Ø¸m¿ï ¶µ¡v¹ï¸Ü®Ø¨Ó³]©w³o­Ó DB2 µn¿ýÅܼƪº­È¡C¨Ï¥Î¡uSQL Àx¦sµ{§Ç«Ø¸m¿ï¶µ¡v¹ï ¸Ü®Ø ¤£»Ý­n¹ê»Ú¦s¨ú¸ê®Æ®w¦øªA¾¹¡A¸ê®Æ®w¦øªA¾¹¤]¤£¥Î­«·s±Ò°Ê¥H¨ÏÅܧó¥Í ®Ä¡C ¦b OS/2 ¤W¡G °w¹ï IBM VisualAge C++ for OS/2 ª©¥» 3.6¡G db2set DB2_SQLROUTINE_COMPILER_PATH="c:\ibmcxxo\bin\setenv.cmd" °w¹ï IBM VisualAge C++ for OS/2 ª©¥» 4¡G db2set DB2_SQLROUTINE_COMPILER_PATH="c:\ibmcpp40\bin\setenv.cmd" µù: ³o¨Ç«ü¥O¬O°²³] C++ ½sĶ¾¹¬O¦w¸Ë¦b C: ºÏºÐ¾÷¤W¡C ¦pªG»Ý­n¡AÅܧóºÏºÐ¾÷©Î ¸ô®|¨Ó¤Ï¬M±z¨t²Î¤W C++ ½sĶ¾¹ªº¦ì¸m¡C ¦b Windows 32 ¦ì¤¸§@·~¨t²Î¤W¡A¦pªG½sĶ¾¹ªºÀô¹ÒÅܼƬO³]©w¬° SYSTEM ÅܼơA «h ¤£»Ý­n§@¥ô¦ó°t¸m¡C §_«h¡A½Ð±N DB2_SQLROUTINE_COMPILER_PATH DB2 µn¿ýÅܼƳ]©w ¬°¡G °w¹ï Microsoft Visual C++ ª©¥» 5.0¡G db2set DB2_SQLROUTINE_COMPILER_PATH="c:\devstudio\vc\bin\vcvars32.bat" °w¹ï Microsoft Visual C++ ª©¥» 6.0¡G db2set DB2_SQLROUTINE_COMPILER_PATH="c:\Micros~1\vc98\bin\vcvars32.bat" °w¹ï IBM VisualAge C++ for Windows ª©¥» 3.6¡G db2set DB2_SQLROUTINE_COMPILER_PATH="c:\ibmcxxw\bin\setenv.bat" °w¹ï IBM VisualAge C++ for Windows ª©¥» 4¡G db2set DB2_SQLROUTINE_COMPILER_PATH="c:\ibmcppw40\bin\setenv.bat" µù: ³o¨Ç«ü¥O¬O°²³] C++ ½sĶ¾¹¬O¦w¸Ë¦b C: ºÏºÐ¾÷¤W¡C ¦pªG»Ý­n¡AÅܧóºÏºÐ¾÷©Î ¸ô®|¨Ó¤Ï¬M±z¨t²Î¤W C++ ½sĶ¾¹ªº¦ì¸m¡C ¦b UNIX §@·~¨t²Î¤W¡ADB2 ·|¦b±z²Ä¤@¦¸½sĶÀx¦sµ{§Ç®É²£¥Í¥i°õ¦æªº Script ÀÉ $HOME/sqllib/function/routine/sr_cpath (¥]§t½sĶ¾¹Àô¹ÒÅܼƪº¹w³]­È)¡C ±z¥i ½s¿è¦¹ÀɮסA¦pªG¹w³]­È¤£¾A¥Î©ó±zªº½sĶ¾¹¡C ¥t¥~¡A±z¥i±N DB2_SQLROUTINE_COMPILER_PATH DB2 µn¿ýÅܼƳ]¬°¥]§t¥t¤@­Ó¥i°õ¦æ Script ªº§¹¾ã ¸ô®|¦WºÙ¡A¦b Script ¤º«ü©w´Á±æªº­È (½Ð¬Ý¤W­±ªº½d¨Ò)¡C 34.4.3 ¦Û­q½sĶ«ü¥O Application Development Client ªº¦w¸Ë´£¨Ñ¤F¤@­Ó¹w³]ªº½sĶ«ü¥O¡A ¦Ü¤Ö¥i¥Î©ó ¨C­Ó¥­¥x¤W¤ä´©ªº½sĶ¾¹¤§¤@¡G AIX¡GIBM C Set++ for AIX ª©¥» 3.6.6 Solaris¡GSPARCompiler C++ ª©¥» 4.2 ¤Î 5.0 HP-UX¡GHP-UX C++ ª©¥» A.12.00 Linux¡GGNU/Linux g++ ª©¥» egcs-2.90.27 980315 (egcs-1.0.2 release) PTX¡Gptx/C++ ª©¥» 5.2 OS/2¡GIBM VisualAge C++ for OS/2 ª©¥» 3 Windows NT ¤Î Windows 2000¡GMicrosoft Visual C++ ª©¥» 5.0 ¤Î 6.0 ­Y­n¨Ï¥Î¨ä¥¦½sĶ¾¹¡A©Î­n¦Û­q¹w³]«ü¥O¡A ±z¥²¶·±N DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn¿ýÅܼƳ]¬°¦p¤Uªº«ü¥O¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=compilation_command ¨ä¤¤ compilation_command ¬O C ©Î C++ ½sĶ«ü¥O¡A ¥]¬A«Ø¥ßÀx¦sµ{§Ç©Ò»Ýªº¿ï¶µ ¤Î°Ñ¼Æ¡C ¦b½sĶ«ü¥O¤¤¡A½Ð¨Ï¥ÎÃöÁä¦r SQLROUTINE_FILENAME ¨Ó¨ú¥N©Ò²£¥Íªº SQC¡BC¡BPDB¡B DEF¡BEXP¡B °T®§¤é»x¤Î¦@¥ÎÀÉ®×®wÀɮתºÀɦW¡C¶È°w¹ï AIX¡A¨Ï¥Î SQLROUTINE_ENTRY ÃöÁä¦r¨Ó¨ú¥Nµn¿ý¦WºÙ¡C µù: ±z¥i¨Ï¥Î db2set «ü¥O©Î¨Ï¥Î¡uÀx¦sµ{§Ç«Ø¸m¾¹¡vªº ¡uSQL Àx¦sµ{§Ç«Ø¸m¿ï ¶µ¡v¹ï¸Ü®Ø¨Ó³]©w³o­Ó DB2 µn¿ýÅܼƪº­È¡C¨Ï¥Î¡uSQL Àx¦sµ{§Ç«Ø¸m¿ï¶µ¡v¹ï ¸Ü®Ø ¤£»Ý­n¹ê»Ú¦s¨ú¸ê®Æ®w¦øªA¾¹¡A¸ê®Æ®w¦øªA¾¹¤]¤£¥Î­«·s±Ò°Ê¥H¨ÏÅܧó¥Í ®Ä¡C ¤U¦C¬O C ©Î C++ ½sĶ¾¹¦b¤ä´©ªº¦øªA¾¹¥­¥xªº DB2_SQLROUTINE_COMPILE_COMMAND ¹w³]­È¡C AIX ¨Ï¥Î IBM C for AIX ª©¥» 3.6.6¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=xlc -H512 -T512 \ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c -bE:SQLROUTINE_FILENAME.exp \ -e SQLROUTINE_ENTRY -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -lc -ldb2 ¨Ï¥Î IBM C Set++ for AIX ª©¥» 3.6.6¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=xlC -H512 -T512 \ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c -bE:SQLROUTINE_FILENAME.exp \ -e SQLROUTINE_ENTRY -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -lc -ldb2 ­Y¨S¦³³]©w DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn°OÅܼơA«h³o¬O¹w³]½sĶ«ü ¥O¡C µù: ­Y­n¦b AIX ¤W½sĶ 64 ¦ì¤¸ SQL µ{§Ç¡A±N -q64 ¿ï¶µ·s¼W¨ì¤W­±ªº«ü¥O¡C ¨Ï¥Î IBM VisualAge C++ for AIX ª©¥» 4¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="vacbld" ­Y±z¦b vacbld «ü¥O¤§«á¨S¦³«ü©w¬[ºcÀÉ¡ADB2 ·|¦b­º¦¸«Ø¥ß SQL µ{§Ç®É¡A «Ø¥ß¤U ¦C¹w³]ªº¬[ºcÀÉ¡C $HOME/sqllib/function/routine/sqlproc.icc ­Y±z­n¨Ï¥Î¦Û¤vªº¬[ºcÀÉ¡A¥i¦b³]©w DB2_SQLROUTINE_COMPILE_COMMAND ªº DB2 µn°O ­È®É¡A «ü©w±z­n¨Ï¥Îªº¬[ºcÀÉ¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="vacbld %DB2PATH%/function/sqlproc.icc" HP-UX ¨Ï¥Î HP C ½sĶ¾¹ª©¥» A.11.00.03¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=cc +DAportable +ul -Aa +z \ -I$HOME/sqllib/include -c SQLROUTINE_FILENAME.c; \ ld -b -o SQLROUTINE_FILENAME SQLROUTINE_FILENAME.o \ -L$HOME/sqllib/lib -ldb2 ¨Ï¥Î HP-UX C++ ª©¥» A.12.00¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=CC +DAportable +a1 +z -ext \ -I$HOME/sqllib/include -c SQLROUTINE_FILENAME.c; \ ld -b -o SQLROUTINE_FILENAME SQLROUTINE_FILENAME.o \ -L$HOME/sqllib/lib -ldb2 ­Y¨S¦³³]©w DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn°OÅܼơA«h³o¬O¹w³]½sĶ«ü ¥O¡C Linux ¨Ï¥Î GNU/Linux gcc ª©¥» 2.7.2.3¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=cc \ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \ -shared -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -ldb2 ¨Ï¥Î GNU/Linux g++ ª©¥» egcs-2.90.27 980315 (egcs-1.0.2 ª©¦¸)¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=g++ \ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \ -shared -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -ldb2 ­Y¨S¦³³]©w DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn°OÅܼơA«h³o¬O¹w³]½sĶ«ü ¥O¡C PTX ¨Ï¥Î ptx/C ª©¥» 4.5¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=cc -KPIC \ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \ -G -o SQLROUTINE_FILENAME.so -L$HOME/sqllib/lib -ldb2 ; \ cp SQLROUTINE_FILENAME.so SQLROUTINE_FILENAME ¨Ï¥Î ptx/C++ ª©¥» 5.2¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=c++ -KPIC \ -D_RWSTD_COMPILE_INSTANTIATE=0 -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \ -G -o SQLROUTINE_FILENAME.so -L$HOME/sqllib/lib -ldb2 ; \ cp SQLROUTINE_FILENAME.so SQLROUTINE_FILENAME ­Y¨S¦³³]©w DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn°OÅܼơA«h³o¬O¹w³]½sĶ«ü ¥O¡C OS/2 ¨Ï¥Î IBM VisualAge C++ for OS/2 ª©¥» 3¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="icc -Ge- -Gm+ -W2 -I%DB2PATH%\include SQLROUTINE_FILENAME.c /B\"/NOFREE /NOI /ST:64000\" SQLROUTINE_FILENAME.def %DB2PATH%\lib\db2api.lib" ­Y¨S¦³³]©w DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn°OÅܼơA«h³o¬O¹w³]½sĶ«ü ¥O¡C ¨Ï¥Î IBM VisualAge C++ for OS/2 ª©¥» 4¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="vacbld" ­Y±z¦b vacbld «ü¥O¤§«á¨S¦³«ü©w¬[ºcÀÉ¡ADB2 ·|¦b­º¦¸«Ø¥ß SQL µ{§Ç®É¡A «Ø¥ß¤U ¦C¹w³]ªº¬[ºcÀÉ¡C %DB2PATH%\function\routine\sqlproc.icc ­Y±z­n¨Ï¥Î¦Û¤vªº¬[ºcÀÉ¡A¥i¦b³]©w DB2_SQLROUTINE_COMPILE_COMMAND ªº DB2 µn°O ­È®É¡A «ü©w±z­n¨Ï¥Îªº¬[ºcÀÉ¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="vacbld %DB2PATH%\function\sqlproc.icc" Solaris ¨Ï¥Î SPARCompiler C ª©¥» 4.2 ©M 5.0¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=cc -xarch=v8plusa -Kpic \ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \ -G -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib \ -R$HOME/sqllib/lib -ldb2 ¨Ï¥Î SPARCompiler C++ ª©¥» 4.2 ©M 5.0¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=CC -xarch=v8plusa -Kpic \ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \ -G -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib \ -R$HOME/sqllib/lib -ldb2 ­Y¨S¦³³]©w DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn°OÅܼơA«h³o¬O¹w³]½sĶ«ü ¥O¡C µù: 1. -xarch=v8plusa ½sĶ¾¹¿ï¶µ¤w·s¼W¨ì¹w³]½sĶ¾¹«ü¥O¡C¦³Ãö¬°¦ó·s¼W¦¹¿ï¶µªº ²Ó¸`¡A½Ð°Ñ¾\34.8, "²Ä 12 ³¹ ¶}µo Solaris À³¥Îµ{¦¡"¡C 2. ­Y­n¦b Solaris ¤W½sĶ 64 ¦ì¤¸ SQL µ{§Ç¡A¨ú®ø -xarch=v8plusa ¿ï¶µ¡A¨Ã±N -xarch=v9 ¿ï¶µ·s¼W¨ì¤W­±ªº«ü¥O¡C Windows NT ©M Windows 2000 µù: Windows 98 ©Î Windows 95 ¤£¤ä´© SQL µ{§Ç¡C ¨Ï¥Î Microsoft Visual C++ ª©¥» 5.0 ©M 6.0¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND=cl -Od -W2 /TC -D_X86_=1 -I%DB2PATH%\include SQLROUTINE_FILENAME.c /link -dll -def:SQLROUTINE_FILENAME.def /out:SQLROUTINE_FILENAME.dll %DB2PATH%\lib\db2api.lib ­Y¨S¦³³]©w DB2_SQLROUTINE_COMPILE_COMMAND DB2 µn°OÅܼơA«h³o¬O¹w³]½sĶ«ü ¥O¡C ¨Ï¥Î IBM VisualAge C++ for Windows ª©¥» 3.6¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="ilib /GI SQLROUTINE_FILENAME.def &icc -Ti -Ge- -Gm+ -W2 -I%DB2PATH%\include SQLROUTINE_FILENAME.c /B\"/ST:64000 /PM:VIO /DLL\" SQLROUTINE_FILENAME.exp %DB2PATH%\lib\db2api.lib" ¨Ï¥Î IBM VisualAge C++ for Windows ª©¥» 4¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="vacbld" ­Y±z¦b vacbld «ü¥O¤§«á¨S¦³«ü©w¬[ºcÀÉ¡ADB2 ·|¦b­º¦¸«Ø¥ß SQL µ{§Ç®É¡A «Ø¥ß¤U ¦C¹w³]ªº¬[ºcÀÉ¡C %DB2PATH%\function\routine\sqlproc.icc ­Y±z­n¨Ï¥Î¦Û¤vªº¬[ºcÀÉ¡A¥i¦b³]©w DB2_SQLROUTINE_COMPILE_COMMAND ªº DB2 µn°O ­È®É¡A «ü©w±z­n¨Ï¥Îªº¬[ºcÀÉ¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="vacbld %DB2PATH%\function\sqlproc.icc" ­Y­n¶Ç¦^¹w³]½sĶ¾¹¿ï¶µ¡A¥H¤U¦C«ü¥O±N DB2_SQLROUTINE_COMPILE_COMMAND ªº DB2 µn°O­È ³]©w¬° NULL¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND= 34.4.4 «O¯d¤¤¶¡ÀÉ ·í SQL µ{§Ç¨S¦³¦¨¥\«Ø¥ß®É¡A±z¥²¶·¤â°Ê§R°£³Q¥á±óªº¤¤¶¡ÀÉ¡C³o¨ÇÀɮצì©ó¤U¦C¥Ø ¿ý¸Ì¡G UNIX $DB2PATH/function/routine/sqlproc/$DATABASE/$SCHEMA/tmp ¦b¦¹ $DB2PATH ¬O«Ø¥ß®×¨Òªº¥Ø¿ý¡A$DATABASE ¬O¸ê®Æ®w¦WºÙ¡A ¦Ó $SCHEMA ¬O ¥Î¨Ó«Ø¥ß SQL µ{§Çªººõ¥Ø¦WºÙ¡C OS/2 ©M Windows %DB2PATH%\function\routine\sqlproc\%DATABASE%\%SCHEMA%\tmp ¨ä¤¤ %DB2PATH% ¥Nªí«Ø¥ß®×¨Òªº¥Ø¿ý¡A%DATABASE% ¥Nªí¸ê®Æ®w¦WºÙ¡A ¦Ó %SCHEMA% ¥Nªí¥Î¨Ó«Ø¥ß SQL µ{§Çªººõ¥Ø¦WºÙ¡C 34.4.5 ³Æ¥÷©M´_¸m ¦b«Ø¥ß SQL µ{§Ç®É¡A²£¥Íªº¦@¥ÎÀÉ®×®w/DLL ¤]·|«O¯d¦b«¬¿ýªí®æ¤¤¡A ¦pªG²£¥Íªº¦@ ¥ÎÀÉ®×®w/DLL ¤p©ó 2 MB¡C ¦b³Æ¥÷¤Î´_¸m¸ê®Æ®w®É¡A¥ô¦ó²£¥Íªº¦@¥ÎÀÉ®×®w/DLL ¤p ©ó 2 MB ªº SQL µ{§Ç·|¨Ï¥Î «¬¿ýªí®æ¤¤©Ò«O¯dªºª©¥»¨Ó°µ³Æ¥÷¤Î´_¸m¡C ¦pªG±z¦³²£ ¥Íªº¦@¥ÎÀÉ®×®w/DLL ¤j©ó 2 MB ªº SQL µ{§Ç¡A ½Ð½T©w±z¤]¥Î¸ê®Æ®w³Æ¥÷¤Î´_¸m¨Ó°µ Àɮרt²Îªº³Æ¥÷¤Î´_¸m¡C ¦pªG¨S¦³¡A±z¥²¶·¨Ï¥Î syscat.procedures «¬¿ýªí®æ¤¤ªº ¨Ó·½¦Û¦æ­««Ø SQL µ{§Çªº¦@¥ÎÀÉ®×®w/DLL¡C µù: ¦b¸ê®Æ®w¦^´_®É¡A©Ò¦³Àɮרt²Î¤WÄÝ©ó³Q¦^´_¸ê®Æ®wªº SQL µ{§Ç¥i°õ¦æÀÉ·|³Q ²¾°£¡C ¦pªG¯Á¤Þ«Ø¥ß¬[ºc°Ñ¼Æ (indexrec) ³]¬° RESTART¡A´N·|±q«¬¿ýªí®æÂ^ ¨ú©Ò¦³ SQL µ{§Ç¥i°õ¦æÀÉ¡A ¨Ã©ó¤U¦¸³s±µ®É©ñ¦^Àɮרt²Î¡C §_«h¡ASQL ¥i°õ ¦æÀÉ·|¦b SQL µ{§Ç²Ä¤@¦¸°õ¦æ®ÉÂ^¨ú¡C ¥i°õ¦æÀÉ·|³Q©ñ¦^¨ì¤U¦C¥Ø¿ý¡G UNIX $DB2PATH/function/routine/sqlproc/$DATABASE ¦b¦¹ $DB2PATH ¬O«Ø¥ß®×¨Òªº¥Ø¿ý¡A¦Ó $DATABASE ¬O¥Î¨Ó«Ø¥ß SQL µ{§Çªº¸ê®Æ ®w¦WºÙ¡C OS/2 ©M Windows %DB2PATH%\function\routine\sqlproc\%DATABASE% ¨ä¤¤ %DB2PATH% ¥Nªí«Ø¥ß®×¨Òªº¥Ø¿ý¡A ¦Ó %DATABASE% ¥Nªí¥Î¨Ó«Ø¥ß SQL µ{ §Çªº¸ê®Æ®w¦WºÙ¡C 34.4.6 «Ø¥ß SQL µ{§Ç ±N¸ê®Æ®wºÞ²zµ{¦¡ªº¬[ºc°Ñ¼Æ KEEPDARI ³]©w¬° 'NO'¡A¥H«Ø¸m SQL µ{§Ç¡C ­Y SQL µ{§Ç¤@¥¹°õ¦æ®Éºû«ù¸ü¤Jª¬ºA¡A­n¥H¦P¦W±Ë±ó©M­««ØÀx¦sµ{§Ç®É¥i¯à·|¾D¹J°ÝÃD¡A ¦p ¦PÀÉ®×®wµLªk´_·s¡A¦Ó¥i°õ¦æÀɵLªk±qÀɮרt²Î±Ë±ó¡C·í±z¹Á¸Õ´_­ìÅܧó©Î±Ë±ó¸ê®Æ ®w®É¤]·|¾D¹J°ÝÃD¡A¦]¬°µLªk§R°£¥i°õ¦æÀÉ¡C ½Ð°Ñ¾\¡uÀ³¥Îµ{¦¡¶}µo¤â¥U¡A²Ä 2 ³¹ ³]©w¡vªº¡u§ó·s¸ê®Æ®wºÞ²zµ{¦¡¬[ºcÀÉ¡v¡A¥H ¨ú±o³]©w KEEPDARI °Ñ¼Æªº¸Ô²Ó¸ê°T¡C µù: SQL µ{§Ç¤£¤ä´©¤U¦C°Ñ¼Æªº¸ê®ÆÃþ«¬¡G o LONG VARGRAPHIC o ¤G¶i¦ì¤j«¬ª«¥ó (BLOB) o ¦r¤¸¤j«¬ª«¥ó (CLOB) o Âù¦ì¤¸²Õ¤j«¬ª«¥ó (DBCLOB) 34.4.7 ©I¥sÀx¦sµ{§Ç ¡u¨Ï¥Î©I¥s«ü¥O¡v¤¤ªº²Ä¤@¬qÀ³¸ÓŪ¨ú¡G ±ý¨Ï¥Î©I¥s«ü¥O¡A½Ð¿é¤JÀx¦sµ{§Ç¦WºÙ¡A¥H¤Î IN ©Î INOUT ªº°Ñ¼Æ¡AÁÙ¦³³Qµø¬°¨C¤@ ­Ó¿é¥X°Ñ¼Æ¤§¦ì¸m«O¯d²Å¸¹ '?'¡C ­Y­n¨ú±o CALL «ü¥Oªº¸Ô²Ó»yªk¡A½Ð°Ñ¾\10.14, "CALL"¡C 34.4.8 ¤À°e¤w½sĶªº SQL µ{§Ç µù: ­Y­n¦b DB2 ¦øªA¾¹¤§¶¡¤À°e¤w½sĶªº SQL µ{§Ç¡A ±z¥²¶·¹ï©ó¨C¤@­Ó·|§@¬°¤w ½sĶ SQL µ{§Çªº¨Ó·½ (©Î¥Ø¼Ð) ªº DB2 ¦øªA¾¹°õ¦æ¤U¦C¨BÆJ¡G ¨BÆJ ¦w¸Ë FixPak 3 1. ¨BÆJ µo¥X db2updv7 «ü¥O¥H±Ò¥Î DB2 ¨Ó¨ú¥X¤Î¦w¸Ë¤w½sĶªº SQL µ{§Ç¡G 2. db2updv7 -d database_name ·í±z©w¸q¤@­Ó SQL µ{§Ç®É¡A¥¦·|Âà´«¬°¤@­Ó C µ{¦¡¡B¹w¥ý½sĶ¹L¡B ¹ï¥Ø¼Ð¸ê®Æ®w³s µ²¡B½sĶ¨ÃÃìµ²¥H«Ø¥ß¤@­Ó¦@¥ÎÀÉ®×®w¡C ½sĶ¤ÎÃìµ²ªº¨BÆJ»Ý­n¦b¸ê®Æ®w¦øªA¾¹¾÷¾¹ ¤W¦³¥i¥Îªº C ©Î C++ ½sĶ¾¹¡CµM¦Ó¡A±z¦b©w¸q SQL µ{§Ç®É¡A ±z¥i±N¥¦¥H¤w½sĶªº §Î¦¡¤À°e¨ì¦b¬Û¦P¥­¥x¤W°õ¦æªº DB2 ¸ê®Æ®w¡A ¦Ó¤£»Ý­n¥i¦s¨ú C ©Î C++ ½sĶ¾¹¡C DB2 ®e³\¨Ï¥ÎªÌ±q¤@­Ó¸ê®Æ®w¨ú¥X¤w½sĶ§Î¦¡ªº SQL µ{§Ç¡A ¥H¤Î¦w¸Ë¤w½sĶ§Î¦¡ªº SQL µ{§Ç¨ì¥t¤@­Ó¸ê®Æ®w¡C DB2 ´£¨Ñ¤F«ü¥O¦æ¤¶­±¤Îµ{¦¡³]­p¤¶­±¨Ó°õ¦æ¨ú¥X¤Î¦w¸Ë§@·~¡C«ü¥O¦æ¤¶­±¥Ñ¨â­Ó CLP «ü¥O²Õ¦¨¡G GET ROUTINE ¤Î PUT ROUTINE¡Cµ{¦¡³]­p¤¶­±¥Ñ¨â­Ó¤º«ØÀx¦sµ{§Ç²Õ ¦¨¡GGET_ROUTINE_SAR ¤Î PUT_ROUTINE_SAR¡C¦³Ãö«ü¥O¦æ¤¶­±ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ·Ó Command Reference¡C¦³Ãöµ{¦¡³]­p¤¶­±ªº¸Ô²Ó¸ê°T¡A ½Ð°Ñ·Ó SQL Reference¡C ­Y­n±q¤@­Ó¸ê®Æ®w¦øªA¾¹¤À°e¤w½sĶªº SQL µ{§Ç¨ì¥t¤@­Ó¸ê®Æ®w¦øªA¾¹¡A ½Ð°õ¦æ¤U ¦C¨BÆJ¡G ¨BÆJ 1. ¶}µoÀ³¥Îµ{¦¡¡A¥]¬A©w¸q¬°À³¥Îµ{¦¡³¡¤Àªº SQL µ{§Ç¡C ¨BÆJ 2. ¦b´ú¸Õµ{§Ç«á¡A±N¨C¤@­Óµ{§Çªº¤w½sĶª©¥»¨ú¥X¨ì¤@­Ó¤£¦PªºÀɮסC ­Y »Ý¸Ô²Ó¸ê°T¡A½Ð°Ñ·Ó Command Reference ¤¤ªº GET ROUTINE «ü¥O©Î SQL Reference ¤¤ªº GET_ROUTINE_SAR Àx¦sµ{§Ç¡C ¨BÆJ 3. ¦b¨C¤@¥x¦øªA¾¹¤W¦w¸Ë¨C¤@­Óµ{§Çªº¤w½sĶª©¥»¡A ±z¥iµo¥X PUT ROUTINE «ü¥O¡A©Î©I¥s PUT_ROUTINE_SAR Àx¦sµ{§Ç (¨Ï¥Î 2 ©Ò«Ø¥ßªº ÀÉ®×)¡C¨C¤@­Ó¸ê®Æ®w¦øªA¾¹ªº§@·~¨t²Î¤Î DB2 ¼h¦¸¥²¶·¬Û¦P¡C ------------------------------------------------------------------------ 34.5 ²Ä 7 ³¹ ¶}µo HP-UX À³¥Îµ{¦¡ 34.5.1 HP-UX C ¦b¡u¦h­«°õ¦æºüÀ³¥Îµ{¦¡¡v¤º¡Abldmt Script ÀɥѤ£¦Pªº½sĶ¿ï¶µ­×¥¿¡C ·sª©¥»¦b sqllib/samples/c ¥Ø¿ý¤U¡C 34.5.2 HP-UX C++ ¦b«Ø¸m Script ¤¤¡AHP aC++ ½sĶ¾¹ªº C++ ½sĶ¾¹ÅÜ¼Æ CC ³Q¨ú¥N¬° aCC¡C «Ø¸m Script ªº­×¥¿ª©¦b sqllib/samples/cpp ¥Ø¿ý¤U¡C "+u1" ½sĶ¿ï¶µÀ³¸Ó©M aCC ½sĶ¾¹¤@°_¥Î¨Ó«Ø¸mÀx¦sµ{§Ç¤Î UDF¡C ¦¹¿ï¶µ®e³\¥¼½Õ ¾ãªº¸ê®Æ¦s¨ú¡Cªþ¦b DB2 for HP-UX ¤¤ªº½d¨Ò«Ø¸m Script¡B bldsrv ©M bldudf¡A¥H ¤Î½d¨Ò makefile ©|¥¼¥Î¦¹¿ï¶µ§ó·s¡C¦b¨Ï¥Î«eÀ³¸Ó­n­×§ï¥¦­Ì¨Ó¥[¤J³o­Ó¿ï¶µ¡C ³o ¸Ì¬O bldsrv ¤Î bldudf Script ªº·s½sĶ¨BÆJ¡G aCC +DAportable +u1 -Aa +z -ext -I$DB2PATH/include -c $1.C ¦b¡u¦h­«°õ¦æºüÀ³¥Îµ{¦¡¡v¤º¡Abldmt Script ÀɥѤ£¦Pªº½sĶ¿ï¶µ­×¥¿¡C ·sª©¥»¦b sqllib/samples/cpp ¥Ø¿ý¤U¡C ------------------------------------------------------------------------ 34.6 ²Ä 9 ³¹ ¶}µo OS/2 À³¥Îµ{¦¡ 34.6.1 VisualAge C++ for OS/2 ª©¥» 4.0 °w¹ï OS/2 ©M Windows¡A¨Ï¥Î set «ü¥O¦Ó¤£¨Ï¥Î¦¹¸`¤¤ªº export «ü¥O¡C¨Ò¦p¡Aset CLI=tbinfo¡C ¦b¡uDB2 CLI À³¥Îµ{¦¡¡vªº¦¸³¹¸`¡u«Ø¸m¨Ã°õ¦æ¤º§tªº SQL À³¥Îµ{¦¡¡v¸Ì¡A °w¹ï OS/2 ©M Windows¡A¥²¶·¨Ï¥Î cliapi.icc ÀɦӫD cli.icc ÀÉ¡A ¦]¬°¤º§tªº SQL À³ ¥Îµ{¦¡»Ý­n¥Ñ cliapi.icc Ãìµ²ªº db2api.lib ÀÉ®×®w¡C ------------------------------------------------------------------------ 34.7 ²Ä 10 ³¹ ¶}µo PTX À³¥Îµ{¦¡ 34.7.1 ptx/C++ ÀÉ®×®w»Ý­n¥H -shared ¿ï¶µÃìµ²¡A¥H«Ø¸mÀx¦sµ{§Ç©M¨Ï¥ÎªÌ©w¸q¨ç¼Æ¡C ¦b sqllib/samples ¥Ø¿ý¸Ì¡Amakefile¡B «Ø¸m scripts bldsrv ©M bldudf ¤w§ó·s¨Ö¤J ³o­Ó¿ï¶µ¡A ¦p¦P¤U¦C bldsrv ªºÃìµ²¨BÆJ¡G c++ -shared -G -o $1 $1.o -L$DB2PATH/lib -ldb2 ------------------------------------------------------------------------ 34.8 ²Ä 12 ³¹ ¶}µo Solaris À³¥Îµ{¦¡ 34.8.1 SPARCompiler C++ ©ó Solaris °õ¦æ C/C++ À³¥Îµ{¦¡©M SQL µ{§Çªº°ÝÃD ¨Ï¥Î Sun WorkShop Compiler C/C++¡A¦pªG±z¸I¨ì¥i°õ¦æÀɱµ¦¬¨ì¤U¦C¿ù»~°T®§®É¡G 1. ²Ä¤@¦æ»yªk¿ù»~: `('¹w´Áªº 2. ksh: <À³¥Îµ{¦¡¦WºÙ>: ¤£¯à°õ¦æ (À³¥Îµ{¦¡¦WºÙ¬°¥i°õ¦æÀɦWºÙ) ±z¥i¯à¹J¨ìªº°ÝÃD¬O¡A½sĶ¾¹¦bÃìµ² libdb2.so ®É¡A¨S¦³²£¥Í¦³®Äªº¥i°õ¦æÀÉ¡C «Ø ij­×¥¿¤èªk¡A·s¼W¤U¦C½sĶ¾¹¿ï¶µ¦Ü½sĶ©MÃìµ²«ü¥O¡G -xarch=v8plusa ½d¨Ò¡A·í½sĶ½d¨ÒÀ³¥Îµ{¦¡ dynamic.sqc¡G embprep dynamic sample embprep utilemb sample cc -c utilemb.c -xarch=v8plusa -I/export/home/db2inst1/sqllib/include cc -o dynamic dynamic.c utilemb.o -xarch=v8plusa -I/export/home/db2inst1/sqllib/include \ -L/export/home/db2inst1/sqllib/lib -R/export/home/db2inst1/sqllib/lib -l db2 µù: 1. ­Y±z¦b Solaris ¤W¨Ï¥Î SQL µ{§Ç¡A¨Ã³z¹L DB2_SQLROUTINE_COMPILE_COMMAND ³]©wÀÉÅܼƨӨϥΦۤvªº½sĶ¦r¦ê¡A½Ð½T©w±z¤w±N¤W­zªº½sĶ¾¹¿ï¶µ¨Ö¤J¡C ¹w ³]ªº½sĶ¾¹«ü¥O¥]¬A¦¹¿ï¶µ¡G db2set DB2_SQLROUTINE_COMPILE_COMMAND="cc -# -Kpic -xarch=v8plusa -I$HOME/sqllib/include \ SQLROUTINE_FILENAME.c -G -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -R$HOME/sqllib/lib -ldb2 2. ­Y­n¦b Solaris ¤W½sĶ 64 ¦ì¤¸ SQL µ{§Ç¡A¨ú®ø -xarch=v8plusa ¿ï¶µ¡A¨Ã±N -xarch=v9 ¿ï¶µ·s¼W¨ì¤W­±ªº«ü¥O¡C ------------------------------------------------------------------------ 34.9 ²Ä 13 ³¹ «Ø¸m Windows 32 ¦ì¤¸§@·~¨t²ÎªºÀ³¥Îµ{¦¡ 34.9.1 VisualAge C++ ª©¥» 4.0 °w¹ï OS/2 ©M Windows¡A¨Ï¥Î set «ü¥O¦Ó¤£¨Ï¥Î¦¹¸`¤¤ªº export «ü¥O¡C¨Ò¦p¡Aset CLI=tbinfo¡C ¦b¡uDB2 CLI À³¥Îµ{¦¡¡vªº¦¸³¹¸`¡u«Ø¸m¨Ã°õ¦æ¤º§tªº SQL À³¥Îµ{¦¡¡v¸Ì¡A °w¹ï OS/2 ©M Windows¡A¥²¶·¨Ï¥Î cliapi.icc ÀɦӫD cli.icc ÀÉ¡A ¦]¬°¤º§tªº SQL À³ ¥Îµ{¦¡»Ý­n¥Ñ cliapi.icc Ãìµ²ªº db2api.lib ÀÉ®×®w¡C ------------------------------------------------------------------------ Application Development Guide(µL¤¤¤åª©) ------------------------------------------------------------------------ 35.1 Chapter 2. Coding a DB2 Application 35.1.1 Activating the IBM DB2 Universal Database Project and Tool Add-ins for Microsoft Visual C++ Before running the db2vccmd command (step 1), please ensure that you have started and stopped Visual C++ at least once with your current login ID. The first time you run Visual C++, a profile is created for your user ID, and that is what gets updated by the db2vccmd command. If you have not started it once, and you try to run db2vccmd, you may see errors like the following: "Registering DB2 Project add-in ...Failed! (rc = 2)" ------------------------------------------------------------------------ 35.2 Chapter 6. Common DB2 Application Techniques 35.2.1 Generating Sequential Values Generating sequential values is a common database application development problem. The best solution to that problem is to use sequence objects and sequence expressions in SQL. Each sequence object is a uniquely named database object that can be accessed only by sequence expressions. There are two sequence expressions: the PREVVAL expression and the NEXTVAL expression. The PREVVAL expression returns the most recently generated value for the specified sequence for a previous statement. The NEXTVAL sequence expression increments the value of the sequence object and returns the new value of the sequence object. To create a sequence object, issue the CREATE SEQUENCE statement. For example, to create a sequence object called id_values using the default attributes, issue the following statement: CREATE SEQUENCE id_values To display the current value of the sequence object, issue a VALUES statement using the PREVVAL expression: VALUES PREVVAL FOR id_values 1 ----------- 1 1 record(s) selected. You can repeatedly retrieve the current value of the sequence object, and the value that the sequence object returns does not change until you issue a NEXTVAL expression. In the following example, the PREVVAL expression returns a value of 1, until the NEXTVAL expression increments the value of the sequence object: VALUES PREVVAL FOR id_values 1 ----------- 1 1 record(s) selected. VALUES PREVVAL FOR id_values 1 ----------- 1 1 record(s) selected. VALUES NEXTVAL FOR id_values 1 ----------- 2 1 record(s) selected. VALUES PREVVAL FOR id_values 1 ----------- 2 1 record(s) selected. To update the value of a column with the next value of the sequence object, include the NEXTVAL expression in the UPDATE statement, as follows: UPDATE staff SET id = NEXTVAL FOR id_values WHERE id = 350 To insert a new row into a table using the next value of the sequence object, include the NEXTVAL expression in the INSERT statement, as follows: INSERT INTO staff (id, name, dept, job) VALUES (NEXTVAL FOR id_values, 'Kandil', 51, 'Mgr') For more information on the PREVVAL and NEXTVAL expressions, refer to the SQL Reference. 35.2.1.1 Controlling Sequence Behavior You can tailor the behavior of sequence objects to meet the needs of your application. You change the attributes of a sequence object when you issue the CREATE SEQUENCE statement to create a new sequence object, and when you issue the ALTER SEQUENCE statement for an existing sequence object. Following are some of the attributes of a sequence object that you can specify: Data type The AS clause of the CREATE SEQUENCE statement specifies the numeric data type of the sequence object. The data type, as specified in the "SQL Limits" appendix of the SQL Reference, determines the possible minimum and maximum values of the sequence object. You cannot change the data type of a sequence object; instead, you must drop the sequence object by issuing the DROP SEQUENCE statement and issuing a CREATE SEQUENCE statement with the new data type. Start value The START WITH clause of the CREATE SEQUENCE statement sets the initial value of the sequence object. The RESTART WITH clause of the ALTER SEQUENCE statement resets the value of the sequence object to a specified value. Minimum value The MINVALUE clause sets the minimum value of the sequence object. Maximum value The MAXVALUE clause sets the maximum value of the sequence object. Increment value The INCREMENT BY clause sets the value that each NEXTVAL expression adds to the sequence object. To decrement the value of the sequence object, specify a negative value. Sequence cycling The CYCLE clause causes the value of a sequence object that reaches its maximum or minimum value to return to its start value on the following NEXTVAL expression. For example, to create a sequence object called id_values that starts with a value of 0, has a maximum value of 1000, increments by 2 with each NEXTVAL expression, and returns to its start value when the maximum value is reached, issue the following statement: CREATE SEQUENCE id_values START WITH 0 INCREMENT BY 2 MAXVALUE 1000 CYCLE For more information on the CREATE SEQUENCE and ALTER SEQUENCE statements, refer to the SQL Reference. 35.2.1.2 Improving Performance with Sequence Objects Like identity columns, using sequence objects to generate values generally improves the performance of your applications in comparison to alternative approaches. The alternative to sequence objects is to create a single-column table that stores the current value and incrementing that value with either a trigger or under the control of the application. In a distributed environment where applications concurrently access the single-column table, the locking required to force serialized access to the table can seriously affect performance. Sequence objects avoid the locking issues that are associated with the single-column table approach and can cache sequence values in memory to improve DB2 response time. To maximize the performance of applications that use sequence objects, ensure that your sequence object caches an appropriate amount of sequence values. The CACHE clause of the CREATE SEQUENCE and ALTER SEQUENCE statements specifies the maximum number of sequence values that DB2 generates and stores in memory. If your sequence object must generate values in order, without introducing gaps in that order due to a system failure or database deactivation, use the ORDER and NO CACHE clauses in the CREATE SEQUENCE statement. The NO CACHE clause guarantees that no gaps appear in the generated values at the cost of some of your application's performance because it forces your sequence object to write to the database log every time it generates a new value. 35.2.1.3 Comparing Sequence Objects and Identity Columns Although sequence objects and identity columns appear to serve similar purposes for DB2 applications, there are a number of important differences: * An identity column automatically generates values for a column in a single table. A sequence object generates sequential values that can be used in any SQL statement. * An identity column generates values that are guaranteed to be unique. Including the CYCLE clause in a CREATE SEQUENCE or ALTER SEQUENCE statement enables that sequence object to generate duplicate values. ------------------------------------------------------------------------ 35.3 Chapter 7. Stored Procedures 35.3.1 DECIMAL Type Fails in Linux Java Routines This problem occurs because the IBM Developer Kit for Java does not create links for its libraries in the /usr/lib directory. The security model for DB2 routines does not allow them to access libraries outside of the standard system libraries. To enable DECIMAL support in Java routines on Linux, perform the following steps: 1. Create symbolic links from the IBM Developer Kit for Java libraries to /usr/lib/ by issuing the following command with root authority: For IBM Developer Kit for Java 1.1.8: ln -sf /usr/jdk118/lib/linux/native_threads/* /usr/lib/ For IBM Developer Kit for Java 1.3: ln -sf /opt/IBMJava2-13/jre/bin/*.so /usr/lib/ 2. Issue the ldconfig command to update the list of system-wide libraries. 35.3.2 Using Cursors in Recursive Stored Procedures To avoid errors when using SQL Procedures or stored procedures written in embedded SQL, close all open cursors before issuing a recursive CALL statement. For example, assume the stored procedure MYPROC contains the following code fragment: OPEN c1; CALL MYPROC(); CLOSE c1; DB2 returns an error when MYPROC is called because cursor c1 is still open when MYPROC issues a recursive CALL statement. The specific error returned by DB2 depends on the actions MYPROC performs on the cursor. To successfully call MYPROC, rewrite MYPROC to close any open cursors before the nested CALL statement as shown in the following example: OPEN c1; CLOSE c1; CALL MYPROC(); Close all open cursors before issuing the nested CALL statement to avoid an error. 35.3.3 Writing OLE Automation Stored Procedures The last sentence in the following paragraph is missing from the second paragraph under section "Writing OLE automation Stored Procedures": After you code an OLE automation object, you must register the methods of the object as stored procedures using the CREATE PROCEDURE statement. To register an OLE automation stored procedure, issue a CREATE PROCEDURE statement with the LANGUAGE OLE clause. The external name consists of the OLE progID identifying the OLE automation object and the method name separated by ! (exclamation mark). The OLE automation object needs to be implemented as an in-process server (.DLL). ------------------------------------------------------------------------ 35.4 Chapter 12. Working with Complex Objects: User-Defined Structured Types 35.4.1 Inserting Structured Type Attributes Into Columns The following rule applies to embedded static SQL statements: To insert an attribute of a user-defined structured type into a column that is of the same type as the attribute, enclose the host variable that represents the instance of the type in parentheses, and append the double-dot operator and attribute name to the closing parenthesis. For example, consider the following situation: - PERSON_T is a structured type that includes the attribute NAME of type VARCHAR(30). - T1 is a table that includes a column C1 of type VARCHAR(30). - personhv is the host variable declared for type PERSON_T in the programming language. The proper syntax for inserting the NAME attribute into column C1 is: EXEC SQL INSERT INTO T1 (C1) VALUES ((:personhv)..NAME) ------------------------------------------------------------------------ 35.5 Chapter 13. Using Large Objects (LOBs) 35.5.1 Large object (LOBs) support in federated database systems DB2 supports three types of large objects (LOBs): character large objects (CLOBs), double-byte character large objects (DBCLOBs) and binary large objects (BLOBs). For general information about DB2 LOB support, see the following DB2 books: * DB2 Application Development Guide(µL¤¤¤åª©) * DB2 SQL Reference(µL¤¤¤åª©) * DB2 Administration Guide: Planning(µL¤¤¤åª©) In a federated database system, you can access and manipulate LOBs at remote data sources. Because LOBs can be very large, transferring LOBs from a remote data source can be time consuming. The DB2 federated database attempts to minimize transferring LOB data from the data sources, and also attempts to deliver requested LOB data directly from the data source to the requesting application without materializing the LOB at DB2. This section discusses: * How DB2 retrieves LOBs * How applications can use LOB locators * Restrictions on LOBs * Mappings between LOB and non-LOB data types * Tuning the system 35.5.1.1 How DB2 retrieves LOBs DB2 federated systems use two mechanisms to retrieve LOBs: LOB streaming and LOB materialization. LOB streaming In LOB streaming, LOB data is retrieved in stages. DB2 uses LOB streaming for data in result sets of queries that are completely pushed down. For example, consider the following query: SELECT empname, picture FROM orc_emp_table WHERE empno = '01192345' where picture represents a LOB column and orc_emp_table represents a nickname referencing an Oracle table containing employee data. The DB2 query processor marks the picture column for streaming if it decides to run the entire query at the Oracle data source. At execution time, if DB2 notes that a LOB is marked for streaming, it retrieves the LOB in stages from the data source. DB2 then transfers the data to the application memory space. LOB materialization In LOB materialization, the remote LOB data is retrieved by DB2 and stored locally at the federated server. DB2 uses LOB materialization when: * The LOB column cannot be deferred or streamed. * A function must be applied to a LOB column locally, before the data is transferred. This happens when DB2 compensates for functions not available at a remote data source. For example, Microsoft SQL Server does not provide a SUBSTR function for LOB columns. To compensate, DB2 materializes the LOB column locally and applies the DB2 SUBSTR function to the retrieved LOB. 35.5.1.2 How applications can use LOB locators Applications can request LOB locators for LOBs stored in remote data sources. A LOB locator is a 4-byte value stored in a host variable that a program can use to refer to a LOB value (or LOB expression) held in the database system. Using a LOB locator, a program can manipulate the LOB value as if the LOB value was stored in a regular host variable. The difference in using the LOB locator is that there is no need to transport the LOB value from the server to the application (and possibly back again). See the DB2 Application Development Guide for additional information about LOB locators. DB2 can retrieve LOBs from remote data sources, store them at DB2, and then issue a LOB locator against the stored LOB. LOB locators are released when: * Applications issue "FREE LOCATOR" SQL statements. * Applications issue COMMIT statements. * DB2 is restarted. 35.5.1.3 Restrictions on LOBs When using and retrieving LOBs, consider that: * DB2 is unable to bind remote LOBs to a file reference variable. * LOBs are not supported in pass-through mode. 35.5.1.4 Mappings between LOB and non-LOB data types There are a few cases in which you can map a DB2 LOB data type to a non-LOB data type at a data source. When you need to create a mapping between a column with a DB2 LOB type and its counterpart column at a data source, it is recommended that you use a LOB data type as a counterpart if at all possible. To create a mapping, use the create type mapping DDL statement. For example: CREATE TYPE MAPPING my_oracle_lob FROM sysibm.clob TO SERVER TYPE oracle TYPElong where: my_oracle_lob Is the name of the type mapping. sysibm.clob Is the DB2 CLOB data type. oracle Is the type of server you are connecting to. long Is the Oracle data type counterpart. 35.5.2 Tuning the system If an application that retrieves remote LOBs returns an error message indicating there is not enough system resources to process the statement, increase the value of the application heap size parameter, APPLHEAPSZ, in the database configuration file. For example: DB2 UPDATE DB CFG FOR EMPLOYEE USING APPLHEAPSZ 512 where EMPLOYEE is the name of the database you are tuning and 512 is the value of the application heap size parameter. ------------------------------------------------------------------------ 35.6 Part 5. DB2 Programming Considerations 35.6.1 IBM DB2 OLE DB Provider Installing IBM DB2 Version 7.1 FixPak 1 or later corrects the condition that caused DB2 to issue the following error: Test connection failed because of an error in initializing provider. The IBM OLE DB Provider is not available at this time. Please refer to the readme file for more information. For more information on using the IBM OLE DB Provider for DB2, please refer to http://www.ibm.com/software/data/db2/udb/ad/v71/oledb.html. ------------------------------------------------------------------------ 35.7 Chapter 20. Programming in C and C++ The following table supplements the information included in chapter 7, "Stored Procedures", chapter 15, "Writing User-Defined Functions and Methods", and chapter 20, "Programming in C and C++". The table lists the supported mappings between SQL data types and C data types for stored procedures, UDFs, and methods. 35.7.1 C/C++ Types for Stored Procedures, Functions, and Methods Table 22. SQL Data Types Mapped to C/C++ Declarations SQL Column Type C/C++ Data Type SQL Column Type Description SMALLINT sqlint16 16-bit signed integer (500 or 501) INTEGER sqlint32 32-bit signed integer (496 or 497) BIGINT sqlint64 64-bit signed integer (492 or 493) REAL float Single-precision floating (480 or 481) point DOUBLE double Double-precision floating (480 or 481) point DECIMAL(p,s) Not supported. To pass a decimal value, (484 or 485) define the parameter to be of a data type castable from DECIMAL (for example CHAR or DOUBLE) and explicitly cast the argument to this type. CHAR(n) char[n+1] where n is Fixed-length, (452 or 453) large enough to hold null-terminated character the data string 1<=n<=254 CHAR(n) FOR BIT DATA char[n+1] where n is Fixed-length character (452 or 453) large enough to hold string the data 1<=n<=254 VARCHAR(n) char[n+1] where n is Null-terminated varying (448 or 449) (460 or large enough to hold length string 461) the data 1<=n<=32 672 VARCHAR(n) FOR BIT struct { Not null-terminated varying DATA sqluint16 length; length character string (448 or 449) char[n] } 1<=n<=32 672 LONG VARCHAR struct { Not null-terminated varying (456 or 457) sqluint16 length; length character string char[n] } 32 673<=n<=32 700 CLOB(n) struct { Non null-terminated varying (408 or 409) sqluint32 length; length character string with char data[n]; 4-byte string length } indicator 1<=n<=2 147 483 647 BLOB(n) struct { Non null-terminated varying (404 or 405) sqluint32 length; binary string with 4-byte char data[n]; string length indicator } 1<=n<=2 147 483 647 DATE char[11] null-terminated character (384 or 385) form TIME char[9] null-terminated character (388 or 389) form TIMESTAMP char[27] null-terminated character (392 or 393) form Notes: The following data types are only available in the DBCS or EUC environment when precompiled with the WCHARTYPE NOCONVERT option. GRAPHIC(n) sqldbchar[n+1] where n Fixed-length, (468 or 469) is large enough to null-terminated double-byte hold the data character string 1<=n<=127 VARGRAPHIC(n) sqldbchar[n+1] where n Not null-terminated, (400 or 401) is large enough to variable-length double-byte hold the data character string 1<=n<=16 336 LONG VARGRAPHIC struct { Not null-terminated, (472 or 473) sqluint16 length; variable-length double-byte sqldbchar[n] character string } 16 337<=n<=16 350 DBCLOB(n) struct { Non null-terminated varying (412 or 413) sqluint32 length; length character string with sqldbchar data[n]; 4-byte string length } indicator 1<=n<=1 073 741 823 ------------------------------------------------------------------------ 35.8 Chapter 21. Programming in Java 35.8.1 Java Method Signature in PARAMETER STYLE JAVA Procedures and Functions If specified after the Java method name in the EXTERNAL NAME clause of the CREATE PROCEDURE or CREATE FUNCTION statement, the Java method signature must correspond to the default Java type mapping for the signature specified after the procedure or function name. For example, the default Java mapping of the SQL type INTEGER is "int", not "java.lang.Integer". 35.8.2 Connecting to the JDBC Applet Server It is essential that the db2java.zip file used by the Java applet be at the same FixPak level as the JDBC applet server. Under normal circumstances, db2java.zip is loaded from the Web Server where the JDBC applet server is running, as shown in Figure 22 of the book. This ensures a match. If, however, your configuration has the Java applet loading db2java.zip from a different location, a mismatch can occur. Prior to FixPak 2, this could lead to unexpected failures. As of FixPak 2, matching FixPak levels between the two files is strictly enforced at connection time. If a mismatch is detected, the connection is rejected, and the client receives one of the following exceptions: * If db2java.zip is at FixPak 2 or later: COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0621E Unsupported JDBC server configuration. * If db2java.zip is prior to FixPak 2: COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0601E Invalid statement handle or statement is closed. SQLSTATE=S1000 If a mismatch occurs, the JDBC applet server logs one of the following messages in the jdbcerr.log file: * If the JDBC applet server is at FixPak 2 or later: jdbcFSQLConnect: JDBC Applet Server and client (db2java.zip) versions do not match. Unable to proceed with connection., einfo= -111 * If the JDBC applet server is prior to FixPak 2: jdbcServiceConnection(): Invalid Request Received., einfo= 0 ------------------------------------------------------------------------ 35.9 Appendix B. Sample Programs The following should be added to the "Object Linking and Embedding Samples" section: salarycltvc A Visual C++ DB2 CLI sample that calls the Visual Basic stored procedure, salarysrv. SALSVADO A sample OLE automation stored procedure (SALSVADO) and a SALCLADO client (SALCLADO), implemented in 32-bit Visual Basic and ADO, that calculates the median salary in table staff2. ------------------------------------------------------------------------ CLI Guide and Reference(µL¤¤¤åª©) ------------------------------------------------------------------------ 36.1 Binding Database Utilities Using the Run-Time Client The Run-Time Client cannot be used to bind the database utilities (import, export, reorg, the command line processor) and DB2 CLI bind files to each database before they can be used with that database. You must use the DB2 Administration Client or the DB2 Application Development Client instead. You must bind these database utilities and DB2 CLI bind files to each database before they can be used with that database. In a network environment, if you are using multiple clients that run on different operating systems, or are at different versions or service levels of DB2, you must bind the utilities once for each operating system and DB2-version combination. ------------------------------------------------------------------------ 36.2 Using Static SQL in CLI Applications For more information on using static SQL in CLI applications, see the Web page at: http://www.ibm.com/software/data/db2/udb/staticcli/ ------------------------------------------------------------------------ 36.3 Limitations of JDBC/ODBC/CLI Static Profiling JDBC/ODBC/CLI static profiling currently targets straightforward applications. It is not meant for complex applications with many functional components and complex program logic during execution. An SQL statement must have successfully executed for it to be captured in a profiling session. In a statement matching session, unmatched dynamic statements will continue to execute as dynamic JDBC/ODBC/CLI calls. An SQL statement must be identical character-by-character to the one that was captured and bound to be a valid candidate for statement matching. Spaces are significant: for example, "COL = 1" is considered different than "COL=1". Use parameter markers in place of literals to improve match hits. When executing an application with pre-bound static SQL statements, dynamic registers that control the dynamic statement behavior will have no effect on the statements that are converted to static. If an application issues DDL statements for objects that are referenced in subsequent DML statements, you will find all of these statements in the capture file. The JDBC/ODBC/CLI Static Profiling Bind Tool will attempt to bind them. The bind attempt will be successful with DBMSs that support the VALIDATE(RUN) bind option, but it fail with ones that do not. In this case, the application should not use Static Profiling. The Database Administrator may edit the capture file to add, change, or remove SQL statements, based on application-specific requirements. ------------------------------------------------------------------------ 36.4 ADT Transforms The following supercedes existing information in the book. * There is a new descriptor type (smallint) SQL_DESC_USER_DEFINED_TYPE_CODE, with values: SQL_TYPE_BASE 0 (this is not a USER_DEFINED_TYPE) SQL_TYPE_DISTINCT 1 SQL_TYPE_STRUCTURED 2 This value can be queried with either SQLColAttribute or SQLGetDescField (IRD only). The following attributes are added to obtain the actual type names: SQL_DESC_REFERENCE_TYPE SQL_DESC_STRUCTURED_TYPE SQL_DESC_USER_TYPE The above values can be queried using SQLColAttribute or SQLGetDescField (IRD only). * Add SQL_DESC_BASE_TYPE in case the application needs it. For example, the application may not recognize the structured type, but intends to fetch or insert it, and let other code deal with the details. * Add a new connection attribute called SQL_ATTR_TRANSFORM_GROUP to allow an application to set the transform group (rather than use the SQL "SET CURRENT DEFAULT TRANSFORM GROUP" statement). * Add a new statement/connection attribute called SQL_ATTR_RETURN_USER_DEFINED_TYPES that can be set or queried using SQLSetConnectAttr, which causes CLI to return the value SQL_DESC_USER_DEFINED_TYPE_CODE as a valid SQL type. This attribute is required before using any of the transforms. o By default, the attribute is off, and causes the base type information to be returned as the SQL type. o When enabled, SQL_DESC_USER_DEFINED_TYPE_CODE will be returned as the SQL_TYPE. The application is expected to check for SQL_DESC_USER_DEFINED_TYPE_CODE, and then to retrieve the appropriate type name. This will be available to SQLColAttribute, SQLDescribeCol, and SQLGetDescField. * The SQLBindParameter does not give an error when you bind SQL_C_DEFAULT, because there is no code to allow SQLBindParameter to specify the type SQL_USER_DEFINED_TYPE. The standard default C types will be used, based on the base SQL type flowed to the server. For example: sqlrc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 30, 0, &c2, 30, NULL); ------------------------------------------------------------------------ 36.5 Chapter 3. Using Advanced Features 36.5.1 Writing Multi-Threaded Applications The following should be added to the end of the "Multi-Threaded Mixed Applications" section: Notes: It is recommended that you do not use the default stack size, but instead increase the stack size to at least 256 000. DB2 requires a minimum stack size of 256 000 when calling a DB2 function. You must ensure therefore, that you allocate a total stack size that is large enough for both your application and the minimum requirements for a DB2 function call. 36.5.2 Scrollable Cursors The following information should be added to the "Scrollable Cursors" section: 36.5.2.1 Server-side Scrollable Cursor Support for OS/390 The UDB client for the Unix, Windows, and OS/2 platforms supports updatable server-side scrollable cursors when run against OS/390 Version 7 databases. To access an OS/390 scrollable cursor on a three-tier environment, the client and the gateway must be running DB2 UDB Version 7.1, FixPak 3 or later. There are two application enablement interfaces that can access scrollable cursors: ODBC and JDBC. The JDBC interface can only access static scrollable cursors, while the ODBC interface can access static and keyset-driven server-side scrollable cursors. Cursor Attributes The table below lists the default attributes for OS/390 Version 7 cursors in ODBC. Table 23. Default attributes for OS/390 cursors in ODBC Cursor Type Cursor Cursor Cursor Cursor Sensitivity Updatable Concurrency Scrollable forward-onlya unspecified non-updatable read-only non-scrollable concurrency static insensitive non-updatable read-only scrollable concurrency keyset-driven sensitive updatable values scrollable concurrency a Forward-only is the default behavior for a scrollable cursor without the FOR UPDATE clause. Specifying FOR UPDATE on a forward-only cursor creates an updatable, lock concurrency, non-scrollable cursor. Supported Fetch Orientations All ODBC fetch orientations are supported via the SQLFetchScroll or SQLExtendedFetch interfaces. Updating the Keyset-Driven Cursor A keyset-driven cursor is an updatable cursor. The CLI driver appends the FOR UPDATE clause to the query, except when the query is issued as a SELECT ... FOR READ ONLY query, or if the FOR UPDATE clause already exists. The keyset-driven cursor implemented in DB2 for OS/390 is a values concurrency cursor. A values concurrency cursor results in optimistic locking, where locks are not held until an update or delete is attempted. When an update or delete is attempted, the database server compares the previous values the application retrieved to the current values in the underlying table. If the values match, then the update or delete succeeds. If the values do not match, then the operation fails. If failure occurs, the application should query the values again and re-issue the update or delete if it is still applicable. An application can update a keyset-driven cursor in two ways: * Issue an UPDATE WHERE CURRENT OF "" or DELETE WHERE CURRENT OF "" using SQLPrepare() with SQLExecute() or SQLExecDirect(). * Use SQLSetPos() or SQLBulkOperations() to update, delete, or add a row to the result set. Notes: Rows added to a result set via SQLSetPos() or SQLBulkOperations() are inserted into the table on the server, but are not added to the server's result set. Therefore, these rows are not updatable nor are they sensitive to changes made by other transactions. The inserted rows will appear, however, to be part of the result set, since they are cached on the client. Any triggers that apply to the inserted rows will appear to the application as if they have not been applied. To make the inserted rows updatable, sensitive, and to see the result of applicable triggers, the application must issue the query again to regenerate the result set. Troubleshooting for Applications Created Before Scrollable Cursor Support Since scrollable cursor support is new, some ODBC applications that were working with previous releases of UDB for OS/390 or UDB for Unix, Windows, and OS/2 may encounter behavioral or performance changes. This occurs because before scrollable cursors were supported, applications that requested a scrollable cursor would receive a forward-only cursor. To restore an application's previous behavior before scrollable cursor support, set the following configuration keywords in the db2cli.ini file: Table 24. Configuration keyword values restoring application behavior before scrollable cursor support Configuration Keyword Setting Description PATCH2=6 Returns a message that scrollable cursors (both keyset-driven and static) are not supported. CLI automatically downgrades any request for a scrollable cursor to a forward-only cursor. DisableKeysetCursor=1 Disables both the server-side and client-side keyset-driven scrollable cursors. This can be used to force the CLI driver to give the application a static cursor when a keyset-driven cursor is requested. UseServerKeysetCursor=0 Disables the server-side keyset-driven cursor for applications that are using the client-side keyset-driven cursor library to simulate a keyset-driven cursor. Only use this option when problems are encountered with the server-side keyset-driven cursor, since the client-side cursor incurs a large amount of overhead and will generally have poorer performance than a server-side cursor. 36.5.3 Using Compound SQL The following note is missing from the book: Any SQL statement that can be prepared dynamically, other than a query, can be executed as a statement inside a compound statement. Note: Inside Atomic Compound SQL, savepoint, release savepoint, and rollback to savepoint SQL statements are also disallowed. Conversely, Atomic Compound SQL is disallowed in savepoint. 36.5.4 Using Stored Procedures 36.5.4.1 Writing a Stored Procedure in CLI Following is an undocumented limitation on CLI stored procedures: If you are making calls to multiple CLI stored procedures, the application must close the open cursors from one stored procedure before calling the next stored procedure. More specifically, the first set of open cursors must be closed before the next stored procedure tries to open a cursor. 36.5.4.2 CLI Stored Procedures and Autobinding The following supplements information in the book: The CLI/ODBC driver will normally autobind the CLI packages the first time a CLI/ODBC application executes SQL against the database, provided the user has the appropriate privilege or authorization. Autobinding of the CLI packages cannot be performed from within a stored procedure, and therefore will not take place if the very first thing an application does is call a CLI stored procedure. Before running a CLI application that calls a CLI stored procedure against a new DB2 database, you must bind the CLI packages once with this command: UNIX db2 bind /@db2cli.lst blocking all Windows and OS/2 db2bind "%DB2PATH%\bnd\@db2cli.lst" blocking The recommended approach is to always bind these packages at the time the database is created to avoid autobind at runtime. Autobind can fail if the user does not have privilege, or if another application tries to autobind at the same time. ------------------------------------------------------------------------ 36.6 Chapter 4. Configuring CLI/ODBC and Running Sample Applications 36.6.1 Configuration Keywords Disregard the last paragraph in the CURRENTFUNCTIONPATH keyword. The correct information is as follows: This keyword is used as part of the process for resolving unqualified function and stored procedure references that may have been defined in a schema name other than the current user's schema. The order of the schema names determines the order in which the function and procedure names will be resolved. For more information on function and procedure resolution, refer to the SQL Reference. ------------------------------------------------------------------------ 36.7 Chapter 5. DB2 CLI Functions 36.7.1 SQLBindFileToParam - Bind LOB File Reference to LOB Parameter The last parameter - IndicatorValue - in the SQLBindFileToParam() CLI function is currently documented as "output (deferred)". It should be "input (deferred)". 36.7.2 SQLNextResult - Associate Next Result Set with Another Statement Handle The following text should be added to Chapter 5, "DB2 CLI Functions": 36.7.2.1 Purpose Specification: DB2 CLI 7.x 36.7.2.2 Syntax SQLRETURN SQLNextResult (SQLHSTMT StatementHandle1 SQLHSTMT StatementHandle2); 36.7.2.3 Function Arguments Table 25. SQLNextResult Arguments Data Type Argument Use Description SQLHSTMT StatementHandle input Statement handle. SQLHSTMT StatementHandle input Statement handle. 36.7.2.4 Usage A stored procedure returns multiple result sets by leaving one or more cursors open after exiting. The first result set is always accessed by using the statement handle that called the stored procedure. If multiple result sets are returned, either SQLMoreResults() or SQLNextResult() can be used to describe and fetch the result set. SQLMoreResults() is used to close the cursor for the first result set and allow the next result set to be processed, whereas SQLNextResult() moves the next result set to StatementHandle2, without closing the cursor on StatementHandle1. Both functions return SQL_NO_DATA_FOUND if there are no result sets to be fetched. Using SQLNextResult() allows result sets to be processed in any order once they have been transferred to other statement handles. Mixed calls to SQLMoreResults() and SQLNextResult() are allowed until there are no more cursors (open result sets) on StatementHandle1. When SQLNextResult() returns SQL_SUCCESS, the next result set is no longer associated with StatementHandle1. Instead, the next result set is associated with StatementHandle2, as if a call to SQLExecDirect() had just successfully executed a query on StatementHandle2. The cursor, therefore, can be described using SQLNumResultSets(), SQLDescribeCol(), or SQLColAttribute(). After SQLNextResult() has been called, the result set now associated with StatementHandle2 is removed from the chain of remaining result sets and cannot be used again in either SQLNextResult() or SQLMoreResults(). This means that for 'n' result sets, SQLNextResult() can be called successfully at most 'n-1' times. If SQLFreeStmt() is called with the SQL_CLOSE option, or SQLFreeHandle() is called with HandleType set to SQL_HANDLE_STMT, all pending result sets on this statement handle are discarded. SQLNextResult() returns SQL_ERROR if StatementHandle2 has an open cursor or StatementHandle1 and StatementHandle2 are not on the same connection. If any errors or warnings are returned, SQLError() must always be called on StatementHandle1. Notes: SQLMoreResults() also works with a parameterized query with an array of input parameter values specified with SQLParamOptions() and SQLBindParameter(). SQLNextResult(), however, does not support this. 36.7.2.5 Return Codes * SQL_SUCCESS * SQL_SUCCESS_WITH_INFO * SQL_STILL_EXECUTING * SQL_ERROR * SQL_INVALID_HANDLE * SQL_NO_DATA_FOUND 36.7.2.6 Diagnostics Table 26. SQLNextResult SQLSTATEs SQLSTATE Description Explanation 40003 Communication Link The communication link between the 08S01 failure. application and data source failed before the function completed. 58004 Unexpected system Unrecoverable system error. failure. HY001 Memory allocation DB2 CLI is unable to allocate the memory failure. required to support execution or completion of the function. HY010 Function sequence The function was called while in a error. data-at-execute (SQLParamData(), SQLPutData()) operation. StatementHandle2 has an open cursor associated with it. The function was called while within a BEGIN COMPOUND and END COMPOUND SQL operation. HY013 Unexpected memory DB2 CLI was unable to access the memory handling error. required to support execution or completion of the function. HYT00 Time-out expired. The time-out period expired before the data source returned the result set. Time-outs are only supported on non-multitasking systems such as Windows 3.1 and Macintosh System 7. The time-out period can be set using the SQL_ATTR_QUERY_TIMEOUT attribute for SQLSetConnectAttr(). 36.7.2.7 Restrictions Only SQLMoreResults() can be used for parameterized queries. 36.7.2.8 References * "SQLMoreResults - Determine If There Are More Result Sets" on page 535 * "Returning Result Sets from Stored Procedures" on page 120 ------------------------------------------------------------------------ 36.8 Appendix D. Extended Scalar Functions 36.8.1 Date and Time Functions The following functions are missing from the Date and Time Functions section of Appendix D "Extended Scalar Functions": DAYOFWEEK_ISO( date_exp ) Returns the day of the week in date_exp as an integer value in the range 1-7, where 1 represents Monday. Note the difference between this function and the DAYOFWEEK() function, where 1 represents Sunday. WEEK_ISO( date_exp ) Returns the week of the year in date_exp as an integer value in the range of 1-53. Week 1 is defined as the first week of the year to contain a Thursday. Therefore, Week1 is equivalent to the first week that contains Jan 4, since Monday is considered to be the first day of the week. Note that WEEK_ISO() differs from the current definition of WEEK(), which returns a value up to 54. For the WEEK() function, Week 1 is the week containing the first Saturday. This is equivalent to the week containing Jan. 1, even if the week contains only one day. DAYOFWEEK_ISO() and WEEK_ISO() are automatically available in a database created in Version 7. If a database was created prior to Version 7, these functions may not be available. To make DAYOFWEEK_ISO() and WEEK_ISO() functions available in such a database, use the db2updb system command. For more information about db2updb, see the "Command Reference" section in these Release Notes. ------------------------------------------------------------------------ 36.9 Appendix K. Using the DB2 CLI/ODBC/JDBC Trace Facility The sections within this appendix have been updated. See the "Traces" chapter in the Troubleshooting Guide for the most up-to-date information on this trace facility. ------------------------------------------------------------------------ °T®§°Ñ¦Ò¤â¥U ------------------------------------------------------------------------ 37.1 ¨ú±o°T®§»P SQLSTATE »¡©ú ©R¥O¦æ³B²z¾¹ªº¥i¥Î»¡©ú¬O¥]§t°T®§»P SQLSTATE ­Èªº·sªº (©Î§ó·sªº) »¡©ú¡A ¦b°T ®§°Ñ¦Ò¤â¥U¤¤©|¥¼´£¨Ñ¡C ­Y­n±q©R¥O¦æ³B²z¾¹Åã¥Ü°T®§¡A½Ð¦b§@·~¨t²Îªº©R¥O´£¥Ü¤U¿é¤J¤U¦C«ü¥O¡G db2 "? XXXnnnnn" ¨ä¤¤ XXX ¥Nªí°T®§ªº¦r­º¡F¦Ó nnnnn ¥Nªí°T®§½X¡C ¨Ò¦p¡Gdb2 "? SQL30081" ·|Åã¥ÜÃö©ó SQL30081 °T®§ªº»¡©ú¡C ­Y­n±q©R¥O¦æ³B²z¾¹Åã¥Ü SQLSTATE ¤å¦r¡A½Ð¦b§@·~¨t²Îªº©R¥O´£¥Ü¤U¿é¤J¤U¦C«ü ¥O¡G db2 "? XXXXX" ¨ä¤¤ XXXXX ¥Nªí SQLSTATE ­È¡C ¨Ò¦p¡Gdb2 "? 428F1" ·|Åã¥Ü SQLSTATE 428F1 ªº¤å¦r¡C ------------------------------------------------------------------------ 37.2 ¦b DB2 Connect ÅÜ§óªº SQLCODE ­«·s¹ï¬M DB2 Connect ªº¹w³] SQLCODE ­«·s¹ï¬M¦bª©¥» 7.2 ¤¤¤wÅܧó¡C·í¥D¹q¸£¸ê®Æ®w¶Ç¦^ SQLCODE ­È -567¡A DB2 Connect ·|¦b¶Ç¦^ SQLCODE ­È¨ì DB2 ±qÄݯ¸¤§«e­«·s¹ï¬M SQLCODE ­È¨ì -551¡C ------------------------------------------------------------------------ 37.3 ·sªº»PÅܧ󪺰T®§ ¥H¤U¦C¥Üªº¬O DB2 °T®§°Ñ¦Ò¤â¥U ª©¥» 7.1 ¥H«áÅܧ󪺰T®§½X¡C ¦b¨Ï¥Î DB2 ®É­Y±z ±µ¦¬¨ì³o¨Ç°T®§ªº¨ä¤¤¤@«h¡A ±z±N·|±µ¦¬¨ì§ó¥¿ªº·s°T®§¡F¦ý¬O¡A³o°T®§·|µLªk¹ïÀ³ ¨ì°T®§°Ñ¦Ò¤â¥U¤¤ªº¸ê°T¡C 37.3.1 ©I¥s¼h¦¸¤¶­± (CLI) °T®§ CLI0645E CLI0646E CLI0647E 37.3.2 DB2 °T®§ DB21086I DB210060E DB210061E DB210062E DB210113E DB210114E DB210115E DB210116E DB210117E DB210118E DB210120E DB210121E DB210200I DB210201I 37.3.3 DBI °T®§ DBI1172E DBI1793W DBI1794E DBI1795E DBI1796W DBI1797I 37.3.4 ¸ê®Æ­ÜÀx¤¤¤ß (DWC) °T®§ DWC0000I DWC03504E DWC08900E DWC08901E DWC08902E DWC08903E DWC08904E DWC08907C DWC08908C DWC08909C DWC08910E DWC08911E DWC08912E DWC08913E DWC08914E DWC08915E DWC08917E DWC08919I DWC08930E DWC08931E DWC08932E DWC08933E DWC08934E DWC08935E DWC08936W DWC08937I DWC08938I DWC08939I DWC08940I DWC08941I DWC08960I DWC08961I DWC08962I DWC08963I DWC08964I DWC08965I DWC08966E DWC08967E DWC08968E DWC13239E DWC13300E DWC13301E DWC13302E DWC13304E DWC13603E DWC13700E DWC13701E DWC13702E DWC13703E DWC13705E DWC13706E DWC13707E 37.3.5 SQL °T®§ SQL0017N SQL0056N SQL0057N SQL0058N SQL0097N SQL0224N SQL0225N SQL0227N SQL0228N SQL0231W SQL0243N SQL0244N SQL0270N SQL0301N SQL0303N SQL0336N SQL0348N SQL0349N SQL0357N SQL0358N SQL0368N SQL0408N SQL0423N SQL0590N SQL0670N SQL0845N SQL0846N SQL1179W SQL1186N SQL1550N SQL1551N SQL1552N SQL1553N SQL1704N SQL2077W SQL2078N SQL2417N SQL2426N SQL2571N SQL2572N SQL2573N SQL2574N SQL2575N SQL2576N SQL4942N SQL5012N SQL6583N SQL20005N SQL20117N SQL20121N SQL20133N SQL20134N SQL20135N SQL20143N SQL20144N SQL20145N SQL20146N SQL20147N SQL20148N SQL20153N SQL21000N ------------------------------------------------------------------------ 37.4 §ó¥¿ SQLSTATES ªí 27. 42630 SQLSTATE ©Î SQLCODE ÅܼƦb¦¹Àô¹Ò©w¸q¬OµL®Äªº¡C 42631 ªí¥Ü¦¡¥²¶·«ü©w©ó SQL ¨ç¼Æªº RETURN ³¯­z¦¡¤¤¡C 42632 ¦b SQL ¨ç¼Æ©Î¤èªk¤¤¥²¶·­n¦³ RETURN ³¯­z¦¡¡C 428F2 ¦b SQL µ{§Çªº RETURN ³¯­z¦¡¤¤¥²¶·­n¦³¾ã¼Æªí¥Ü¦¡¡C 560B7 ¹ï¦h¦C INSERT ¨Ó»¡¡A¨C¤@¦Cªº NEXTVAL ¶¶§Çªí¥Ü¦¡¥Îªk¥²¶·¬Û¦P¡C ------------------------------------------------------------------------ SQL Reference(µL¤¤¤åª©) ------------------------------------------------------------------------ 38.1 SQL Reference is Provided in One PDF File The "Using the DB2 Library" appendix in each book indicates that the SQL Reference is available in PDF format as two separate volumes. This is incorrect. Although the printed book appears in two volumes, and the two corresponding form numbers are correct, there is only one PDF file, and it contains both volumes. The PDF file name is db2s0x70. ------------------------------------------------------------------------ 38.2 Chapter 3. Language Elements 38.2.1 Naming Conventions and Implicit Object Name Qualifications Add the following note to this section in Chapter 3: The following names, when used in the context of SQL Procedures, are restricted to the characters allowed in an ordinary identifier, even if the names are delimited: - condition-name - label - parameter-name - procedure-name - SQL-variable-name - statement-name 38.2.2 DATALINK Assignments A paragraph in this section has been changed to the following: Note that the size of a URL parameter or function result is the same on both input or output and is bound by the length of the DATALINK column. However, in some cases the URL value returned has an access token attached. In situations where this is possible, the output location must have sufficient storage space for the access token and the length of the DATALINK column. Hence, the actual length of the comment and URL in its fully expanded form provided on input should be restricted to accommodate the output storage space. If the restricted length is exceeded, this error is raised. 38.2.3 Expressions 38.2.3.1 Syntax Diagram The syntax diagram has changed: .-operator------------------------------. V | >>----+-----+---+-function--------------+--+------------------->< +- + -+ +-(expression)----------+ '- - -' +-constant--------------+ +-column-name-----------+ +-host-variable---------+ +-special-register------+ +-(scalar-fullselect)---+ +-labeled-duration------+ +-case-expression-------+ +-cast-specification----+ +-dereference-operation-+ +-OLAP-function---------+ +-method-invocation-----+ +-subtype-treatment-----+ '-sequence-reference----' operator (1) |---+-CONCAT------+---------------------------------------------| +- / ---------+ +- * ---------+ +- + ---------+ '- - ---------' Notes: 1. || may be used as a synonym for CONCAT. 38.2.3.2 OLAP Functions The following represents a correction to the "OLAP Functions" section under "Expressions" in Chapter 3. aggregation-function |--column-function--OVER---(--+------------------------------+--> '-| window-partition-clause |--' >----+--------------------------------------------------------------------+> '-| window-order-clause |--+--------------------------------------+--' '-| window-aggregation-group-clause |--' >---------------------------------------------------------------| window-order-clause .-,-------------------------------------------. V .-| asc option |---. | |---ORDER BY-----sort-key-expression--+------------------+--+---| '-| desc option |--' asc option .-NULLS LAST--. |---ASC--+-------------+----------------------------------------| '-NULLS FIRST-' desc option .-NULLS FIRST--. |---DESC--+--------------+--------------------------------------| '-NULLS LAST---' window-aggregation-group-clause |---+-ROWS--+---+-| group-start |---+---------------------------| '-RANGE-' +-| group-between |-+ '-| group-end |-----' group-end |---+-UNBOUNDED FOLLOWING-----------+---------------------------| '-unsigned-constant--FOLLOWING--' In the window-order-clause description: NULLS FIRST The window ordering considers null values before all non-null values in the sort order. NULLS LAST The window ordering considers null values after all non-null values in the sort order. In the window-aggregation-group-clause description: window-aggregation-group-clause The aggregation group of a row R is a set of rows, defined relative to R in the ordering of the rows of R's partition. This clause specifies the aggregation group. If this clause is not specified, the default is the same as RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, providing a cumulative aggregation result. ROWS Indicates the aggregation group is defined by counting rows. RANGE Indicates the aggregation group is defined by an offset from a sort key. group-start Specifies the starting point for the aggregation group. The aggregation group end is the current row. Specification of the group-start clause is equivalent to a group-between clause of the form "BETWEEN group-start AND CURRENT ROW". group-between Specifies the aggregation group start and end based on either ROWS or RANGE. group-end Specifies the ending point for the aggregation group. The aggregation group start is the current row. Specification of the group-end clause is equivalent to a group-between clause of the form "BETWEEN CURRENT ROW AND group-end". UNBOUNDED PRECEDING Includes the entire partition preceding the current row. This can be specified with either ROWS or RANGE. Also, this can be specified with multiple sort-key-expressions in the window-order-clause. UNBOUNDED FOLLOWING Includes the entire partition following the current row. This can be specified with either ROWS or RANGE. Also, this can be specified with multiple sort-key-expressions in the window-order-clause. CURRENT ROW Specifies the start or end of the aggregation group based on the current row. If ROWS is specified, the current row is the aggregation group boundary. If RANGE is specified, the aggregation group boundary includes the set of rows with the same values for the sort-key-expressions as the current row. This clause cannot be specified in group-bound2 if group-bound1 specifies value FOLLOWING. value PRECEDING Specifies either the range or number of rows preceding the current row. If ROWS is specified, then value is a positive integer indicating a number of rows. If RANGE is specified, then the data type of value must be comparable to the type of the sort-key-expression of the window-order-clause. There can only be one sort-key-expression, and the data type of the sort-key-expression must allow subtraction. This clause cannot be specified in group-bound2 if group-bound1 is CURRENT ROW or value FOLLOWING. value FOLLOWING Specifies either the range or number of rows following the current row. If ROWS is specified, then value is a positive integer indicating a number of rows. If RANGE is specified, then the data type of value must be comparable to the type of the sort-key-expression of the window-order-clause. There can only be one sort-key-expression, and the data type of the sort-key-expression must allow addition. 38.2.3.3 Sequence Reference The following information should be added to the end of the Expressions section (after "Subtype Treatment"). sequence-reference |--+-| nextval-expression |-+-----------------------------------| '-| prevval-expression |-' nextval-expression |---NEXTVAL FOR--sequence-name----------------------------------| prevval-expression |---PREVVAL FOR--sequence-name----------------------------------| NEXTVAL FOR sequence-name A NEXTVAL expression returns the next value for the sequence specified by sequence-name. PREVVAL FOR sequence-name A PREVVAL expression returns the most recently generated value for the specified sequence for a previous statement within the current session. This value can be repeatedly referenced using PREVVAL expressions specifying the name of the sequence. There may be multiple instances of PREVVAL expressions specifying the same sequence name within a single statement and they all return the same value. A PREVVAL expression can only be used if a NEXTVAL expression specifying the same sequence name has already been referenced in the current user session (in the current or a previous transaction) (SQLSTATE 51035). Notes: o A new sequence number is generated when a NEXTVAL expression specifies the name of the sequence. However, if there are multiple instances of a NEXTVAL expression specifying the same sequence name within a query, the counter for the sequence is incremented only once for each row of the result. o The most recently generated value for a sequence can be repeatedly referenced using a PREVVAL expression specifying the name of the sequence. There may be multiple instances of a PREVVAL expression specifying the same sequence name within a single statement. o The same sequence number can be used as a unique key value in two separate tables by referencing the sequence number with a NEXTVAL expression for the first row (this generates the sequence value), and a PREVVAL expression for the other rows (this instance of PREVVAL refers to the sequence value generated by the NEXTVAL expression in the previous statement), as shown below: INSERT INTO order(orderno, custno) VALUES (NEXTVAL FOR order_seq, 123456); INSERT INTO line_item (orderno, partno, quantity) VALUES (PREVVAL FOR order_seq, 987654, 1); o Examples of where NEXTVAL and PREVVAL expressions can be specified are: + select-statement or SELECT INTO statement: within the select-clause as long as the statement does not contain a DISTINCT keyword, a GROUP BY clause, an ORDER BY clause, a UNION keyword, an INTERSECT keyword, or EXCEPT keyword + INSERT statement: within a VALUES clause + INSERT statement: within the select-clause of the fullselect + UPDATE statement: within the select-clause of the fullselect of an expression in the SET clause (either searched or positioned UPDATE statement) + VALUES INTO statement: within the select-clause of the fullselect of an expression o Examples of where NEXTVAL and PREVVAL expressions cannot be specified (SQLSTATE 428F9) are: + join condition of a full outer join + DEFAULT value for a column in a CREATE TABLE or ALTER TABLE statement + generated column definition in a CREATE TABLE or ALTER TABLE statement + condition of a CHECK constraint + CREATE TRIGGER statement + CREATE VIEW statement + CREATE METHOD statement + CREATE FUNCTION statement. o In addition, a NEXTVAL expression cannot be specified (SQLSTATE 428F9) in : + CASE expression + parameter list of an aggregate function + subquery + SELECT statement that contains a DISTINCT operator + join condition of join + GROUP BY clause of a SELECT statement + SELECT statement that is combined with another SELECT statement using the UNION, INTERSECT, or EXCEPT set operator + nested table expression + parameter list of a table function + WHERE clause of a SELECT, DELETE, or UPDATE statement + ORDER BY clause + parameter list of a CALL statement. o When a value is generated for a sequence, that value is consumed, and the next time that a value is needed, a new value will be generated. This is true even when the statement containing the NEXTVAL expression fails. o If an INSERT statement includes a NEXTVAL expression in the VALUES list for the column, and if some error occurs at some point during the execution of the INSERT (it could be a problem in generating the next sequence value, or a problem with the value for another column), then an insertion failure occurs, and the value generated for the sequence is considered to be consumed. In some cases, reissuing the same INSERT statement might lead to success. For example, consider an error that is the result of the existence of a unique index for the column for which NEXTVAL was used and the sequence value generated already exists in the index. It is possible that the next value generated for the sequence is a value that does not exist in the index and so the subsequent INSERT would succeed. o If in generating a value for a sequence, the maximum value for the sequence is exceeded (or the minimum value for a descending sequence) and cycles are not permitted, then an error occurs (SQLSTATE 23522). In this case, the user could ALTER the sequence to extend the range of acceptable values, or enable cycles for the sequence, or DROP and CREATE a new sequence with a different data type that has a larger range of values. For example, a sequence may have been defined with a data type of SMALLINT, and eventually the sequence runs out of assignable values. To redefine the sequence as INTEGER, you would need to drop and recreate the sequence with the new definition. o A reference to PREVVAL in a select statement of a cursor refers to a value that was generated for the specified sequence prior to the opening of the cursor. However, closing the cursor can affect the values returned by PREVVAL for the specified sequence in subsequent statements, or even for the same statement in the event that the cursor is reopened. This would be the case when the select statement of the cursor included a reference to NEXTVAL for the same sequence name. Examples: These examples assume that there is a table called "order" and that a sequence called "order_seq" is created as follows: CREATE SEQUENCE order_seq START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCYCLE CACHE 24 * Some examples of how to generate an "order_seq" sequence number with a NEXTVAL expression for the sequence created above: INSERT INTO order(orderno, custno) VALUES (NEXTVAL FOR order_seq, 123456); or, UPDATE order SET orderno = NEXTVAL FOR order_seq WHERE custno = 123456; or, VALUES NEXTVAL FOR order_seq INTO :hv_seq; ------------------------------------------------------------------------ 38.3 Chapter 4. Functions 38.3.1 Enabling the New Functions and Procedures Version 7 FixPaks deliver new SQL built-in scalar functions. Refer to the SQL Reference updates for a description of these new functions. The new functions are not automatically enabled on each database when the database server code is upgraded to the new service level. To enable these new functions, the system administrator must issue the command db2updv7, specifying each database at the server. This command makes an entry in the database that ensures that database objects created prior to executing this command use existing function signatures that may match the new function signatures. For information on enabling the MQSeries functions (those defined in the MQDB2 schema), see MQSeries. 38.3.2 Scalar Functions 38.3.2.1 ABS or ABSVAL >>-+-ABS----+--(expression)------------------------------------>< '-ABSVAL-' The schema is SYSIBM. This function was first available in FixPak 2 of Version 7.1. Notes: The SYSFUN version of the ABS (or ABSVAL) function continues to be available. Returns the absolute value of the argument. The argument is an expression that returns a value of any built-in numeric data type. The result of the function has the same data type and length attribute as the argument. If the argument can be null or the database is configured with DFT_SQLMATHWARN set to yes, then the result can be null; if the argument is null, the result is the null value. For example: ABS(-51234) returns an INTEGER with a value of 51234. 38.3.2.2 DECRYPT_BIN and DECRYPT_CHAR >>-+-DECRYPT_BIN--+---------------------------------------------> '-DECRYPT_CHAR-' >----(--encrypted-data--+--------------------------------+---)-->< '-,--password-string-expression--' The schema is SYSIBM. This function was first available in FixPak 3 of Version 7.1. The DECRYPT_BIN and DECRYPT_CHAR functions return a value that is the result of decrypting encrypted-data. The password used for decryption is either the password-string-expression value or the ENCRYPTION PASSWORD value (as assigned using the SET ENCRYPTION PASSWORD statement). The DECRYPT_BIN and DECRYPT_CHAR functions can only decrypt values that were encrypted using the ENCRYPT function (SQLSTATE 428FE). encrypted-data An expression that returns a CHAR FOR BIT DATA or VARCHAR FOR BIT DATA value that is a complete, encrypted data string that was encrypted using the ENCRYPT function. password-string-expression An expression that returns a CHAR or VARCHAR value with at least 6 bytes and no more than 127 bytes (SQLSTATE 428FC). This should be the same password used to encrypt the data or decryption will result in an error (SQLSTATE 428FD). If the value of the password argument is null or not provided, the data will be decrypted using the ENCRYPTION PASSWORD value, which must have been set for the session (SQLSTATE 51039). The result of the DECRYPT_BIN function is VARCHAR FOR BIT DATA. The result of the DECRYPT_CHAR function is VARCHAR. If the encrypted-data included a hint, the hint is not returned by the function. The length attribute of the result is the length attribute of the data type of encrypted-data minus 8 bytes. The actual length of the value returned by the function will match the length of the original string that was encrypted. If the encrypted-data includes bytes beyond the encrypted string, these bytes are not returned by the function. If the first argument can be null, the result can be null; if the first argument is null, the result is the null value. If the data is decrypted on a different system using a code page other than the code page in which the encryption took place, it is possible that expansion may occur when converting the decrypted value to the database code page. In such situations, the encrypted-data value should be cast to a VARCHAR string with a larger number of bytes. Also see 38.3.2.3, ENCRYPT and 38.3.2.4, GETHINT for additional information on using this function. Examples: Example 1: This example uses the ENCRYPTION PASSWORD value to hold the encryption password. SET ENCRYPTION PASSWORD = 'Ben123'; INSERT INTO EMP (SSN) VALUES ENCRYPT('289-46-8832'); SELECT DECRYPT_CHAR(SSN) FROM SSN; The value returned is '289-46-8832'. Example 2: This example explicitly passes the encryption password. SELECT DECRYPT_CHAR(SSN,'Ben123') FROM SSN; The value returned is '289-46-8832'. 38.3.2.3 ENCRYPT >>-ENCRYPT------------------------------------------------------> >----(--data-string-expression--+----------------------------------------------------------------+---)-> '-,--password-string-expression--+----------------------------+--' '-,--hint-string-expression--' >-------------------------------------------------------------->< The schema is SYSIBM. This function was first available in FixPak 3 of Version 7.1. The ENCRYPT function returns a value that is the result of encrypting data-string-expression. The password used for encryption is either the password-string-expression value or the ENCRYPTION PASSWORD value (as assigned using the SET ENCRYPTION PASSWORD statement). data-string-expression An expression that returns a CHAR or VARCHAR value to be encrypted. The length attribute for the data type of data-string-expression is limited to 32663 without a hint-string-expression argument and 32631 when the hint-string-expression argument is specified (SQLSTATE 42815). password-string-expression An expression that returns a CHAR or VARCHAR value with at least 6 bytes and no more than 127 bytes (SQLSTATE 428FC). The value represents the password used to encrypt the data-string-expression. If the value of the password argument is null or not provided, the data will be encrypted using the ENCRYPTION PASSWORD value, which must have been set for the session (SQLSTATE 51039). hint-string-expression An expression that returns a CHAR or VARCHAR value up to 32 bytes that will help data owners remember passwords (for example, 'Ocean' as a hint to remember 'Pacific'). If a hint value is given, the hint is embedded into the result and can be retrieved using the GETHINT function. If this argument is null or not provided, no hint will be embedded in the result. The result data type of the function is VARCHAR FOR BIT DATA. The length attribute of the result is: * When the optional hint parameter is specified, the length attribute of the non-encrypted data + 8 bytes + the number of bytes to the next 8 byte boundary + 32 bytes for the hint length. * With no hint parameter, the length attribute of the non-encrypted data + 8 bytes + the number of bytes to the next 8 byte boundary. If the first argument can be null, the result can be null; if the first argument is null, the result is the null value. Notice that the encrypted result is longer than the data-string-expression value. Therefore, when assigning encrypted values, ensure that the target is declared with sufficient size to contain the entire encrypted value. Notes: * Encryption Algorithm: The internal encryption algorithm used is RC2 block cipher with padding, the 128-bit secret key is derived from the password using a MD2 message digest. * Encryption Passwords and Data: It is the user's responsibility to perform password management. Once the data is encrypted only the password used to encrypt it can be used to decrypt it (SQLSTATE 428FD). Be careful when using CHAR variables to set password values as they may be padded with blanks. The encrypted result may contain null terminator and other non-printable characters. * Table Column Definition: When defining columns and types to contain encrypted data always calculate the length attribute as follows. For encrypted data with no hint: Maximum length of the non-encrypted data + 8 bytes + the number of bytes to the next 8 byte boundary = encrypted data column length. For encrypted data with embedded hint : Maximum length of the non-encrypted data + 8 bytes + the number of bytes to the next 8 byte boundary + 32 bytes for the hint length = encrypted data column length. Any assignment or cast to a length shorter than the suggested data length may result in failed decryption in the future and lost data. Blanks are valid encrypted data values that may be truncated when stored in a column that is too short. Sample Column Length Calculations Maximum length of non-encrypted data 6 bytes 8 bytes 8 bytes Number of bytes to the next 8 byte boundary 2 bytes --------- Encrypted data column length 16 bytes Maximum length of non-encrypted data 32 bytes 8 bytes 8 bytes Number of bytes to the next 8 byte boundary 8 bytes --------- Encrypted data column length 48 bytes * Administration of encrypted data: Encrypted data can only be decrypted on servers that support the decryption functions that correspond to the ENCRYPT function. Hence, replication of columns with encrypted data should only be done to servers that support the DECRYPT_BIN or DECRYPT_CHAR function. Also see 38.3.2.2, DECRYPT_BIN and DECRYPT_CHAR and 38.3.2.4, GETHINT for additional information on using this function. Examples: Example 1: This example uses the ENCRYPTION PASSWORD value to hold the encryption password. SET ENCRYPTION PASSWORD = 'Ben123'; INSERT INTO EMP (SSN) VALUES ENCRYPT('289-46-8832'); Example 2: This example explicitly passes the encryption password. INSERT INTO EMP (SSN) VALUES ENCRYPT('289-46-8832','Ben123',''); Example 3: The hint 'Ocean' is stored to help the user remember the encryption password of 'Pacific'. INSERT INTO EMP (SSN) VALUES ENCRYPT('289-46-8832','Pacific','Ocean'); 38.3.2.4 GETHINT >>-GETHINT--(--encrypted-data--)------------------------------->< The schema is SYSIBM. This function was first available in FixPak 3 of Version 7.1. The GETHINT function will return the password hint if one is found in the encrypted-data. A password hint is a phrase that will help data owners remember passwords (For example, 'Ocean' as a hint to remember 'Pacific'). encrypted-data An expression that returns a CHAR FOR BIT DATA or VARCHAR FOR BIT DATA value that is a complete, encrypted data string that was encrypted using the ENCRYPT function (SQLSTATE 428FE). The result of the function is VARCHAR(32). The result can be null; if the hint parameter was not added to the encrypted-data by the ENCRYPT function or the first argument is null, the result is the null value. Also see 38.3.2.2, DECRYPT_BIN and DECRYPT_CHAR and 38.3.2.3, ENCRYPT for additional information on using this function. Example: In this example the hint 'Ocean' is stored to help the user remember the encryption password 'Pacific'. INSERT INTO EMP (SSN) VALUES ENCRYPT('289-46-8832', 'Pacific','Ocean'); SELECT GETHINT(SSN) FROM EMP; The value returned is 'Ocean'. 38.3.2.5 IDENTITY_VAL_LOCAL >>-IDENTITY_VAL_LOCAL--(--)------------------------------------>< The schema is SYSIBM. This procedure was first available in FixPak 3 of Version 7.1. The IDENTITY_VAL_LOCAL function is a non-deterministic function that returns the most recently assigned value for an identity column, where the assignment occurred as a result of a single row INSERT statement using a VALUES clause. The function has no input parameters. The result is a DECIMAL(31,0), regardless of the actual data type of the corresponding identity column. The value returned by the function is the value assigned to the identity column of the table identified in the most recent single row INSERT statement. The INSERT statement must be made using a VALUES clause on a table containing an identity column. Also, the INSERT statement must be issued at the same level 1 (that is, the value is available locally at the level it was assigned, until it is replaced by the next assigned value). The assigned value is either a value supplied by the user (if the identity column is defined as GENERATED BY DEFAULT), or an identity value generated by DB2. The function returns a null value in the following situations: * When a single row INSERT statement with a VALUES clause has not been issued at the current processing level for a table containing an identity column. * When a COMMIT or ROLLBACK of a unit of work has occurred since the most recent INSERT statement that assigned a value 2 . The result of the function is not affected by the following: * A single row INSERT statement with a VALUES clause for a table without an identity column. * A multiple row INSERT statement with a VALUES clause. * An INSERT statement with a fullselect. * A ROLLBACK TO SAVEPOINT statement. Notes: * Expressions in the VALUES clause of an INSERT statement are evaluated prior to the assignments for the target columns of the INSERT statement. Thus, an invocation of an IDENTITY_VAL_LOCAL function inside the VALUES clause of an INSERT statement will use the most recently assigned value for an identity column from a previous INSERT statement. The function returns the null value if no previous single row INSERT statement with a VALUES clause for a table containing an identity column has been executed within the same level as the IDENTITY_VAL_LOCAL function. * The identity column value of the table for which the trigger is defined can be determined within a trigger, by referencing the trigger transition variable for the identity column. * The result of invoking the IDENTITY_VAL_LOCAL function from within the trigger condition of an insert trigger is a null value. * It is possible that multiple before or after insert triggers exist for a table. In this case each trigger is processed separately, and identity values assigned by one triggered action are not available to other triggered actions using the IDENTITY_VAL_LOCAL function. This is true even though the multiple triggered actions are conceptually defined at the same level. * It is not generally recommended to use the IDENTITY_VAL_LOCAL function in the body of a before insert trigger. The result of invoking the IDENTITY_VAL_LOCAL function from within the triggered action of a before insert trigger is the null value. The value for the identity column of the table for which the trigger is defined cannot be obtained by invoking the IDENTITY_VAL_LOCAL function within the triggered action of a before insert trigger. However, the value for the identity column can be obtained in the triggered action, by referencing the trigger transition variable for the identity column. * The result of invoking the IDENTITY_VAL_LOCAL function from within the triggered action of an after insert trigger 3 is the value assigned to an identity column of the table identified in the most recent single row INSERT statement invoked in the same triggered action that had a VALUES clause for a table containing an identity column. If a single row INSERT statement with a VALUES clause for a table containing an identity column was not executed within the same triggered action, prior to the invocation of the IDENTITY_VAL_LOCAL function, then the function returns a null value. * Since the results of the IDENTITY_VAL_LOCAL function are not deterministic, the result of an invocation of the IDENTITY_VAL_LOCAL function within the SELECT statement of a cursor can vary for each FETCH statement. * The assigned value is the value actually assigned to the identity column (that is, the value that would be returned on a subsequent SELECT statement). This value is not necessarily the value provided in the VALUES clause of the INSERT statement, or a value generated by DB2. The assigned value could be a value specified in a SET transition variable statement, within the body of a before insert trigger, for a trigger transition variable associated with the identity column. * The value returned by the function is unpredictable following a failed single row INSERT with a VALUES clause into a table with an identity column. The value may be the value that would have been returned from the function had it been invoked prior to the failed INSERT, or it may be the value that would have been assigned had the INSERT succeeded. The actual value returned depends on the point of failure and is therefore unpredictable. Examples: Example 1: Set the variable IVAR to the value assigned to the identity column in the EMPLOYEE table. If this insert is the first into the EMPLOYEE table, then IVAR would have a value of 1. CREATE TABLE EMPLOYEE (EMPNO INTEGER GENERATED ALWAYS AS IDENTITY, NAME CHAR(30), SALARY DECIMAL(5,2), DEPTNO SMALLINT) Example 2: An IDENTITY_VAL_LOCAL function invoked in an INSERT statement returns the value associated with the previous single row INSERT statement, with a VALUES clause for a table with an identity column. Assume for this example that there are two tables, T1 and T2. Both T1 and T2 have an identity column named C1. DB2 generates values in sequence, starting with 1, for the C1 column in table T1, and values in sequence, starting with 10, for the C1 column in table T2. CREATE TABLE T1 (C1 INTEGER GENERATED ALWAYS AS IDENTITY, C2 INTEGER), CREATE TABLE T2 (C1 DECIMAL(15,0) GENERATED BY DEFAULT AS IDENTITY (START WITH 10), C2 INTEGER), INSERT INTO T1 (C2) VALUES (5), INSERT INTO T1 (C2) VALUES (6), SELECT * FROM T1 which gives a result of: C1 C2 ----------- ---------- 1 5 2 6 and now, declaring the function for the variable IVAR: VALUES IDENTITY_VAL_LOCAL() INTO :IVAR At this point, the IDENTITY_VAL_LOCAL function would return a value of 2 in IVAR, because that was the value most recently assigned by DB2. The following INSERT statement inserts a single row into T2, where column C2 gets a value of 2 from the IDENTITY_VAL_LOCAL function. INSERT INTO T2 (C2) VALUES (IDENTITY_VAL_LOCAL()); SELECT * FROM T2 WHERE C1 = DECIMAL(IDENTITY_VAL_LOCAL(),15,0) returning a result of: C1 C2 ----------------- ---------- 10. 2 Invoking the IDENTITY_VAL_LOCAL function after this insert results in a value of 10, which is the value generated by DB2 for column C1 of T2. In a nested environment involving a trigger, use the IDENTITY_VAL_LOCAL function to retrieve the identity value assigned at a particular level, even though there might have been identity values assigned at lower levels. Assume that there are three tables, EMPLOYEE, EMP_ACT, and ACCT_LOG. There is an after insert trigger defined on EMPLOYEE that results in additional inserts into the EMP_ACT and ACCT_LOG tables. CREATE TABLE EMPLOYEE (EMPNO SMALLINT GENERATED ALWAYS AS IDENTITY (START WITH 1000), NAME CHAR(30), SALARY DECIMAL(5,2), DEPTNO SMALLINT); CREATE TABLE EMP_ACT (ACNT_NUM SMALLINT GENERATED ALWAYS AS IDENTITY (START WITH 1), EMPNO SMALLINT); CREATE TABLE ACCT_LOG (ID SMALLINT GENERATED ALWAYS AS IDENTITY (START WITH 100), ACNT_NUM SMALLINT, EMPNO SMALLINT); CREATE TRIGGER NEW_HIRE AFTER INSERT ON EMPLOYEE REFERENCING NEW AS NEW_EMP FOR EACH ROW MODE DB2SQL BEGIN ATOMIC INSERT INTO EMP_ACT (EMPNO) VALUES (NEW_EMP.EMPNO); INSERT INTO ACCT_LOG (ACNT_NUM EMPNO) VALUES (IDENTITY_VAL_LOCAL(), NEW_EMP.EMPNO); END The first triggered INSERT statement inserts a row into the EMP_ACT table. This INSERT statement uses a trigger transition variable for the EMPNO column of the EMPLOYEE table, to indicate that the identity value for the EMPNO column of the EMPLOYEE table is to be copied to the EMPNO column of the EMP_ACT table. The IDENTITY_VAL_LOCAL function could not be used to obtain the value assigned to the EMPNO column of the EMPLOYEE table. This is because an INSERT statement has not been issued at this level of the nesting, and as such, if the IDENTITY_VAL_LOCAL function were invoked in the VALUES clause of the INSERT for EMP_ACT, then it would return a null value. This INSERT statement for the EMP_ACT table also results in the generation of a new identity column value for the ACNT_NUM column. A second triggered INSERT statement inserts a row into the ACCT_LOG table. This statement invokes the IDENTITY_VAL_LOCAL function to indicate that the identity value assigned to the ACNT_NUM column of the EMP_ACT table in the previous INSERT statement in the triggered action is to be copied to the ACNT_NUM column of the ACCT_LOG table. The EMPNO column is assigned the same value as the EMPNO column of EMPLOYEE table. From the invoking application (that is, the level at which the INSERT to EMPLOYEE is issued), set the variable IVAR to the value assigned to the EMPNO column of the EMPLOYEE table by the original INSERT statement. INSERT INTO EMPLOYEE (NAME, SALARY, DEPTNO) VALUES ('Rupert', 989.99, 50); The contents of the three tables after processing the original INSERT statement and all of the triggered actions are: SELECT EMPNO, SUBSTR(NAME,10) AS NAME, SALARY, DEPTNO FROM EMPLOYEE; EMPNO NAME SALARY DEPTNO ----------- ----------- ---------------------------------- ----------- 1000 Rupert 989.99 50 SELECT ACNT_NUM, EMPNO FROM EMP_ACT; ACNT_NUM EMPNO ----------- ----------- 1 1000 SELECT * FROM ACCT_LOG; ID ACNT_NUM EMPNO ----------- ----------- ----------- 100 1 1000 The result of the IDENTITY_VAL_LOCAL function is the most recently assigned value for an identity column at the same nesting level. After processing the original INSERT statement and all of the triggered actions, the IDENTITY_VAL_LOCAL function returns a value of 1000, because this is the value assigned to the EMPNO column of the EMPLOYEE table. The following VALUES statement results in setting IVAR to 1000. The insert into the EMP_ACT table (which occurred after the insert into the EMPLOYEE table and at a lower nesting level) has no affect on what is returned by this invocation of the IDENTITY_VAL_LOCAL function. VALUES IDENTITY_VAL_LOCAL() INTO :IVAR; 38.3.2.6 LCASE and UCASE (Unicode) In a Unicode database, the entire repertoire of Unicode characters is uppercase (or lowercase) based on the Unicode properties of these characters. Double-wide versions of ASCII characters, as well as Roman numerals, now convert to upper or lower case correctly. 38.3.2.7 MQPUBLISH >>-MQPUBLISH---(------------------------------------------------> >-----+-----------------------------------------------+---------> '-publisher-service--,--+--------------------+--' '-service-policy--,--' >----msg-data----+-----------------------------------+--)------>< '-,--topic--+--------------------+--' | (1) | '-,--correl-id-------' Notes: 1. The correl-id cannot be specified unless a service and a policy are previously defined. The schema is MQDB2. The MQPUBLISH function publishes data to MQSeries. This function requires the installation of either MQSeries Publish/Subscribe or MQSeries Integrator. Please consult www.ibm.com/software/MQSeries for further details. The MQPUBLISH function publishes the data contained in msg-data to the MQSeries publisher specified in publisher-service, and using the quality of service policy defined by service-policy. An optional topic for the message can be specified, and an optional user-defined message correlation identifier may also be specified. The function returns a value of '1' if successful or a '0' if unsuccessful. publisher-service A string containing the logical MQSeries destination where the message is to be sent. If specified, the publisher-service must refer to a publisher Service Point defined in the AMT.XML repository file. A service point is a logical end-point from which a message is sent or received. Service point definitions include the name of the MQSeries Queue Manager and Queue. See the MQSeries Application Messaging Interface for further details. If publisher-service is not specified, then the DB2.DEFAULT.PUBLISHER will be used. The maximum size of publisher-service is 48 characters. service-policy A string containing the MQSeries AMI Service Policy to be used in handling of this message. If specified, the service-policy must refer to a Policy defined in the AMT.XML repository file. A Service Policy defines a set of quality of service options that should be applied to this messaging operation. These options include message priority and message persistence. See the MQSeries Application Messaging Interface manual for further details. If service-policy is not specified, then the default DB2.DEFAULT.POLICY will be used. The maximum size of service-policy is 48 characters. msg-data A string expression containing the data to be sent via MQSeries. The maximum size is 4000 characters. topic A string expression containing the topic for the message publication. If no topic is specified, none will be associated with the message. The maximum size of topic is 40 characters. Multiple topics can be specified in one string (up to 40 characters long). Each topic must be separated by a colon. For example, "t1:t2:the third topic" indicates that the message is associated with all three topics: t1, t2, and "the third topic". correl-id An optional string expression containing a correlation identifier to be associated with this message. The correl-id is often specified in request and reply scenarios to associate requests with replies. If not specified, no correlation id will be added to the message. The maximum size of correl-id is 24 characters. Examples Example 1: This example publishes the string "Testing 123" to the default publisher service (DB2.DEFAULT.PUBLISHER) using the default policy (DB2.DEFAULT.POLICY). No correlation identifier or topic is specified for the message. VALUES MQPUBLISH('Testing 123') Example 2: This example publishes the string "Testing 345" to the publisher service "MYPUBLISHER" under the topic "TESTS". The default policy is used and no correlation identifier is specified. VALUES MQPUBLISH('MYPUBLISHER','Testing 345', 'TESTS') Example 3: This example publishes the string "Testing 678" to the publisher service "MYPUBLISHER" using the policy "MYPOLICY" with a correlation identifier of "TEST1". The message is published with topic "TESTS". VALUES MQPUBLISH('MYPUBLISHER','MYPOLICY','Testing 678','TESTS','TEST1') Example 4: This example publishes the string "Testing 901" to the publisher service "MYPUBLISHER" under the topic "TESTS" using the default policy (DB2.DEFAULT.POLICY) and no correlation identifier. VALUES MQPUBLISH('Testing 901','TESTS') All examples return the value '1' if successful. 38.3.2.8 MQREAD >>-MQREAD---(----+------------------------------------------+---> '-receive-service--+--------------------+--' '-,--service-policy--' >----)--------------------------------------------------------->< The schema is MQDB2. The MQREAD function returns a message from the MQSeries location specified by receive-service, using the quality of service policy defined in service-policy. Executing this operation does not remove the message from the queue associated with receive-service, but instead returns the message at the head of the queue. The return value is a VARCHAR(4000) containing the message. If no messages are available to be returned, a NULL is returned. receive-service A string containing the logical MQSeries destination from where the message is to be received. If specified, the receive-service must refer to a Service Point defined in the AMT.XML repository file. A service point is a logical end-point from where a message is sent or received. Service points definitions include the name of the MQSeries Queue Manager and Queue. See the MQSeries Application Messaging Interface for further details. If receive-service is not specified, then the DB2.DEFAULT.SERVICE will be used. The maximum size of receive-service is 48 characters. service-policy A string containing the MQSeries AMI Service Policy used in handling this message. If specified, the service-policy must refer to a Policy defined in the AMT.XML repository file. A Service Policy defines a set of quality of service options that should be applied to this messaging operation. These options include message priority and message persistence. See the MQSeries Application Messaging Interface manual for further details. If service-policy is not specified, then the default DB2.DEFAULT.POLICY will be used. The maximum size of service-policy is 48 characters. Examples: Example 1: This example reads the message at the head of the queue specified by the default service (DB2.DEFAULT.SERVICE), using the default policy (DB2.DEFAULT.POLICY). VALUES MQREAD() Example 2: This example reads the message at the head of the queue specified by the service "MYSERVICE" using the default policy (DB2.DEFAULT.POLICY). VALUES MQREAD('MYSERVICE') Example 3: This example reads the message at the head of the queue specified by the service "MYSERVICE", and using the policy "MYPOLICY". VALUES MQREAD('MYSERVICE','MYPOLICY') All of these examples return the contents of the message as a VARCHAR(4000) if successful. If no messages are available, then a NULL is returned. 38.3.2.9 MQRECEIVE >>-MQRECEIVE----------------------------------------------------> >----(--+-------------------------------------------------------------+---)-> '-receive-service--+---------------------------------------+--' '-,--service-policy--+---------------+--' '-,--correl-id--' >-------------------------------------------------------------->< The schema is MQDB2. The MQRECEIVE function returns a message from the MQSeries location specified by receive-service, using the quality of service policy service-policy. Performing this operation removes the message from the queue associated with receive-service. If the correl-id is specified, then the first message with a matching correlation identifier will be returned. If correl-id is not specified, then the message at the head of the queue will be returned. The return value is a VARCHAR(4000) containing the message. If no messages are available to be returned, a NULL is returned. receive-service A string containing the logical MQSeries destination from which the message is received. If specified, the receive-service must refer to a Service Point defined in the AMT.XML repository file. A service point is a logical end-point from which a message is sent or received. Service points definitions include the name of the MQSeries Queue Manager and Queue. See the MQSeries Application Messaging Interface for further details. If receive-service is not specified, then the DB2.DEFAULT.SERVICE is used. The maximum size of receive-service is 48 characters. service-policy A string containing the MQSeries AMI Service Policy to be used in the handling of this message. If specified, the service-policy must refer to a Policy defined in the AMT XML repository file 4 . If service-policy is not specified, then the default DB2.DEFAULT.POLICY is used. The maximum size of service-policy is 48 characters. correl-id A string containing an optional correlation identifier to be associated with this message. The correl-id is often specified in request and reply scenarios to associate requests with replies. If not specified, no correlation id will be specified. The maximum size of correl-id is 24 characters. Examples: Example 1: This example receives the message at the head of the queue specified by the default service (DB2.DEFAULT.SERVICE), using the default policy (DB2.DEFAULT.POLICY). VALUES MQRECEIVE() Example 2: This example receives the message at the head of the queue specified by the service "MYSERVICE" using the default policy (DB2.DEFAULT.POLICY). VALUES MQRECEIVE('MYSERVICE') Example 3: This example receives the message at the head of the queue specified by the service "MYSERVICE" using the policy "MYPOLICY". VALUES MQRECEIVE('MYSERVICE','MYPOLICY') Example 4: This example receives the first message with a correlation id that matches '1234' from the head of the queue specified by the service "MYSERVICE" using the policy "MYPOLICY". VALUES MQRECEIVE('MYSERVICE',MYPOLICY','1234') All these examples return the contents of the message as a VARCHAR(4000) if successful. If no messages are available, a NULL will be returned. 38.3.2.10 MQSEND >>-MQSEND---(----+------------------------------------------+---> '-send-service--,--+--------------------+--' '-service-policy--,--' >----msg-data----+--------------------+--)--------------------->< | (1) | '-,--correl-id-------' Notes: 1. The correl-id cannot be specified unless a service and a policy are previously defined. The schema is MQDB2. The MQSEND function sends the data contained in msg-data to the MQSeries location specified by send-service, using the quality of service policy defined by service-policy. An optional user defined message correlation identifier may be specified by correl-id. The function returns a value of '1' if successful or a '0' if unsuccessful. msg-data A string expression containing the data to be sent via MQSeries. The maximum size is 4000 characters. send-service A string containing the logical MQSeries destination where the message is to be sent. If specified, the send-service refers to a service point defined in the AMT.XML repository file. A service point is a logical end-point from which a message may be sent or received. Service point definitions include the name of the MQSeries Queue Manager and Queue. See the MQSeries Application Messaging Interface manual for further details. If send-service is not specified, then the value of DB2.DEFAULT.SERVICE is used. The maximum size of send-service is 48 characters. service-policy A string containing the MQSeries AMI Service Policy used in handling of this message. If specified, the service-policy must refer to a service policy defined in the AMT XML repository file. A Service Policy defines a set of quality of service options that should be applied to this messaging operation. These options include message priority and message persistence. See the MQSeries Application Messaging Interface manual for further details. If service-policy is not specified, then a default value of DB2.DEFAULT.POLICY will be used. The maximum size of service-policy is 48 characters. correl-id An optional string containing a correlation identifier associated with this message. The correl-id is often specified in request and reply scenarios to associate requests with replies. If not specified, no correlation id will be sent. The maximum size of correl-id is 24 characters. Examples: Example 1: This example sends the string "Testing 123" to the default service (DB2.DEFAULT.SERVICE), using the default policy (DB2.DEFAULT.POLICY), with no correlation identifier. VALUES MQSEND('Testing 123') Example 2: This example sends the string "Testing 345" to the service "MYSERVICE", using the policy "MYPOLICY", with no correlation identifier. VALUES MQSEND('MYSERVICE','MYPOLICY','Testing 345') Example 3: This example sends the string "Testing 678" to the service "MYSERVICE", using the policy "MYPOLICY", with correllation identifier "TEST3". VALUES MQSEND('MYSERVICE','MYPOLICY','Testing 678','TEST3') Example 4: This example sends the string "Testing 901" to the service "MYSERVICE", using the default policy (DB2.DEFAULT.POLICY), and no correlation identifier. VALUES MQSEND('MYSERVICE','Testing 901') All examples return a scalar value of '1' if successful. 38.3.2.11 MQSUBSCRIBE >>-MQSUBSCRIBE---(----------------------------------------------> >-----+------------------------------------------------+--------> '-subscriber-service--,--+--------------------+--' '-service-policy--,--' >----topic---)------------------------------------------------->< The schema is MQDB2. The MQSUBSCRIBE function is used to register interest in MQSeries messages published on a specified topic. The subscriber-service specifies a logical destination for messages that match the specified topic. Messages that match topic will be placed on the queue defined by subscriber-service and can be read or received through a subsequent call to MQREAD, MQRECEIVE, MQREADALL, or MQRECEIVEALL. This function requires the installation and configuration of an MQSeries based publish and subscribe system, such as MQSeries Integrator or MQSeries Publish/Subscribe. See www.ibm.com/software/MQSeries for further details. The function returns a value of '1' if successful or a '0' if unsuccessful. Successfully executing this function will cause the publish and subscribe server to forward messages matching the topic to the service point defined by subscriber-service. subscriber-service A string containing the logical MQSeries subscription point to where messages matching topic will be sent. If specified, the subscriber-service must refer to a Subscribers Service Point defined in the AMT.XML repository file. Service points definitions include the name of the MQSeries Queue Manager and Queue. See the MQSeries Application Messaging Interface manual for further details. If subscriber-service is not specified, then the DB2.DEFAULT.SUBSCRIBER will be used instead. The maximum size of subscriber-service is 48 characters. service-policy A string containing the MQSeries AMI Service Policy to be used in handling the message. If specified, the service-policy must refer to a Policy defined in the AMT.XML repository file. A Service Policy defines a set of quality of service options to be applied to this messaging operation. These options include message priority and message persistence. See the MQSeries Application Messaging Interface manual for further details. If service-policy is not specified, then the default DB2.DEFAULT.POLICY will be used instead. The maximum size of service-policy is 48 characters. topic A string defining the types of messages to receive. Only messages published with the specified topics will be received by this subscription. Multiple subscriptions may coexist. The maximum size of topic is 40 characters. Multiple topics can be specified in one string (up to 40 characters long). Each topic must be separated by a colon. For example, "t1:t2:the third topic" indicates that the message is associated with all three topics: t1, t2, and "the third topic". Examples: Example 1: This example registers an interest in messages containing the topic "Weather". The default subscriber-service (DB2.DEFAULT.SUBSCRIBER) is registered as the subscriber and the default service-policy (DB2.DEFAULT.POLICY) specifies the quality of service. VALUES MQSUBSCRIBE('Weather') Example 2: This example demonstrates a subscriber registering interest in messages containing "Stocks". The subscriber registers as "PORTFOLIO-UPDATES" with policy "BASIC-POLICY". VALUES MQSUBSCRIBE('PORTFOLIO-UPDATES','BASIC-POLICY','Stocks') All examples return a scalar value of '1' if successful. 38.3.2.12 MQUNSUBSCRIBE >>-MQUNSUBSCRIBE---(--------------------------------------------> >-----+------------------------------------------------+--------> '-subscriber-service--,--+--------------------+--' '-service-policy--,--' >----topic---)------------------------------------------------->< The schema is MQDB2. The MQUNSUBSCRIBE function is used to unregister an existing message subscription. The subscriber-service, service-policy, and topic are used to identify which subscription is cancelled. This function requires the installation and configuration of an MQSeries based publish and subscribe system, such as MQSeries Integrator or MQSeries Publish/Subscribe. See www.ibm.com/software/MQSeries for further details. The function returns a value of '1' if successful or a '0' if unsuccessful. The result of successfully executing this function is that the publish and subscribe server will remove the subscription defined by the given parameters. Messages with the specified topic will no longer be sent to the logical destination defined by subscriber-service. subscriber-service If specified, the subscriber-service must refer to a Subscribers Service Point defined in the AMT.XML repository file. Service point definitions include the name of the MQSeries Queue Manager and Queue. See the MQSeries Application Messaging Interface manual for further details. If subscriber-service is not specified, then the DB2.DEFAULT.SUBSCRIBER value is used. The maximum size of subscriber-service is 48 characters. service-policy If specified, the service-policy must refer to a Policy defined in the AMT.XML repository file. A Service Policy defines a set of quality of service options to be applied to this messaging operation. See the MQSeries Application Messaging Interface manual for further details. If service-policy is not specified, then the default DB2.DEFAULT.POLICY will be used. The maximum size of service-policy is 48 characters. topic A string specifying the subject of messages that are not to be received. The maximum size of topic is 40 characters. Multiple topics can be specified in one string (up to 40 characters long). Each topic must be separated by a colon. For example, "t1:t2:the third topic" indicates that the message is associated with all three topics: t1, t2, and "the third topic". Examples: Example 1: This example cancels an interest in messages containing the topic "Weather". The default subscriber-service (DB2.DEFAULT.SUBSCRIBER) is registered as the unsubscriber and the default service-policy (DB2.DEFAULT.POLICY) specifies the quality of service. VALUES MQUNSUBSCRIBE('Weather') Example 2: This example demonstrates a subscriber cancelling an interest in messages containing "Stocks". The subscriber is registered as "PORTFOLIO-UPDATES" with policy "BASIC-POLICY". VALUES MQUNSUBSCRIBE('PORTFOLIO-UPDATES','BASIC-POLICY','Stocks') These examples return a scalar value of '1' if successful and a scalar value of '0' if unsuccessful. 38.3.2.13 MULTIPLY_ALT >>-MULTIPLY_ALT-------------------------------------------------> >----(exact_numeric_expression, exact_numeric_expression)------>< The schema is SYSIBM. This function was first available in FixPak 2 of Version 7.1. The MULTIPLY_ALT scalar function returns the product of the two arguments as a decimal value. It is provided as an alternative to the multiplication operator, especially when the sum of the precisions of the arguments exceeds 31. The arguments can be any built-in exact numeric data type (DECIMAL, BIGINT, INTEGER, or SMALLINT). The result of the function is a DECIMAL. The precision and scale of the result are determined as follows, using the symbols p and s to denote the precision and scale of the first argument, and the symbols p' and s' to denote the precision and scale of the second argument. * The precision is MIN(31, p + p') * The scale is: o 0 if the scale of both arguments is 0 o MIN(31, s+s') if p+p' is less than or equal to 31 o MAX(MIN(3, s+s'), 31-(p-s+p'-s') ) if p+p' is greater than 31. The result can be null if at least one argument can be null or the database is configured with DFT_SQLMATHWARN set to yes; the result is the null value if one of the arguments is null. The MULTIPLY_ALT function is a better choice than the multiplication operator when performing decimal arithmetic where a scale of at least 3 is needed and the sum of the precisions exceeds 31. In these cases, the internal computation is performed so that overflows are avoided. The final result is then assigned to the result data type using truncation where necessary to match the scale. Note that overflow of the final result is still possible when the scale is 3. The following is a sample comparing the result types using MULTIPLY_ALT and the multiplication operator. Type of argument 1Type of argument Result using Result using 2 MULTIPLY_ALT multiplication operator DECIMAL(31,3) DECIMAL(15,8) DECIMAL(31,3) DECIMAL(31,11) DECIMAL(26,23) DECIMAL(10,1) DECIMAL(31,19) DECIMAL(31,24) DECIMAL(18,17) DECIMAL(20,19) DECIMAL(31,29) DECIMAL(31,31) DECIMAL(16,3) DECIMAL(17,8) DECIMAL(31,9) DECIMAL(31,11) DECIMAL(26,5) DECIMAL(11,0) DECIMAL(31,3) DECIMAL(31,5) DECIMAL(21,1) DECIMAL(15,1) DECIMAL(31,2) DECIMAL(31,2) Example: Multiply two values where the data type of the first argument is DECIMAL(26, 3) and the data type of the second argument is DECIMAL(9,8). The data type of the result is DECIMAL(31,7). values multiply_alt(98765432109876543210987.654,5.43210987) 1 --------------------------------- 536504678578875294857887.5277415 Note that the complete product of these two numbers is 536504678578875294857887.52774154498 but the last 4 digits were truncated to match the scale of the result data type. Using the multiplication operator with the same values results in an arithmetic overflow since the result data type is DECIMAL(31,11) and the result value has 24 digits left of the decimal, but the result data type only supports 20 digits. 38.3.2.14 REC2XML >>-REC2XML---(--decimal-constant---,--format-string-------------> >----,--row-tag-string----+------------------------+--)-------->< | .------------------. | | V | | '----,--column-name---+--' The schema is SYSIBM. The REC2XML function returns a string formatted with XML tags and containing column names and column values. decimal-constant The expansion factor for replacing column value characters. The decimal value must be greater than 0.0 and less than or equal to 6.0 (SQLSTATE 42820). The decimal-constant value is used to calculate the result length of the function. For every column with a character data type, the length attribute of the column is multiplied by this expansion factor before it is added in to the result length. To specify no expansion, use a value of 1.0. Specifying a value less than 1.0 reduces the calculated result length. If the actual length of the result string is greater than the calculated result length of the function, then an error is raised (SQLSTATE 22001). format-string The string constant that specifies which format the function is to use during execution. The format-string is case-sensitive, so the following values must be specified in uppercase to be recognized. COLATTVAL or COLATTVAL_XML These formats return a string with columns as attribute values. >>-<--row-tag-string-->-----------------------------------------> .-------------------------------------------------------------------------. V | >--------<--column-name--=--"column-name"--+->--column-value----+--+> '-null="true"------------------------------------------->< Column names may or may not be valid XML attribute values. For those column names which are not valid XML attribute values, character replacement is performed on the column name before it is included in the result string. Column values may or may not be valid XML element values. If the format-string COLATTVAL is specified, for those column values which are not valid XML element values, character replacement is performed on the column value before it is included in the result string. If the format-string COLATTVAL_XML is specified, character replacement is not performed on column values (note that character replacement is still performed on column names). row-tag-string A string constant that specifies the tag used for each row. If an empty string is specified, then a value of 'row' is assumed. If a string of one or more blank characters is specified, then no beginning row-tag-string or ending row-tag-string (including the angle bracket delimiters) will appear in the result string. column-name A qualified or unqualified name of a table column. The column must have one of the following data types (SQLSTATE 42815): o numeric (SMALLINT, INTEGER, BIGINT, DECIMAL, NUMERIC, REAL, DOUBLE) o character string (CHAR, VARCHAR) 5 o datetime (DATE, TIME, TIMESTAMP) o a user-defined type based on one of the above types The same column name cannot be specified more than once (SQLSTATE 42734). The result of the function is VARCHAR. The maximum length is 32672 bytes (SQLSTATE 54006). Consider the following invocation: REC2XML (dc, fs, rt, c1, c2, ..., cn) If the value of fs is "COLATTVAL" or "COLATTVAL_XML" the result is the same as the following expression: '<' CONCAT rt CONCAT '>' CONCAT y1 CONCAT y2 CONCAT ... CONCAT yn CONCAT '' where yn is equivalent to: '' CONCAT rn CONCAT '' if the column is not null, and '" null="true"/>' if the column value is null. xvcn is equivalent to a string representation of the column name of cn, where any characters appearing in Table 29 are replaced with the corresponding representation. This ensures that the resulting string is a valid XML attribute or element value token. rn is equivalent to a string representation as indicated in Table 28. Result Column Values: Based on the data type of the column and the actual format-string specified, the column values from the table may be transformed before being concatenated into the result string. The following table shows the transformations done on the column values. Table 28. Column Values String Result Data type of cn rn CHAR, VARCHAR The value is a string. If the format-string does not end in the characters "_XML", then each character in cn is replaced with the corresponding replacement representation from Table 29, as indicated. The length attribute is: dc * the length attribute of cn. SMALLINT, INTEGER, BIGINT, DECIMAL, The value is LTRIM(RTRIM(CHAR(cn))). NUMERIC, REAL, DOUBLE The length attribute is the result length of CHAR(cn). The decimal character is always the period character. DATE The value is CHAR(cn, ISO). The length attribute is the result length of CHAR(cn, ISO). TIME The value is CHAR(cn, JIS). The length attribute is the result length of CHAR(cn, JIS) TIMESTAMP The value is CHAR(cn). The length attribute is the result length of CHAR(cn). Character Replacement: Depending on the value specified for the format-string, certain characters in column names and column values will be replaced to ensure that the column names form valid XML attribute values and the column values form valid XML element values. Table 29. Character Replcements for XML Attribute Values and Element Values < is replaced by < > is replaced by > " is replaced by " & is replaced by & ' is replaced by ' Examples: * Using the DEPARTMENT table, format the department table row, except the DEPTNAME and LOCATION columns, for department 'D01' into a string of valid XML. Since the data does not contain any of the characters which require replacement, the expansion factor will be 1.0 (no expansion). Also note that the MGRNO value is null for this row. SELECT REC2XML (1.0, 'COLATTVAL', '', DEPTNO, MGRNO, ADMRDEPT) FROM DEPARTMENT WHERE DEPTNO = 'D01' This example returns the following VARCHAR(117) string: D01 A00 Notes: REC2XML does not insert new line characters in the output. The above example output is formatted for the sake of readability. * A 5-day university schedule introduces a class with the name '&43' and '' overhead, 21 for the column names, 75 for the '', '' and double quotes, 7 for the CLASS_CODE data, 6 for the DAY data, and 8 for the STARTING data). Since the '&' and '<' characters will be replaced, an expansion factor of 1.0 will not be sufficient. The length attribute of the function will need to support an increase from 7 to 14 characters for the new format CLASS_CODE data. However, since it is known that the DAY value will never be more than 1 digit long, an extra 5 is calculated into the length that will never be used. Therefore, the expansion only needs to handle an increase of 2. Since CLASS_CODE is the only character string column in the argument list, this is the only column value to which the expansion factor applies. To get an increase of 2 for the length, an expansion factor of 9/7 (approximately 1.2857) would be needed. An expansion factor of 1.3 will be used. SELECT REC2XML (1.3, 'COLATTVAL', 'record', CLASS_CODE, DAY, STARTING) FROM CL_SCHED WHERE CLASS_CODE = '&43 &43<FIE 5 06:45:00 Notes: REC2XML does not insert new line characters in the output. The above example output is formatted for the sake of readability. * This example shows characters replaced in a column name. SELECT REC2XML (1.3,'COLATTVAL', '', Class, "time &43<FIE >-GET_ROUTINE_SAR----------------------------------------------> >----(--sarblob--,--type--,--routine_name_string--)------------>< The schema is SYSFUN. This procedure was first available in FixPak 3 of Version 7.1. The GET_ROUTINE_SAR procedure retrieves the necessary information to install the same routine in another database server running the same level on the same operating system. The information is retrieved into a single BLOB string representing an SQL archive file. The invoker of the GET_ROUTINE_SAR procedure must have DBADM authority. sarblob An output argument of type BLOB(3M) that contains the routine SAR file contents. type An input argument of type CHAR(2) that specifies whether the type of routine, using one of the following values: o P for a procedure. o SP for the specific name of a procedure. routine_name_string An input argument of type VARCHAR(257) that specifies a qualified name of the routine. If no schema name is specified, the default is the CURRENT SCHEMA when the routine is processed. Notes: The routine_name_string cannot include the double quote character ("). The qualified name of the routine is used to determine which routine to retrieve. The routine that is found must be an SQL routine or an error is raised (SQLSTATE 428F7). When not using a specific name, this may result in more than one routine and an error is raised (SQLSTATE 42725). If this occurs, the specific name of the routine must be used to get the routine. The SAR file must include a bind file which may not be available at the server. If the bind file cannot be found and stored in the SAR file, an error is raised (SQLSTATE 55045). 38.3.4.2 PUT_ROUTINE_SAR >>-PUT_ROUTINE_SAR----------------------------------------------> >----(--sarblob--+-------------------------------------+--)---->< '-,--new_owner--,--use_register_flag--' The schema is SYSFUN. This procedure was first available in FixPak 3 of Version 7.1. The PUT_ROUTINE_SAR procedure passes the necessary file to create an SQL routine at the server and then defines the routine. The invoker of the PUT_ROUTINE_SAR procedure must have DBADM authority. sarblob An input argument of type BLOB(3M) that contains the routine SAR file contents. new_owner An input argument of type VARCHAR(128) that contains an authorization-name used for authorization checking of the routine. The new-owner must have the necessary privileges for the routine to be defined. If new-owner is not specified, the authorization-name of the original routine definer is used. use_register_flag An input argument of type INTEGER that indicates whether or not the CURRENT SCHEMA and CURRENT PATH special registers are used to define the routine. If the special registers are not used, the settings for the default schema and SQL path are the settings used when the routine was originally defined. Possible values for use-register-flag: 0 Do not use the special registers of the current environment 1 Use the CURRENT SCHEMA and CURRENT PATH special registers. If the value is 1, CURRENT SCHEMA is used for unqualified object names in the routine definition (including the name of the routine) and CURRENT PATH is used to resolve unqualified routines and data types in the routine definition. If the use-registers-flag is not specified, the behavior is the same as if a value of 0 was specified. The identification information contained in sarblob is checked to confirm that the inputs are appropriate for the environment, otherwise an error is raised (SQLSTATE 55046). The PUT_ROUTINE_SAR procedure then uses the contents of the sarblob to define the routine at the server. The contents of the sarblob argument are extracted into the separate files that make up the SQL archive file. The shared library and bind files are written to files in a temporary directory. The environment is set so that the routine definition statement processing is aware that compiling and linking are not required, and that the location of the shared library and bind files is available. The contents of the DDL file are then used to dynamically execute the routine definition statement. Notes: No more than one procedure can be concurrently installed under a given schema. Processing of this statement may result in the same errors as executing the routine definition statement using other interfaces. During routine definition processing, the presence of the shared library and bind files is noted and the precompile, compile and link steps are skipped. The bind file is used during bind processing and the contents of both files are copied to the usual directory for an SQL routine. Notes: If a GET ROUTINE or a PUT ROUTINE operation (or their corresponding procedure) fails to execute successfully, it will always return an error (SQLSTATE 38000), along with diagnostic text providing information about the cause of the failure. For example, if the procedure name provided to GET ROUTINE does not identify an SQL procedure, diagnostic "100, 02000" text will be returned, where "100" and "02000" are the SQLCODE and SQLSTATE, respectively, that identify the cause of the problem. The SQLCODE and SQLSTATE in this example indicate that the row specified for the given procedure name was not found in the catalog tables. ------------------------------------------------------------------------ 38.4 Chapter 5. Queries 38.4.1 select-statement/syntax diagram The syntax diagram changes to: >>-+---------------------------------------+--fullselect--------> | .-,--------------------------. | | V | | '-WITH-----common-table-expression---+--' >----+-----------------+--+--------------------+----------------> '-order-by-clause-' '-fetch-first-clause-' >----*--+---------------------+--*--+---------------------+--*--> +-read-only-clause----+ '-optimize-for-clause-' | (1) | '-update-clause-------' >-----+---------------+---------------------------------------->< '-WITH--+-RR-+--' +-RS-+ +-CS-+ '-UR-' Notes: 1. The update-clause and the order-by-clause cannot both be specified in the same select-statement. Add the following paragraph to the description below the syntax diagram: The optional WITH clause specifies the isolation level at which the select statement is executed. o RR - Repeatable Read o RS - Read Stability o CS - Cursor Stability o UR - Uncommitted Read The default isolation level of the statement is the isolation level of the package in which the statement is bound. 38.4.2 select-statement/fetch-first-clause The last paragraph in the description of the fetch-first-clause: Specification of the fetch-first-clause in a select-statement makes the cursor not deletable (read-only). This clause cannot be specified with the FOR UPDATE clause. is incorrect and should be removed. ------------------------------------------------------------------------ 38.5 Chapter 6. SQL Statements 38.5.1 Update of the Partitioning Key Now Supported Update the partitioning key is now supported. The following text from various statements in Chapter 6 should be deleted only if the DB2_UPDATE_PART_KEY=ON: Notes: If DB2_UPDATE_PART_KEY=OFF, then the restrictions still apply. 38.5.1.1 Statement: ALTER TABLE Rules * A partitioning key column of a table cannot be updated (SQLSTATE 42997). * A nullable column of a partitioning key cannot be included as a foreign key column when the relationship is defined with ON DELETE SET NULL (SQLSTATE 42997). 38.5.1.2 Statement: CREATE TABLE Rules * A partitioning key column of a table cannot be updated (SQLSTATE 42997). * A nullable column of a partitioning key cannot be included as a foreign key column when the relationship is defined with ON DELETE SET NULL (SQLSTATE 42997). 38.5.1.3 Statement: DECLARE GLOBAL TEMPORARY TABLE PARTITIONING KEY (column-name,...) Notes: The partitioning key columns cannot be updated (SQLSTATE 42997). 38.5.1.4 Statement: UPDATE Footnotes * 108 A column of a partitioning key is not updatable (SQLSTATE 42997). The row of data must be deleted and inserted to change columns in a partitioning key. 38.5.2 Larger Index Keys for Unicode Databases 38.5.2.1 ALTER TABLE The length of variable length columns that are part of any index, including primary and unique keys, defined when the registry variable DB2_INDEX_2BYTEVARLEN was on, can be altered to a length greater than 255 bytes. The fact that a variable length column is involved in a foreign key will no longer prevent the length of that column from being altered to larger than 255 bytes, regardless of the registry variable setting. However, data with length greater than 255 cannot be inserted into the table unless the column in the corresponding primary key has length greater than 255 bytes, which is only possible if the primary key was created with the registry variable ON. 38.5.2.2 CREATE INDEX Indexes can be defined on variable length columns whose length is greater than 255 bytes if the registry variable DB2_INDEX_2BYTEVARLEN is ON. 38.5.2.3 CREATE TABLE Primary and unique keys with variable keyparts can have a size greater than 255 if the registry variable DB2_INDEX_2BYTEVARLEN is ON. Foreign keys can be defined on variable length columns whose length is greater than 255 bytes. 38.5.3 ALTER SEQUENCE ALTER SEQUENCE The ALTER SEQUENCE statement modifies the attributes of a sequence by: * Restarting the sequence * Changing the increment between future sequence values * Setting new minimum or maximum values * Changing the number of cached sequence numbers * Changing whether the sequence can cycle or not * Changing whether sequence numbers must be generated in order of request ©I¥s This statement can be embedded in an application program or issued through the use of dynamic SQL statements. It is an executable statement that can be dynamically prepared. However, if the bind option DYNAMICRULES BIND applies, the statement cannot be dynamically prepared (SQLSTATE 42509). Authorization The privileges held by the authorization ID of the statement must include at least one of the following: * Definer of the sequence * The ALTERIN privilege for the schema implicitly or explicitly specified * SYSADM or DBADM authority Syntax >>-ALTER SEQUENCE--sequence-name--------------------------------> .-------------------------------------------. V | >-------+-RESTART--+-------------------------+-+--+------------>< | '-WITH--numeric-constant--' | +-INCREMENT BY--numeric-constant-------+ +-+-MINVALUE--numeric-constant--+------+ | '-NO MINVALUE-----------------' | +-+-MAXVALUE--numeric-constant--+------+ | '-NO MAXVALUE-----------------' | +-+-CYCLE----+-------------------------+ | '-NO CYCLE-' | +-+-CACHE--integer-constant--+---------+ | '-NO CACHE-----------------' | '-+-ORDER----+-------------------------' '-NO ORDER-' Description sequence-name Identifies the particular sequence. The combination of name, and the implicit or explicit schema name must identify an existing sequence at the current server. If no sequence by this name exists in the explicitly or implicitly specified schema, an error (SQLSTATE 42704) is issued. RESTART Restarts the sequence. If numeric-constant is not specified, the sequence is restarted at the value specified implicitly or explicitly as the starting value on the CREATE SEQUENCE statement that originally created the sequence. WITH numeric-constant Restarts the sequence with the specified value. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 42820) as long as there are no non-zero digits to the right of the decimal point (SQLSTATE 42894). INCREMENT BY Specifies the interval between consecutive values of the sequence. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 42820), and does not exceed the value of a large integer constant (SQLSTATE 42815), without non-zero digits existing to the right of the decimal point (SQLSTATE 428FA). If this value is negative, then the sequence of values descends. If this value is positive, then the sequence of values ascends. If this value is 0 or greater than the range defined by MINVALUE and MAXVALUE, only one value will be generated, but the sequence is treated as an ascending sequence otherwise. MINVALUE or NO MINVALUE Specifies the minimum value at which a descending sequence either cycles or stops generating values, or an ascending sequence cycles to after reaching the maximum value. MINVALUE numeric-constant Specifies the numeric constant that is the minimum value. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 42820), without non-zero digits existing to the right of the decimal point (SQLSTATE 428FA), but the value must be less than or equal to the maximum value (SQLSTATE 42815). NO MINVALUE For an ascending sequence, the value is the START WITH value, or 1 if START WITH is not specified. For a descending sequence, the value is the minimum value of the data type associated with the sequence. This is the default. MAXVALUE or NO MAXVALUE Specifies the maximum value at which an ascending sequence either cycles or stops generating values, or a descending sequence cycles to after reaching the minimum value. MAXVALUE numeric-constant Specifies the numeric constant that is the maximum value. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 428FA), without non-zero digits existing to the right of the decimal point (SQLSTATE 428FA), but the value must be greater than or equal to the minimum value (SQLSTATE 42815). NO MAXVALUE For an ascending sequence, the value is the maximum value of the data type associated with the sequence. For a descending sequence, the value is the START WITH value, or -1 if START WITH is not specified. This is the default. CYCLE or NOCYCLE Specifies whether the sequence should continue to generate values after reaching either its maximum or minimum value. The boundary of the sequence can be reached either with the next value landing exactly on the boundary condition, or by overshooting it in which case the next value would be determined from wrapping around to the START WITH value if cycles were permitted. CYCLE Specifies that values continue to be generated for this sequence after the maximum or minimum value has been reached. If this option is used, after an ascending sequence reaches its maximum value, it generates its minimum value; or after a descending sequence reaches its minimum value, it generates its maximum value. The maximum and minimum values for the sequence determine the range that is used for cycling. When CYCLE is in effect, then duplicate values can be generated for the sequence. NO CYCLE Specifies that values will not be generated for the sequence once the maximum or minimum value for the sequence has been reached. This is the default. CACHE or NO CACHE Specifies whether to keep some preallocated values in memory for faster access. This is a performance and tuning option. CACHE integer-constant Specifies the maximum number of sequence values that are preallocated and kept in memory. Preallocating and storing values in the cache reduces synchronous I/O to the log when values are generated for the sequence. In the event of a system failure, all cached sequence values that have not been used in committed statements are lost (that is, they will never be used). The value specified for the CACHE option is the maximum number of sequence values that could be lost in case of system failure. The minimum value is 2 (SQLSTATE 42815). The default value is CACHE 20. NO CACHE Specifies that values of the sequence are not to be preallocated. It ensures that there is not a loss of values in the case of a system failure, shutdown or database deactivation. When this option is specified, the values of the sequence are not stored in the cache. In this case, every request for a new value for the sequence results in synchronous I/O to the log. NO ORDER or ORDER Specifies whether the sequence numbers must be generated in order of request. ORDER Specifies that the sequence numbers are generated in order of request. NO ORDER Specifies that the sequence numbers do not need to be generated in order of request. This is the default. After restarting a sequence or changing to CYCLE, it is possible for sequence numbers to be duplicate values of ones generated by the sequence previously. Version * Only future sequence numbers are affected by the ALTER SEQUENCE statement. * The data type of a sequence cannot be changed. Instead, drop and recreate the sequence specifying the desired data type for the new sequence. * All cached values are lost when a sequence is altered. Examples Example 1: A possible reason for specifying RESTART without a numeric value would be to reset the sequence to the START WITH value. In this example, the goal is to generate the numbers from 1 up to the number of rows in the table and then inserting the numbers into a column added to the table using temporary tables. Another use would be to get results back where all the resulting rows are numbered: ALTER SEQUENCE org_seq RESTART SELECT NEXTVAL for org_seq, org.* FROM org 38.5.4 ALTER TABLE Changes to syntax fragments: column-alteration |--column-name--------------------------------------------------> >-----+-SET--+-DATA TYPE--+-VARCHAR-----------+---(--integer--)--+-------+> | | +-CHARACTER VARYING-+ | | | | '-CHAR VARYING------' | | | '-EXPRESSION AS--(--generation-expression--)--------' | +-ADD SCOPE--+-typed-table-name-+----------------------------------+ | '-typed-view-name--' | '-+-| identity-alteration |--------------------------------------+-' '-SET GENERATED--+-ALWAYS-----+---+--------------------------+-' '-BY DEFAULT-' '-| identity-alteration |--' >---------------------------------------------------------------| identity-alteration |---+-RESTART--+--------------------------+-+-------------------| | '-WITH--numeric-constant---' | +-SET INCREMENT BY--numeric-constant----+ | (1) | +-SET--+-NO MINVALUE-----------------+--+ | '-MINVALUE--numeric-constant--' | +-SET--+-NO MAXVALUE-----------------+--+ | '-MAXVALUE--numeric-constant--' | +-SET--+-CYCLE----+---------------------+ | '-NO CYCLE-' | +-SET--+-NO CACHE-----------------+-----+ | '-CACHE--integer-constant--' | '-SET--+-NO ORDER-+---------------------' '-ORDER----' Notes: 1. These parameters can be specified without spaces: NOMINVALUE, NOMAXVALUE, NOCYCLE, NOCACHE, and NOORDER. These single word versions are all acceptable alternatives to the two word versions. Add the following parameters: SET GENERATED Specifies whether values are to be generated for the column always or only when a default value is needed. ALWAYS A value will always be generated for the column when a row is inserted or updated in the table. The column must already be defined as a generated column (SQLSTATE 42837). BY DEFAULT The value will be generated for the column when a row is inserted into the table, unless a value is specified. The column must already be defined as a generated column (SQLSTATE 42837). RESTART or RESTART WITH numeric-constant Resets the state of the sequence associated with the identity column. If WITH numeric-constant is not specified, then the sequence for the identity column is restarted at the value that was specified, either implicitly or explicitly, as the starting value when the identity column was originally created. The numeric-constant is an exact numeric constant that can be any positive or negative value that could be assigned to this column (SQLSTATE 42820) as long as there are no non-zero digits to the right of the decimal point (SQLSTATE 42894). The column must already be defined with the IDENTITY attribute (SQLSTATE 42837). The numeric-constant will be used as the next value for the column. SET INCREMENT BY numeric-constant Specifies the interval between consecutive values of the identity column. The column must already be defined with the IDENTITY attribute (SQLSTATE 42837). This value is any positive or negative value that could be assigned to this column (SQLSTATE 42820), and does not exceed the value of a large integer constant (SQLSTATE 42815), as long as there are no non-zero digits to the right of the decimal point (SQLSTATE 42894). If this value is negative, then the sequence of values for this identity column descends. If this value is positive, then the sequence of values for this identity column ascends. If this value is 0, or is greater than the range defined by MINVALUE and MAXVALUE, then DB2 will only generate one value, but the sequence is treated as an ascending sequence otherwise. SET MINVALUE numeric-constant or NO MINVALUE Specifies the minimum value at which a descending identity column either cycles or stops generating values, or the value to which an ascending identity column cycles to after reaching the maximum value. The column must already be defined with the IDENTITY attribute (SQLSTATE 42837). MINVALUE numeric-constant Specifies the minimum numeric constant value . This value can be any positive or negative value that could be assigned to this column (SQLSTATE 42820), without non-zero digits existing to the right of the decimal point (SQLSTATE 42894), but the value must be less than the maximum value (SQLSTATE 42815). NO MINVALUE For an ascending sequence, the value is the START WITH value, or 1 if START WITH is not specified. For a descending sequence, the value is the minimum value of the data type of the column. SET MAXVALUE numeric-constant or NO MAXVALUE Specifies the maximum value at which an ascending identity column either cycles or stops generating values, or the value to which a descending identity column cycles to after reaching the minimum value. The column must already be defined with the IDENTITY attribute (SQLSTATE 42837). MAXVALUE numeric-constant Specifies the numeric constant that is the maximum value. This value can be any positive or negative value that could be assigned to this column (SQLSTATE 42820), without non-zero digits existing to the right of the decimal point (SQLSTATE 42894), but the value must be greater than the minimum value (SQLSTATE 42815). NO MAXVALUE For an ascending sequence, the value is the maximum value of the data type of the column. For a descending sequence, the value is the START WITH value, or -1 if START WITH is not specified. SET CYCLE or NO CYCLE Specifies whether this identity column should continue to generate values after generating either the maximum or minimum value. The column must already be defined with the IDENTITY attribute (SQLSTATE 42837). CYCLE Specifies that values continue to be generated for this column after the maximum or minimum value has been reached. If this option is used, then after an ascending identity column reaches the maximum value, it generates its minimum value; or after a descending sequence reaches the minimum value, it generates its maximum value. The maximum and minimum values for the identity column determine the range that is used for cycling. When CYCLE is in effect, then duplicate values can be generated for an identity column. Although not required, if unique values are desired, a single-column unique index defined using the identity column will ensure uniqueness. If a unique index exists on such an identity column and a non-unique value is generated, then an error occurs (SQLSTATE 23505). NO CYCLE Specifies that values will not be generated for the identity column once the maximum or minimum value has been reached. SET CACHE integer-constant or NO CACHE Specifies whether to keep some preallocated values in memory for faster access. This is a performance and tuning option. The column must already be defined with the IDENTITY attribute (SQLSTATE 42837). CACHE integer-constant Specifies how many values of the identity sequence are preallocated and kept in memory. When values are generated for the identity column, preallocating and storing values in the cache reduces synchronous I/O to the log. If a new value is needed for the identity column and there are no unused values available in the cache, then the allocation of the value requires waiting for I/O to the log. However, when a new value is needed for the identity column and there is an unused value in the cache, the allocation of that identity value can happen more quickly by avoiding the I/O to the log. When a database manager is stopped (database deactivation, system failure, or shutdown, for example), all cached sequence values that have not been used in committed statements are lost (that is, they will never be used). The value specified for the CACHE option is the maximum number of values for the identity column that could be lost in case of system failure. The minimum value is 2 (SQLSTATE 42615). NO CACHE Specifies that values for the identity column are not to be preallocated. When this option is specified, the values of the identity column are not stored in the cache. In this case, every request for a new identity value results in synchronous I/O to the log. SET ORDER or NO ORDER Specifies whether the identity column values must be generated in order of request. The column must already be defined with the IDENTITY attribute (SQLSTATE 42837). ORDER Specifies that the identity column values are generated in order of request. NO ORDER Specifies that the identity column values do not need to be generated in order of request. 38.5.5 Compound SQL (Embedded) A prepared COMMIT statement is not allowed in an ATOMIC compound SQL statement. 38.5.6 Compound Statement (Dynamic) Compound Statement (Dynamic) A compound statement groups other statements together into an executable block. You can declare SQL variables within a dynamically prepared atomic compound statement. Invocation This statement can be embedded in a trigger, SQL Function, or SQL Method, or issued through the use of dynamic SQL statements. It is an executable statement that can be dynamically prepared. Authorization No privileges are required to invoke a dynamic compound statement. However, the authorization ID of the compound statement must hold the necessary privileges to invoke the SQL statements embedded in the compound statement. Syntax dynamic-compound-statement >>-+--------------+--BEGIN ATOMIC-------------------------------> | (1) | '-label:-------' >-----+-----------------------------------------------+---------> | .-----------------------------------------. | | V | | '-----+-| SQL-variable-declaration |-+---;---+--' '-| condition-declaration |----' .-,-----------------------------. V | >--------SQL-procedure-statement--;---+---END--+--------+------>< '-label--' SQL-variable-declaration .-,--------------------. V | |---DECLARE-------SQL-variable-name---+--data-type--------------> .-DEFAULT NULL-------------. >-----+--------------------------+------------------------------| '-DEFAULT--default-values--' condition-declaration |---DECLARE--condition-name--CONDITION--FOR---------------------> .-VALUE-. .-SQLSTATE--+-------+---. >----+-----------------------+---string-constant----------------| Notes: 1. A label can only be specified when the statement is in a function, method, or trigger definition. Description label Defines the label for the code block. If the beginning label is specified, it can be used to qualify SQL variables declared in the dynamic compound statement and can also be specified on a LEAVE statement. If the ending label is specified, it must be the same as the beginning label. ATOMIC ATOMIC indicates that, if an error occurs in the compound statement, all SQL statements in the compound statement will be rolled back and any remaining SQL statements in the compound statement are not processed. SQL-procedure-statement The following list of SQL-control-statements can be used within the dynamic compound statement: o FOR Statement o GET DIAGNOSTICS Statement o IF Statement o ITERATE Statement o LEAVE Statement o SIGNAL Statement o WHILE Statement The SQL statements that can be issued are: o fullselect 6 o Searched UPDATE o Searched DELETE o INSERT o SET variable statement SQL-variable-declaration Declares a variable that is local to the dynamic compound statement. SQL-variable-name Defines the name of a local variable. DB2 converts all SQL variable names to uppercase. The name cannot: + Be the same as another SQL variable within the same compound statement. + Be the same as a parameter name. + Be the same as column names. If an SQL statement contains an identifier with the same name as an SQL variable and a column reference, DB2 interprets the identifier as a column. data-type Specifies the data type of the variable. DEFAULT default-values or NULL Defines the default for the SQL variable. The variable is initialized when the dynamic compound statement is called. If a default value is not specified, the variable is initialized to NULL. condition-declaration Declares a condition name and corresponding SQLSTATE value. condition-name Specifies the name of the condition. The condition name must be unique within the procedure body and can be referenced only within the compound statement in which it is declared. FOR SQLSTATE string-constant Specifies the SQLSTATE associated with the condition. The string-constant must be specified as five characters enclosed in single quotes, and cannot be '00000'. Version * Dynamic compound statements are compiled by DB2 as one single statement. This statement is effective for short scripts involving little control flow logic but significant data flow. For larger constructs with nested complex control flow, a better choice is to use SQL procedures for details on using SQL procedures. 38.5.7 CREATE FUNCTION (Source or Template) The syntax diagram changes to the following >>-CREATE FUNCTION--function-name-------------------------------> >----(--+------------------------------------------+---)---*----> | .-,----------------------------------. | | V | | '----+-----------------+---data-type1---+--' '-parameter-name--' >----RETURNS--data-type2---*----+--------------------------+----> '-SPECIFIC--specific-name--' >----*----------------------------------------------------------> >-----+-SOURCE--+-function-name--------------------------------+------------------+> | +-SPECIFIC--specific-name----------------------+ | | '-function-name--(--+-------------------+---)--' | | | .-,-----------. | | | | V | | | | '----data-type---+--' | | .-NOT DETERMINISTIC--. .-EXTERNAL ACTION----. | '-AS TEMPLATE--*----+--------------------+--*----+--------------------+--*--' '-DETERMINISTIC------' '-NO EXTERNAL ACTION-' >----*--------------------------------------------------------->< Add the following to the "Description" section: DETERMINISTIC or NOT DETERMINISTIC This optional clause specifies whether the function always returns the same results for given argument values (DETERMINISTIC) or whether the function depends on some state values that affect the results (NOT DETERMINISTIC). That is, a DETERMINISTIC function must always return the same table from successive invocations with identical inputs. Optimizations taking advantage of the fact that identical inputs always produce the same results are prevented by specifying NOT DETERMINISTIC. NOT DETERMINISTIC must be explicitly or implicitly specified if the body of the function accesses a special register or calls another non-deterministic function (SQLSTATE 428C2). NO EXTERNAL ACTION or EXTERNAL ACTION This optional clause specifies whether or not the function takes some action that changes the state of an object not managed by the database manager. By specifying NO EXTERNAL ACTION, the system can use certain optimizations that assume functions have no external impacts. EXTERNAL ACTION must be explicitly or implicitly specified if the body of the function calls another function that has an external action (SQLSTATE 428C2). 38.5.8 CREATE FUNCTION (SQL Scalar, Table or Row) The syntax diagram changes to: >>-CREATE FUNCTION--function-name-------------------------------> >----(--+------------------------------------+---)---*----------> | .-,----------------------------. | | V | | '----parameter-name--data-type1---+--' >----RETURNS--+-data-type2--------------------+--*--------------> '--+-ROW---+---| column-list |--' '-TABLE-' .-LANGUAGE SQL--. >-----+--------------------------+--*----+---------------+--*---> '-SPECIFIC--specific-name--' .-NOT DETERMINISTIC--. .-EXTERNAL ACTION----. >-----+--------------------+--*----+--------------------+--*----> '-DETERMINISTIC------' '-NO EXTERNAL ACTION-' .-READS SQL DATA--. .-STATIC DISPATCH--. >-----+-----------------+--*----+------------------+--*---------> '-CONTAINS SQL----' (1) .-CALLED ON NULL INPUT-------. >-----+----------------------------+--*-------------------------> >-----+-----------------------------------------------------+---> | (2) | '-PREDICATES--(--| predicate-specification |--)-------' >----| SQL-function-body |------------------------------------->< column-list .-,--------------------------. V | |---(-----column-name--data-type3---+---)-----------------------| SQL-function-body |---+-RETURN Statement-----------+------------------------------| '-dynamic-compound-statement-' Notes: 1. NULL CALL may be specified in place of CALLED ON NULL INPUT 2. Valid only if RETURNS specifies a scalar result (data-type2) Change the following parameters: LANGUAGE SQL Specifies that the function is written using SQL. This parameter section replaces the "RETURN expression, NULL, WITH common-table-expression, fullselect" parameter section. SQL-function-body Specifies the body of the function. Parameter names can be referenced in the SQL-function-body. Parameter names may be qualified with the function name to avoid ambiguous references. If the SQL-function-body is a dynamic compound statement, it must contain at least one RETURN statement and a RETURN statement must be executed when the function is called (SQLSTATE 42632). If the function is a table or row function, then it can contain only one RETURN statement which must be the last statement in the dynamic compound (SQLSTATE 429BD). For additional details, see Compound Statement (Dynamic) and RETURN. 38.5.9 CREATE METHOD The syntax diagram changes to: CREATE METHOD Syntax >>-CREATE-------------------------------------------------------> >-----+-METHOD--+-method-name----------+---FOR--type-name--+----> | '-| method-signature |-' | '-SPECIFIC METHOD--specific-name---------------------' >-----+-*----EXTERNAL--+-----------------------+--*----+------------------------------+--*--+> | '-NAME--+-'string'---+--' '-TRANSFORM GROUP--group-name--' | | '-identifier-' | '-| SQL-method-body |-----------------------------------------------------------------' >-------------------------------------------------------------->< method-signature |---method-name--(--+---------------------------------------------------------+---)--> | .-,--------------------------------------------------. | | V | | '----+-----------------+---data-type1--+-------------+--+-' '-parameter-name--' '-AS LOCATOR--' >----+------------------------------------------------------------------+-> '-RETURNS--+-data-type2--+-------------+------------------------+--' | '-AS LOCATOR--' | '-data-type3--CAST FROM--data-type4--+-------------+-' '-AS LOCATOR--' >---------------------------------------------------------------| SQL-method-body |---+-RETURN Statement-----------+------------------------------| '-dynamic-compound-statement-' The following parameters replace the "RETURN scalar-expression or NULL" section: SQL-method-body The SQL-method-body defines the how the method is implemented if the method specification in CREATE TYPE is LANGUAGE SQL. The SQL-method-body must comply with the following parts of the method specification: o DETERMINISTIC or NOT DETERMINISTIC (SQLSTATE 428C2) o EXTERNAL ACTION or NO EXTERNAL ACTION (SQLSTATE 428C2) o CONTAINS SQL or READS SQL DATA (SQLSTATE 42985) Parameter names can be referenced in the SQL-method-body. The subject of the method is passed to the method implementation as an implicit first parameter named SELF. For additional details, see Compound Statement (Dynamic) and RETURN. 38.5.10 CREATE SEQUENCE CREATE SEQUENCE The CREATE SEQUENCE statement creates a sequence at the application server. Invocation This statement can be embedded in an application program or issued through the use of dynamic SQL statements. It is an executable statement that can be dynamically prepared. However, if the bind option DYNAMICRULES BIND applies, the statement cannot be dynamically prepared (SQLSTATE 42509). Authorization The privileges held by the authorization ID of the statement must include at least one of the following: * CREATEIN privilege for the implicitly or explicitly specified schema * SYSADM or DBADM authority Syntax .-AS INTEGER-----. >>-CREATE SEQUENCE--sequence-name---*----+----------------+--*--> '-AS--data-type--' >-----+-------------------------------+--*----------------------> '-START WITH--numeric-constant--' .-INCREMENT BY 1------------------. >-----+---------------------------------+--*--------------------> '-INCREMENT BY--numeric-constant--' (1) .-NO MINVALUE-----------------. >-----+-----------------------------+--*------------------------> '-MINVALUE--numeric-constant--' .-NO MAXVALUE-----------------. .-NO CYCLE--. >-----+-----------------------------+--*----+-----------+--*----> '-MAXVALUE--numeric-constant--' '-CYCLE-----' .-CACHE 20-----------------. .-NO ORDER--. >-----+--------------------------+--*----+-----------+--*------>< +-CACHE--integer-constant--+ '-ORDER-----' '-NO CACHE-----------------' Notes: 1. These parameters can be specified without spaces: NOMINVALUE, NOMAXVALUE, NOCYCLE, NOCACHE, and NOORDER. These single word versions are all acceptable alternatives to the two word versions. Description sequence-name Names the sequence. The combination of name, and the implicit or explicit schema name must not identify an existing sequence at the current server (SQLSTATE 42710). The unqualified form of sequence-name is an SQL identifier. The qualified form is a qualifier followed by a period and an SQL identifier. The qualifier is a schema name. If the sequence name is explicitly qualified with a schema name, the schema name cannot begin with 'SYS' or an error (SQLSTATE 42939) is raised. AS data-type Specifies the data type to be used for the sequence value. The data type can be any exact numeric type (SMALLINT, INTEGER, BIGINT or DECIMAL) with a scale of zero or a user-defined distinct type for which the source type is an exact numeric type with a scale of zero (SQLSTATE 42815). The default is INTEGER. START WITH numeric-constant Specifies the first value for the sequence. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 42820), without non-zero digits existing to the right of the decimal point (SQLSTATE 428FA). The default is MINVALUE for ascending sequences and MAXVALUE for descending sequences. This value is not necessarily the value that a sequence would cycle to after reaching the maximum or minimum value of the sequence. The START WITH clause can be used to start a sequence outside the range that is used for cycles. The range used for cycles is defined by MINVALUE and MAXVALUE. INCREMENT BY numeric-constant Specifies the interval between consecutive values of the sequence. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 42820), and does not exceed the value of a large integer constant (SQLSTATE 42815), without non-zero digits existing to the right of the decimal point (SQLSTATE 428FA). If this value is negative, then the sequence of values descends. If this value is positive, then the sequence of values ascends. If this value is 0 or greater than the range defined by MINVALUE and MAXVALUE, only one value will be generated, but the sequence is treated as an ascending sequence otherwise. The default is 1. MINVALUE or NO MINVALUE Specifies the minimum value at which a descending sequence either cycles or stops generating values, or an ascending sequence cycles to after reaching the maximum value. MINVALUE numeric-constant Specifies the numeric constant that is the minimum value. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 42820), without non-zero digits existing to the right of the decimal point (SQLSTATE 428FA), but the value must be less than or equal to the maximum value (SQLSTATE 42815). NO MINVALUE For an ascending sequence, the value is the START WITH value, or 1 if START WITH is not specified. For a descending sequence, the value is the minimum value of the data type associated with the sequence. This is the default. MAXVALUE or NO MAXVALUE Specifies the maximum value at which an ascending sequence either cycles or stops generating values, or a descending sequence cycles to after reaching the minimum value. MAXVALUE numeric-constant Specifies the numeric constant that is the maximum value. This value can be any positive or negative value that could be assigned to a column of the data type associated with the sequence (SQLSTATE 428FA), without non-zero digits existing to the right of the decimal point (SQLSTATE 428FA), but the value must be greater than or equal to the minimum value (SQLSTATE 42815). NO MAXVALUE For an ascending sequence, the value is the maximum value of the data type associated with the sequence. For a descending sequence, the value is the START WITH value, or -1 if START WITH is not specified. This is the default. CYCLE or NO CYCLE Specifies whether the sequence should continue to generate values after reaching either its maximum or minimum value. The boundary of the sequence can be reached either with the next value landing exactly on the boundary condition, or by overshooting it. CYCLE Specifies that values continue to be generated for this sequence after the maximum or minimum value has been reached. If this option is used, after an ascending sequence reaches its maximum value it generates its minimum value; after a descending sequence reaches its minimum value it generates its maximum value. The maximum and minimum values for the sequence determine the range that is used for cycling. When CYCLE is in effect, then duplicate values can be generated for the sequence. NO CYCLE Specifies that values will not be generated for the sequence once the maximum or minimum value for the sequence has been reached. This is the default. CACHE or NO CACHE Specifies whether to keep some preallocated values in memory for faster access. This is a performance and tuning option. CACHE integer-constant Specifies the maximum number of sequence values that are preallocated and kept in memory. Preallocating and storing values in the cache reduces synchronous I/O to the log when values are generated for the sequence. In the event of a system failure, all cached sequence values that have not been used in committed statements are lost (that is, they will never be used). The value specified for the CACHE option is the maximum number of sequence values that could be lost in case of system failure. The minimum value is 2 (SQLSTATE 42815). The default value is CACHE 20. NO CACHE Specifies that values of the sequence are not to be preallocated. It ensures that there is not a loss of values in the case of a system failure, shutdown or database deactivation. When this option is specified, the values of the sequence are not stored in the cache. In this case, every request for a new value for the sequence results in synchronous I/O to the log. NO ORDER or ORDER Specifies whether the sequence numbers must be generated in order of request. ORDER Specifies that the sequence numbers are generated in order of request. NO ORDER Specifies that the sequence numbers do not need to be generated in order of request. This is the default. Version * It is possible to define a constant sequence, that is, one that would always return a constant value. This could be done by specifying the same value for MINVALUE or MAXVALUE, or by specifying an INCREMENT value of zero. In either case, in order to allow for NEXTVAL to generate the same value more than once, CYCLE must be specified. A constant sequence can be used as a numeric global variable. ALTER SEQUENCE can be used to adjust the values that will be generated for a constant sequence. * A sequence can be cycled manually, by using the ALTER SEQUENCE statement. If NO CYCLE is implicitly or explicitly specified, the sequence can be restarted or extended using the ALTER SEQUENCE statement to cause values to continue to be generated once the maximum or minimum value for the sequence has been reached. * Caching sequence numbers implies that a range of sequence numbers can be kept in memory for fast access. When an application accesses a sequence that can allocate the next sequence number from the cache, the sequence number allocation can happen quickly. However, if an application accesses a sequence that cannot allocate the next sequence number from the cache, the sequence number allocation may require having to wait for I/O operations to persistent storage. The choice of the value for CACHE should be done keeping in mind the performance and application requirements tradeoffs. * The owner has the ALTER and USAGE privileges on the new sequence. Only the USAGE privilege can be granted by the owner and only to PUBLIC. * The following syntax is also supported: NOMINVALUE, NOMAXVALUE, NOCYCLE, NOCACHE, and NOORDER. Examples Example 1: Create a sequence called org_seq: CREATE SEQUENCE org_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO CYCLE CACHE 24 38.5.11 CREATE TRIGGER CREATE TRIGGER Syntax >>-CREATE TRIGGER--trigger-name----+-NO CASCADE BEFORE-+--------> '-AFTER-------------' >-----+-INSERT-----------------------------+--ON--table-name----> +-DELETE-----------------------------+ '-UPDATE--+------------------------+-' | .-,--------------. | | V | | '-OF----column-name---+--' >-----+----------------------------------------------------------------------+> | .----------------------------------------------------. | | V (1) (2) .-AS-. | | '-REFERENCING-------------------+-OLD--+----+--correlation-name--+--+--' | .-AS-. | +-NEW-+----+--correlation-name---+ | .-AS-. | +-OLD_TABLE-+----+--identifier---+ | .-AS-. | '-NEW_TABLE-+----+--identifier---' >-----+-FOR EACH ROW---------------+--MODE DB2SQL---------------> | (3) | '--------FOR EACH STATEMENT--' >-----| triggered-action |------------------------------------->< triggered-action |--+-------------------------------+--SQL-procedure-statement---| '-WHEN--(--search-condition--)--' Notes: 1. OLD and NEW may only be specified once each. 2. OLD_TABLE and NEW_TABLE may only be specified once each and only for AFTER triggers. 3. FOR EACH STATEMENT may not be specified for BEFORE triggers. Replace the description of "triggered-action" with the following: triggered-action Specifies the action to be performed when a trigger is activated. A triggered-action is composed of an SQL-procedure-statement and an optional condition for the execution of the SQL-procedure-statement. WHEN (search-condition) Specifies a condition that is true, false, or unknown. The search-condition provides a capability to determine whether or not a certain triggered action should be executed. The associated action is performed only if the specified search condition evaluates as true. If the WHEN clause is omitted, the associated SQL-procedure statement is always performed. SQL-procedure-statement The SQL-procedure-statement can contain a dynamic compound statement or any of the SQL control statements listed in Compound Statement (Dynamic). If the trigger is a BEFORE trigger, then an SQL-procedure-statement can also include a fullselect or a SET variable statement (SQLSTATE 42987). If the trigger is an AFTER trigger, then an SQL-procedure-statement can also include one of the following (SQLSTATE 42987): o an INSERT SQL statement o a searched UPDATE SQL statement o a searched DELETE SQL statement o a SET variable statement o a fullselect 7 The SQL-procedure-statement cannot reference an undefined transition variable (SQLSTATE 42703) or a declared temporary table (SQLSTATE 42995). The SQL-procedure-statement in a BEFORE trigger cannot reference a summary table defined with REFRESH IMMEDIATE (SQLSTATE 42997). The SQL-procedure-statement in a BEFORE trigger cannot reference a generated column, other than the identity column, in the new transition variable (SQLSTATE 42989). The Notes section changes to the following: * The result of a fullselect specified in the SQL-procedure-statement is not available inside or outside of the trigger. * Inoperative triggers: An inoperative trigger is a trigger that is no longer available and is therefore never activated. A trigger becomes inoperative if: o A privilege that the creator of the trigger is required to have for the trigger to execute is revoked. o An object such as a table, view or alias, upon which the triggered action is dependent, is dropped. o A view, upon which the triggered action is dependent, becomes inoperative. o An alias that is the subject table of the trigger is dropped. In practical terms, an inoperative trigger is one in which a trigger definition has been dropped as a result of cascading rules for DROP or REVOKE statements. For example, when an view is dropped, any trigger with an SQL-procedure-statement defined using that view is made inoperative. When a trigger is made inoperative, all packages with statements performing operations that were activating the trigger will be marked invalid. When the package is rebound (explicitly or implicitly) the inoperative trigger is completely ignored. Similarly, applications with dynamic SQL statements performing operations that were activating the trigger will also completely ignore any inoperative triggers. The trigger name can still be specified in the DROP TRIGGER and COMMENT ON TRIGGER statements. An inoperative trigger may be recreated by issuing a CREATE TRIGGER statement using the definition text of the inoperative trigger. This trigger definition text is stored in the TEXT column of SYSCAT.TRIGGERS. Note that there is no need to explicitly drop the inoperative trigger in order to recreate it. Issuing a CREATE TRIGGER statement with the same trigger-name as an inoperative trigger will cause that inoperative trigger to be replaced with a warning (SQLSTATE 01595). Inoperative triggers are indicated by an X in the VALID column of the SYSCAT.TRIGGERS catalog view. * Errors executing triggers: Errors that occur during the execution of triggered SQL statements are returned using SQLSTATE 09000 unless the error is considered severe. If the error is severe, the severe error SQLSTATE is returned. The SQLERRMC field of the SQLCA for non-severe error will include the trigger name, SQLCODE, SQLSTATE and as many tokens as will fit from the tokens of the failure. The SQL-procedure-statement could include a SIGNAL SQLSTATE statement or contain a RAISE_ERROR function. In both these cases, the SQLSTATE returned is the one specified in the SIGNAL SQLSTATE statement or the RAISE_ERROR condition. 38.5.12 CREATE WRAPPER Linux uses libraries called LIBDRDA.SO and LIBSQLNET.SO, not LIBDRDA.A and LIBSQLNET.A. 38.5.13 DECLARE CURSOR Within the "DECLARE CURSOR" statement, near the end of the Notes section the following sentence should be changed from: An ambiguous cursor is considered read-only if the BLOCKING bind option is ALL, otherwise it is considered deletable. to: An ambiguous cursor is considered read-only if the BLOCKING bind option is ALL; otherwise, it is considered updatable. The change is from the word "deletable" to the word "updatable". 38.5.14 DELETE The searched DELETE syntax diagram changes to the following: >>-DELETE FROM----+-table-name-------------------+--------------> +-view-name--------------------+ '-ONLY--(--+-table-name-+---)--' '-view-name--' >-----+---------------------------+-----------------------------> | .-AS-. | '-+----+--correlation-name--' >-----+--------------------------+---+---------------+--------->< '-WHERE--search-condition--' '-WITH--+-RR-+--' +-RS-+ +-CS-+ '-UR-' Positioned DELETE: >>-DELETE FROM----+-table-name-------------------+--------------> +-view-name--------------------+ '-ONLY--(--+-table-name-+---)--' '-view-name--' >----WHERE CURRENT OF--cursor-name----------------------------->< Add the following to the description section: WITH Specifies the isolation level used when locating the rows to be deleted. RR Repeatable Read RS Read Stability CS Cursor Stability UR Uncommitted Read The default isolation level of the statement is the isolation level of the package in which the statement is bound. 38.5.15 DROP Add the following option: >>-SEQUENCE--sequence-name--RESTRICT--------------------------->< Add the following parameters: SEQUENCE sequence-name RESTRICT Identifies the particular sequence that is to be dropped. The sequence-name, along with the implicit or explicit schema name, must identify an existing sequence at the current server. If no sequence by this name exists in the explicitly or implicitly specified schema, an error (SQLSTATE 42704) is raised. The RESTRICT keyword enforces the rule that the sequence is not dropped if the definition of a table column refers to the sequence (through an IDENTITY column). Notes: o System created sequences for IDENTITY columns cannot be dropped using the DROP sequence command. o When a sequence is dropped, all privileges on the sequence are also dropped. The table showing the dependencies that objects have on each other (Table 27) needs to be updated as follows: New row: DROP SEQUENCE The entry at the intersection of the new row "DROP SEQUENCE" and the column "PACKAGE" will be an "A". The rest of the entries in this new row will be "-" 38.5.16 GRANT (Sequence Privileges) GRANT (Sequence Privileges) This form of the GRANT statement grants privileges on a user-defined sequence. Invocation This statement can be embedded in an application program or issued through the use of dynamic SQL statements. It is an executable statement that can be dynamically prepared. However, if the bind option DYNAMICRULES BIND applies, the statement cannot be dynamically prepared (SQLSTATE 42509). Authorization The privileges held by the authorization ID of the statement must include at least one of the following: * Owner of the sequence * SYSADM or DBADM authority Syntax >>-GRANT--USAGE--ON SEQUENCE--sequence-name--TO PUBLIC--------->< Description USAGE Grants the USAGE privilege for a sequence. ON SEQUENCE sequence-name Identifies the sequence on which the USAGE privilege is to be granted. The sequence-name, including the implicit or explicit schema qualifier, must uniquely identify an existing sequence at the current server. If no sequence by this name exists in the specified schema, an error (SQLSTATE 42704) is raised. TO PUBLIC Grants the USAGE privilege to all users. Examples Example 1: Grant any user the privilege on a sequence called MYNUM GRANT USAGE ON SEQUENCE MYNUM TO PUBLIC 38.5.17 INSERT Syntax diagram changes to: >>-INSERT INTO----+-table-name-+--------------------------------> '-view-name--' >-----+----------------------------+----------------------------> | .-,--------------. | | V | | '-(-----column-name---+---)--' .-,------------------------------------. V | >-----+-VALUES------+-+-expression-+----------------+--+--------+> | | +-NULL-------+ | | | | '-DEFAULT----' | | | | .-,-----------------. | | | | V | | | | '-(------+-expression-+--+---)--' | | +-NULL-------+ | | '-DEFAULT----' | '-+---------------------------------------+---fullselect--' | .-,--------------------------. | | V | | '-WITH-----common-table-expression---+--' >-----+---------------+---------------------------------------->< '-WITH--+-RR-+--' +-RS-+ +-CS-+ '-UR-' Add the following to the description section: WITH Specifies the isolation level at which the fullselect is executed. RR Repeatable Read RS Read Stability CS Cursor Stability UR Uncommitted Read The default isolation level of the statement is the isolation level of the package in which the statement is bound. 38.5.18 SELECT INTO The syntax diagram changes to: .-,----------------. V | >>-select-clause--INTO-------host-variable---+--from-clause-----> >----+--------------+--+-----------------+--+---------------+---> '-where-clause-' '-group-by-clause-' '-having-clause-' >-----+---------------+---------------------------------------->< '-WITH--+-RR-+--' +-RS-+ +-CS-+ '-UR-' Add the following to the description section: WITH Specifies the isolation level at which the SELECT INTO statement is executed. RR Repeatable Read RS Read Stability CS Cursor Stability UR Uncommitted Read The default isolation level of the statement is the isolation level of the package in which the statement is bound. 38.5.19 SET ENCRYPTION PASSWORD SET ENCRYPTION PASSWORD The SET ENCRYPTION PASSWORD statement sets the password that will be used by the encryption and decryption functions. The password is not tied to DB2 authentication, and is used for data encryption only. This statement is not under transaction control. Invocation The statement can be embedded in an application program or issued interactively. It is an executable statement that can be dynamically prepared. Authorization No authorization is required to execute this statement. Syntax .-=-. >>-SET--ENCRYPTION PASSWORD--+---+--+-host-variable---+-------->< '-string-constant-' Description The ENCRYPTION PASSWORD can be used by the ENCRYPT, DECRYPT_BIN, and DECRYPT_CHAR built-in functions for password based encryption. The length must be between 6 and 127 inclusive. All characters must be specified in the exact case intended as there is no conversion to uppercase characters. host-variable A variable of type CHAR or VARCHAR. The length of the contents of the host-variable must be between 6 and 127 inclusive (SQLSTATE 428FC). It cannot be set to null. All characters must be specified in the exact case intended as there is no conversion to uppercase characters. string-constant A character string constant. The length must be between 6 and 127 inclusive (SQLSTATE 428FC). Rules * The initial ENCRYPTION PASSWORD value is the empty string (''). * The host-variable or string-constant is transmitted to the database server using normal DB2 mechanisms. Version * See 38.3.2.3, ENCRYPT and 38.3.2.2, DECRYPT_BIN and DECRYPT_CHAR for additional information on using this statement. Examples Example 1: The following statement sets the ENCRYPTION PASSWORD. SET ENCRYPTION PASSWORD = 'bubbalu' 38.5.20 SET transition-variable This section changes to the following: SET Variable The SET Variable statement assigns values to local variables or to new transition variables. It is under transaction control. Invocation This statement can only be used as an SQL statement in either a dynamic compound statement, trigger, SQL function or SQL method. Authorization To reference a transition variable, the privileges held by the authorization ID of the trigger creator must include at least one of the following: * UPDATE of the columns referenced on the left hand side of the assignment and SELECT for any columns referenced on the right hand side. * CONTROL privilege on the table (subject table of the trigger) * SYSADM or DBADM authority. To execute this statement with a row-fullselect as the right hand side of the assignment, the privileges held by the authorization ID of either the trigger definer or the dynamic compound statement owner must also include at least one of the following, for each table or view referenced: * SELECT privilege * CONTROL privilege * SYSADM or DBADM. Syntax >>-SET----------------------------------------------------------> .-,---------------------------------------------------------------------------------. V | >--------+-| target-variable |--=--+-expression-+--------------------------------------+--+> | +-NULL-------+ | | '-DEFAULT----' | | .-,----------------------. .-,--------------------. | | V | V (1) | | '-(-----| target-variable |---+---)--=--(--+----+-expression------+--+-+---)--' | +-NULL------------+ | | '-DEFAULT---------' | | (2) | '-row-fullselect------------' >-------------------------------------------------------------->< target-variable |---+-SQL-variable-name--------+---+--------------------------+-| '-transition-variable-name-' | .--------------------. | | V | | '----..attribute-name---+--' Notes: 1. The number of expressions, NULLs and DEFAULTs must match the number of target-variables. 2. The number of columns in the select list must match the number of target-variables. Description target-variable Identifies the target variable of the assignment. A target-variable representing the same variable must not be specified more than once (SQLSTATE 42701). SQL-variable-name Identifies the SQL variable that is the assignment target. SQL variables must be declared before they are used. SQL variables can be defined in a dynamic compound statement. transition-variable-name Identifies the column to be updated in the transition row. A transition-variable-name must identify a column in the subject table of a trigger, optionally qualified by a correlation name that identifies the new value (SQLSTATE 42703). ..attribute name Specifies the attribute of a structured type that is set (referred to as an attribute assignment). The SQL-variable-nameor transition-variable-name specified must be defined with a user-defined structured type (SQLSTATE 428DP). The attribute-name must be an attribute of the structured type (SQLSTATE 42703). An assignment that does not involve the ..attribute name clause is referred to as a conventional assignment. expression Indicates the new value of the target-variable. The expression is any expression of the type described in Chapter 2 of the SQL Reference. The expression can not include a column function except when it occurs within a scalar fullselect (SQLSTATE 42903). In the context of a CREATE TRIGGER statement, an expression may contain references to OLD and NEW transition variables and must be qualified by the correlation-name to specify which transition variable (SQLSTATE 42702). NULL Specifies the null value and can only be specified for nullable columns (SQLSTATE 23502). NULL cannot be the value in an attribute assignment (SQLSTATE 429B9), unless it was specifically cast to the data type of the attribute. DEFAULT Specifies that the default value should be used. If target-variable is a column, the value inserted depends on how the column was defined in the table. o If the column was defined using the WITH DEFAULT clause, then the value is set to the default defined for the column. o If the column was defined using the IDENTITY clause, the value is generated by the database manager. o If the column was defined without specifying the WITH DEFAULT clause, the IDENTITY clause, or the NOT NULL clause, then the value is NULL. o If the column was defined using the NOT NULL clause and the IDENTITY clause is not used, or the WITH DEFAULT clause was not used or DEFAULT NULL was used, the DEFAULT keyword cannot be specified for that column (SQLSTATE 23502). If target-variable is an SQL variable, then the value inserted is the default as specified or implied in the variable declaration. row-fullselect A fullselect that returns a single row with the number of columns corresponding to the number of target-variables specified for assignment. The values are assigned to each corresponding target-variable. If the result of the row-fullselect is no rows, then null values are assigned. In the context of a CREATE TRIGGER statement, a row-fullselect may contain references to OLD and NEW transition variables which must be qualified by their correlation-name to specify which transition variable to use (SQLSTATE 42702). An error is returned if there is more than one row in the result (SQLSTATE 21000). Rules * The number of values to be assigned from expressions, NULLs and DEFAULTs or the row-fullselect must match the number of target-variables specified for assignment (SQLSTATE 42802). * A SET Variable statement cannot assign an SQL variable and a transition variable in one statement (SQLSTATE 42997). * Values are assigned to target-variables under the assignment rules described in Chapter 2 of the SQL Reference. If the statement is used in a BEFORE UPDATE trigger, and the registry variable DB2_UPDATE_PART_KEY=OFF, then a transition-variable specified as target-variable cannot be a partitioning key column (SQLSTATE 42997). Version * If more than one assignment is included, all expressions and row-fullselects are evaluated before the assignments are performed. Thus references to target-variables in an expression or row fullselect are always the value of the target-variable prior to any assignment in the single SET statement. * When an identity column defined as a distinct type is updated, the entire computation is done in the source type, and the result is cast to the distinct type before the value is actually assigned to the column. 8 * To have DB2 generate a value on a SET statement for an identity column, use the DEFAULT keyword: SET NEW.EMPNO = DEFAULT In this example, NEW.EMPNO is defined as an identity column, and the value used to update this column is generated by DB2. The examples for this statement stay the same. 38.5.21 UPDATE The searched UPDATE syntax diagram is changed to: >>-UPDATE----+-table-name-------------------+-------------------> +-view-name--------------------+ '-ONLY--(--+-table-name-+---)--' '-view-name--' >-----+---------------------------+-----------------------------> | .-AS-. | '-+----+--correlation-name--' >-----SET--| assignment-clause |--------------------------------> >-----+--------------------------+---+---------------+--------->< '-WHERE--search-condition--' '-WITH--+-RR-+--' +-RS-+ +-CS-+ '-UR-' Add the following to the description section: WITH Specifies the isolation level at which the UPDATE statement is executed. RR Repeatable Read RS Read Stability CS Cursor Stability UR Uncommitted Read The default isolation level of the statement is the isolation level of the package in which the statement is bound. ------------------------------------------------------------------------ 38.6 Chapter 7. SQL Procedures now called Chapter 7. SQL Control Statements Control statements are SQL statements that allow SQL to be used in a manner similar to writing a program in a structured programming language. SQL control statements can be used in the body of a routine, trigger or a dynamic compound statement. This chapter contains the syntax and descriptions of the supported SQL control statements, along with the SQL-procedure-statement. 38.6.1 SQL Procedure Statement The SQL Procedure Statement information changes to the following: SQL Procedure Statement This chapter contains syntax diagrams, semantic descriptions, rules, and examples of the use of the statements that constitute the procedure body of an SQL routine, trigger, or dynamic compound statement. Syntax >>-+---------+---+-| SQL-control-statement |-+----------------->< '-label:--' '-| SQL-statement |---------' SQL-control-statement (1) |---+-ALLOCATE CURSOR statement---------+-----------------------| | (1) | +-assignment statement--------------+ | (1) | +-ASSOCIATE LOCATORS statement------+ | (1) | +-CASE statement--------------------+ | (2) | +-dynamic-compound statement--------+ +-FOR statement---------------------+ +-GET DIAGNOSTICS statement---------+ | (1) | +-GOTO statement--------------------+ +-IF statement----------------------+ +-ITERATE statement-----------------+ +-LEAVE statement-------------------+ | (1) | +-LOOP statement--------------------+ | (1) | +-procedure-compound statement------+ | (1) | +-REPEAT statement------------------+ | (1) | +-RESIGNAL statement----------------+ +-RETURN statement------------------+ +-SIGNAL statement------------------+ '-WHILE statement-------------------' Notes: 1. This statement is only supported in the scope of an SQL Procedure. 2. This statement is only supported within a trigger, SQL function, or SQL method. It must be the outermost statement. Description label: Specifies the label for an SQL procedure statement. The label must be unique within a list of SQL procedure statements, including any compound statements nested within the list. Note that compound statements that are not nested may use the same label. A list of SQL procedure statements is possible in a number of SQL control statements. In the context of a trigger, an SQL function or method, or a dynamic compound statement, only the dynamic compound statement, the FOR statement and the WHILE statement may be labeled. SQL-statement In the body of an SQL procedure, all executable SQL statements can be contained, with the exception of the following: o CONNECT o CREATE any object other than indexes, tables, or views o DESCRIBE o DISCONNECT o DROP any object other than indexes, tables, or views o FLUSH EVENT MONITOR o REFRESH TABLE o RELEASE (connection only) o RENAME TABLE o RENAME TABLESPACE o REVOKE o SET CONNECTION o SET INTEGRITY Notes: You may include CALL statements within an SQL procedure body, but these CALL statements can only call another SQL procedure or a C procedure. CALL statements within an SQL procedure body cannot call other types of stored procedures. 38.6.2 FOR FOR The FOR statement executes a statement or group of statements for each row of a table. Syntax >>-+---------+---FOR--for-loop-name--AS-------------------------> '-label:--' >-----+-------------------------------+--select-statement---DO--> | (1) | '-cursor-name--CURSOR FOR-------' .-------------------------------. V | >--------SQL-procedure-statement--;---+--END FOR----+--------+->< '-label--' Notes: 1. This option can only be used in the context of an SQL Procedure. Description label Specifies the label for the FOR statement. If the beginning label is specified, that label can be used in LEAVE and ITERATE statements. If the ending label is specified, it must be the same as the beginning label. for-loop-name Specifies a label for the implicit compound statement generated to implement the FOR statement. It follows the rules for the label of a compound statement except that it cannot be used with and ITERATE or LEAVE statement within the FOR statement. The for-loop-name is used to qualify the column names returned by the specified select-statement. cursor-name Names the cursor that is used to select rows from the result table from the SELECT statement. If not specified, DB2 generates a unique cursor name. select-statement Specifies the SELECT statement of the cursor. All columns in the select list must have a name and there cannot be two columns with the same name. In a trigger, function, method, or dynamic compound statement, the select-statement must consist of only a fullselect with optional common table expressions. SQL-procedure-statement Specifies a statement (or statements) to be invoked for each row of the table. Rules * The select list must consist of unique column names and the table specified in the select list must exist when the procedure is created, or it must be a table created in a previous SQL procedure statement. * The cursor specified in a for-statement cannot be referenced outside the for-statement and cannot be specified in an OPEN, FETCH, or CLOSE statement. Examples In the following example, the for-statement is used to iterate over the entire employee table. For each row in the table, the SQL variable fullname is set to the last name of the employee, followed by a comma, the first name, a blank space, and the middle initial. Each value for fullname is inserted into table tnames. BEGIN DECLARE fullname CHAR(40); FOR vl AS SELECT firstnme, midinit, lastname FROM employee DO SET fullname = lastname || ',' || firstnme ||' ' || midinit; INSERT INTO tnames VALUE (fullname); END FOR END 38.6.3 Compound Statement changes to Compound Statement (Procedure) A procedure compound statement groups other statements together in an SQL procedure. You can declare SQL variables, cursors, and condition handlers within a compound statement. The syntax diagram now has a title: procedure-compound-statement. .-NOT ATOMIC--. >>-+---------+--BEGIN----+-------------+------------------------> '-label:--' '-ATOMIC------' >-----+-----------------------------------------------+---------> | .-----------------------------------------. | | V | | '-----+-| SQL-variable-declaration |-+---;---+--' +-| condition-declaration |----+ '-| return-codes-declaration |-' >-----+--------------------------------------+------------------> | .--------------------------------. | | V | | '----| statement-declaration |--;---+--' >-----+-------------------------------------+-------------------> | .-------------------------------. | | V | | '----DECLARE-CURSOR-statement--;---+--' >-----+------------------------------------+--------------------> | .------------------------------. | | V | | '----| handler-declaration |--;---+--' .-------------------------------. V | >--------SQL-procedure-statement--;---+---END--+--------+------>< '-label--' SQL-variable-declaration .-,--------------------. V | |---DECLARE-------SQL-variable-name---+-------------------------> .-DEFAULT NULL-------. >-----+-data-type----+--------------------+-+-------------------| | '-DEFAULT--constant--' | '-RESULT_SET_LOCATOR--VARYING---------' condition-declaration |---DECLARE--condition-name--CONDITION--FOR---------------------> .-VALUE-. .-SQLSTATE--+-------+---. >----+-----------------------+---string-constant----------------| statement-declaration .-,-----------------. V | |---DECLARE-----statement-name---+---STATEMENT------------------| return-codes-declaration |---DECLARE----+-SQLSTATE--CHAR (5)--+---+--------------------+-| '-SQLCODE--INTEGER----' '-DEFAULT--constant--' handler-declaration |---DECLARE----+-CONTINUE-+---HANDLER--FOR----------------------> +-EXIT-----+ '-UNDO-----' .-,-----------------------------------. V .-VALUE-. | >---------+-SQLSTATE--+-------+--string--+--+-------------------> +-condition-name---------------+ +-SQLEXCEPTION-----------------+ +-SQLWARNING-------------------+ '-NOT FOUND--------------------' >----SQL-procedure-statement------------------------------------| statement-declaration A statement-declaration declares a list of one or more names that are local to the compound statement. A statement name cannot be the same as another statement name within the same compound statement. 38.6.4 RETURN RETURN The RETURN statement is used to return from the routine. For SQL functions or methods, it returns the result of the function or method. For an SQL procedure, it optionally returns an integer status value. Syntax >>-RETURN--+---------------------------------------------------------+-> +-expression----------------------------------------------+ +-NULL----------------------------------------------------+ '-+---------------------------------------+---fullselect--' | .-,--------------------------. | | V | | '-WITH-----common-table-expression---+--' >-------------------------------------------------------------->< Description expression Specifies a value that is returned from the routine: o If the routine is a function or method, one of expression, NULL, or fullselect must be specified (SQLSTATE 42630) and the data type of the result must be assignable to the RETURNS type of the routine (SQLSTATE 42866). o A scalar expression (other than a scalar fullselect) cannot be specified for a table function (SQLSTATE 428F1). o If the routine is a procedure, the data type of expression must be INTEGER (SQLSTATE 428E2). A procedure cannot return NULL or a fullselect. NULL Specifies that the function or method returns a null value of the data type defined in the RETURNS clause. NULL cannot be specified for a RETURN from a procedure. WITH common-table-expression Defines a common table expression for use with the fullselect that follows. fullselect Specifies the row or rows to be returned for the function. The number of columns in the fullselect must match the number of columns in the function result (SQLSTATE 42811). In addition, the static column types of the fullselect must be assignable to the declared column types of the function result, using the rules for assignment to columns (SQLSTATE 42866). The fullselect cannot be specified for a RETURN from a procedure. If the routine is a scalar function or method, then the fullselect must return one column (SQLSTATE 42823) and, at most, one row (SQLSTATE 21000). If the routine is a row function, it must return, at most, one row (SQLSTATE 21505). If the routine is a table function, it can return zero or more rows with one or more columns. Rules * The execution of an SQL function or method must end with a RETURN (SQLSTATE 42632). * In an SQL table or row function using a dynamic-compound-statement, the only RETURN statement allowed is the one at the end of the compound statement (SQLSTATE 429BD). Version * When a value is returned from a procedure, the caller may access the value using: o the GET DIAGNOSTICS statement to retrieve the RETURN_STATUS when the SQL procedure was called from another SQL procedure o the parameter bound for the return value parameter marker in the escape clause CALL syntax (?=CALL...) in a CLI application o directly from the SQLCA returned from processing the CALL of an SQL procedure by retrieving the value of SQLERRD[0] when the SQLCODE is not less than zero (assume a value of -1 when SQLCODE is less than zero). Examples Use a RETURN statement to return from an SQL stored procedure with a status value of zero if successful, and -200 if not. BEGIN ... GOTO FAIL ... SUCCESS: RETURN 0 FAIL: RETURN -200 END 38.6.5 SIGNAL The SIGNAL SQLSTATE Statement is no longer used, in favor of this usage. SIGNAL The SIGNAL statement is used to signal an error or warning condition. It causes an error or warning to be returned with the specified SQLSTATE, along with optional message text. Syntax .-VALUE-. >>-SIGNAL----+-SQLSTATE--+-------+--sqlstate-string-constant--+-> '-condition-name---------------------------------' >-----+--------------------------------------------------------+->< +-SET--MESSAGE_TEXT-- = --+-variable-name--------------+-+ | '-diagnostic-string-constant-' | | (1) | '-(--diagnostic-string--)--------------------------------' Notes: 1. This option is only provided within the scope of a CREATE TRIGGER statement for compatibility with older versions of DB2. Description SQLSTATE VALUE sqlstate-string-constant The specified string constant represents an SQLSTATE. It must be a character string constant with exactly 5 characters that follow the rules for SQLSTATEs: o Each character must be from the set of digits ('0' through '9') or non-accented upper case letters ('A' through 'Z'). o The SQLSTATE class (first two characters) cannot be '00', since this represents successful completion. In the context of either a dynamic compound statement, trigger, SQL function, or SQL method, the following rules must also be applied: o The SQLSTATE class (first two characters) cannot be '01' or '02', since these are not error classes. o If the SQLSTATE class starts with the numbers '0' through '6' or the letters 'A' through 'H', then the subclass (the last three characters) must start with a letter in the range of 'I' through 'Z'. o If the SQLSTATE class starts with the numbers '7', '8', '9', or the letters 'I' through 'Z', then the subclass can be any of '0' through '9' or 'A' through 'Z'. If the SQLSTATE does not conform to these rules, an error is raised (SQLSTATE 428B3). condition-name Specifies the name of the condition. The condition name must be unique within the procedure and can only be referenced within the compound statement in which it is declared. SET MESSAGE_TEXT= Specifies a string that describes the error or warning. The string is returned in the SQLERRMC field of the SQLCA. If the actual string is longer than 70 bytes, it is truncated without warning. This clause can only be specified if a SQLSTATE or condition-name is also specified (SQLSTATE 42601). variable-name Identifies an SQL variable that must be declared within the compound statement. The SQL variable must be defined as a CHAR or VARCHAR data type. diagnostic-string-constant Specifies a character string constant that contains the message text. diagnostic-string An expression with a type of CHAR or VARCHAR that returns a character string of up to 70 bytes to describe the error condition. If the string is longer than 70 bytes, it will be truncated. This option is only provided within the scope of a CREATE TRIGGER statement, for compatibility with older versions of DB2. Regular use is not recommended. Version * If a SIGNAL statement is issued, the SQLCODE that is assigned is: +438 if the SQLSTATE begins with '01' or '02' -438 otherwise * If the SQLSTATE or condition indicates that an exception (SQLSTATE class other than '01' or '02') is signaled: o Then the exception is handled and control is transferred to a handler, provided that a handler exists in the same compound statement (or an outer compound statement) as the signal statement, and the compound statement contains a handler for the specified SQLSTATE, condition-name, or SQLEXCEPTION; o If the exception cannot be handled, then control is immediately returned to the end of the compound statement. * If the SQLSTATE or condition indicates that a warning (SQLSTATE class '01') or not found condition (SQLSTATE class '02') is signaled: o Then the warning or not found condition is handled and control is transferred to a handler, provided that a handler exists in the same compound statement (or an outer compound statement) as the signal statement, and the compound statement contains a handler for the specified SQLSTATE, condition-name, SQLWARNING (if the SQLSTATE class is '01'), or NOT FOUND (if the SQLSTATE class is '02'); o If the warning cannot be handled, then processing continues with the next statement. * SQLSTATE values are comprised of a two-character class code value, followed by a three-character subclass code value. Class code values represent classes of successful and unsuccessful execution conditions. Any valid SQLSTATE value can be used in the SIGNAL statement. However, it is recommended that programmers define new SQLSTATEs based on ranges reserved for applications. This prevents the unintentional use of an SQLSTATE value that might be defined by the database manager in a future release. o SQLSTATE classes that begin with the characters '7' through '9', or 'I' through 'Z' may be defined. Within these classes, any subclass may be defined. o SQLSTATE classes that begin with the characters '0' through '6', or 'A' through 'H' are reserved for the database manager. Within these classes, subclasses that begin with the characters '0' through 'H' are reserved for the database manager. Subclasses that begin with the characters 'I' through 'Z' may be defined. Examples An SQL procedure for an order system that signals an application error when a customer number is not known to the application. The ORDERS table includes a foreign key to the CUSTOMER table, requiring that the CUSTNO exist before an order can be inserted. CREATE PROCEDURE SUBMIT_ORDER (IN ONUM INTEGER, IN CNUM INTEGER, IN PNUM INTEGER, IN QNUM INTEGER) SPECIFIC SUBMIT_ORDER MODIFIES SQL DATA LANGUAGE SQL BEGIN DECLARE EXIT HANDLER FOR SQLSTATE VALUE '23503' SIGNAL SQLSTATE '75002' SET MESSAGE_TEXT = 'Customer number is not known'; INSERT INTO ORDERS (ORDERNO, CUSTNO, PARTNO, QUANTITY) VALUES (ONUM, CNUM, PNUM, QNUM); END ------------------------------------------------------------------------ 38.7 Appendix A. SQL Limits There is a change to Table 33, Database Manager Limits. With the registry variable DB2_INDEX_2BYTEVARLEN set to ON, the longest variable index key part (in bytes) can now be greater than 255. ------------------------------------------------------------------------ 38.8 Appendix D. Catalog Views A new catalog view has been added: 38.8.1 SYSCAT.SEQUENCES The view SYSCAT.SEQUENCES is automatically generated for databases created with FixPak 3 or later. For databases created prior to FixPak 3, run the db2updv7 command in order to add the view to the database. See the Command Reference update in the Release Notes for details. This catalog view is updated during normal operation, in response to SQL data definition statements, environment routines, and certain utilities. Data in the catalog view is available through normal SQL query facilities. Columns have consistent names based on the type of objects that they describe. Table 30. Columns in SYSCAT.SEQUENCES Catalog View Column Name Data Type NullableDescription SEQSCHEMA VARCHAR(128) Schema of the sequence. SEQNAME VARCHAR(128) Sequence name (generated by DB2 for an identity column). DEFINER VARCHAR(128) Definer of the sequence. OWNER VARCHAR(128) Owner of the sequence. SEQID INTEGER Internal ID of the sequence. SEQTYPE CHAR(1) Sequence type S - Regular sequence INCREMENT DECIMAL(31,0) Increment value. START DECIMAL(31,0) Starting value. MAXVALUE DECIMAL(31,0) Yes Maximal value. MINVALUE DECIMAL(31,0) Minimum value. CYCLE CHAR(1) Whether cycling will occur when a boundary is reached: Y - cycling will occur N - cycling will not occur CACHE INTEGER Number of sequence values to preallocate in memory for faster access. 0 indicates that values are not preallocated. ORDER CHAR(1) Whether or not the sequence numbers must be generated in order of request: Y - sequence numbers must be generated in order of request N - sequence numbers are not required to be generated in order of request DATATYPEID INTEGER For built-in types, the internal ID of the built-in type. For distinct types, the internal ID of the distinct type. SOURCETYPEID INTEGER For a built-in type, this has a value of 0. For a distinct type, this is the internal ID of the built-in type that is the source type for the distinct type. CREATE_TIME TIMESTAMP Time when the sequence was created. ALTER_TIME TIMESTAMP Time when the last ALTER SEQUENCE statement was executed for this sequence. PRECISION SMALLINT The precision defined for a sequence with a decimal or numeric type. Values are: 5 for a SMALLINT, 10 for INTEGER, and 19 for BIGINT. ORIGIN CHAR(1) Sequence Origin U - User generated sequence S - System generated sequence REMARKS VARCHAR(254) Yes User supplied comments, or null. ------------------------------------------------------------------------ IBM DB2 Àx¦sµ{§Ç«Ø¸m¾¹ ------------------------------------------------------------------------ 39.1 Java 1.2 ¤ä´©Àx¦sµ{§Ç«Ø¸m¾¹ DB2 Àx¦sµ{§Ç«Ø¸m¾¹¤ä´© Java Àx¦sµ{§Ç¨Ï¥Î Java 1.2 ¥\¯à¡C ¥t¥~¡AÀx¦sµ{§Ç«Ø¸m ¾¹¤ä´©Âù¦V»y¨¥¡A¦pªü©Ô§B»y©M§Æ§B¨Ó»y¡A©Ò¨Ï¥Îªº¬O Java 1.2 ªº bi-di ¤ä´©¡C ¦¹¤ä´©¥u¥Î©ó Windows NT ¥­¥x¦Ó¤w¡C ¬°¤FÀx¦sµ{§Ç«Ø¸m¾¹¿ëÃÑ©M¨Ï¥Î Java 1.2 ªº¥\¯à¡A©Ò¥H­n¶i¦æ¦w¸Ë Java 1.2¡C ¦w¸Ë Java 1.2¡G 1. JDK 1.2.2 ¦b DB2 UDB CD ªº DB2\bidi\NT ¥Ø¿ý¤U¡C ibm-inst-n122p-win32-x86.exe ¬O¦w¸Ëµ{¦¡¡A ibm-jdk-n122p-win32-x86.exe ¬O JDK ¤À°e¡C ±N¨â­ÓÀɮ׽ƻs¨ìµwºÐ¤Wªº¼È®É¥Ø¿ý¤¤¡A µM«á±q¸Ó¥Ø¿ý°õ¦æ¦w ¸Ëµ{¦¡¡C 2. ±N¥¦¦w¸Ë¦b \java\Java12 ¤U¸Ñ°£¦w¸Ë JDK/JRE¡A©Î§ó§ï \java\Java12 ¦¸¥Ø¿ýªº¦W¦r¡C ­«­n¨Æ¶µ¡G¤£­n±N \java\Java12 ©M \Java12 ²V²c¡C \Java12 ¬O DB2 ¦w¸Ëªº¤@³¡¥÷¡A¨Ã¥B¥]¬A Java 1.2 ªº JDBC ¤ä´©¡C ------------------------------------------------------------------------ 39.2 DB2 Àx¦sµ{§Çªº»·ºÝ°£¿ù ­Y­n¨Ï¥Î UNIX ©M Windows ¥­¥xªº Java ©M C Àx¦sµ{§Ç¤§»·ºÝ°£¿ù¯à¤O¡A ½Ð¦w¸Ë IBM Distributed Debugger¡CIBM Distributed Debugger ¥i©ó Visual Age for Java Professional Edition CD ¤º¨ú±o¡C°£¿ù¾¹±qÄݯ¸¥u¦b Windows ¥­¥x¤W°õ¦æ¡C¤ä´©¦ø ªA¾¹¥­¥x¥]¬A¡GWindows¡BAIX ©M Solaris¡C ½Ð¨Ï¥ÎÀx¦sµ{§Ç«Ø¸m¾¹¤º«Øªº SQL °£¿ù ¯à¤O¡A¬° Windows ©M UNIX ¥­¥x°£¿ù¥»ºÝ©M»·ºÝ SQL Àx¦sµ{§Ç¡C ¦¹®ÉµLªk¤ä´© OS/2 ¥­¥x¡C¦³Ãö DB2 for OS/390 Àx¦sµ{§Ç«Ø¸m¾¹ªº¸Ô²Ó¸ê°T¡A ½Ð³s±µ¨ì¤U¦Cºô ¯¸¡G http://www-4.ibm.com/software/data/db2/os390/spb/exciting ±ý¦b OS/390 ¥­¥x¶i¦æ SQL µ{§Ç°£¿ù¡A¤]¥²¶·¦³ OS/390 R1 ²£«~ªº IBM C/C++ »²§U ¤u¨ã¡COS/390 R1 ªº IBM C/C++ »²§U¤u¨ã¤§¸Ô²Ó¸ê°T¡A½Ð³s±µ¨ì¤U¦Cºô¯¸¡G http://www.ibm.com/software/ad/c390/pt/ ------------------------------------------------------------------------ 39.3 ¦b Windows¡BOS/2 ©Î UNIX ¥­¥x¤W¶}µo SQL µ{§Ç ¦b±z¯à°÷¨Ï¥ÎÀx¦sµ{§Ç«Ø¸m¾¹©ó Windows¡BOS/2 ©Î UNIX ¸ê®Æ®w¤W¶¶§Q¦a¶}µo SQL µ{§Ç¤§«e¡A ¥²¶·¬[ºc SQL µ{§Çªº¦øªA¾¹¡C¦³Ãö¦p¦ó¬[ºc SQL µ{§Çªº¦øªA¾¹¡A½Ð°Ñ¾\ 34.3, ²Ä 4 ³¹ ¶}µo Java Applets ©MÀ³¥Îµ{¦¡¡C ------------------------------------------------------------------------ 39.4 ¦b Solaris ¥­¥x¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹ ±ý¦b Solaris ¥­¥x¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹¡G 1. ¤U¸ü©M¦w¸Ë JDK 1.1.8¡C ¦Û JavaSoft ºô¯¸¤U¸ü JDK 1.1.8¡C 2. ³]©wÀô¹ÒÅÜ¼Æ JAVA_HOME ¦Ü¦w¸Ë JDK ªº¦ì¸m¡C 3. ³]©w DB2 JDK11_PATH ¦Ü¦w¸Ë JDK ªº¥Ø¿ý¤U¡C ±ý³]©w DB2 JDK11_PATH¡A½Ð¨Ï¥Î¤U¦C«ü¥O¡G DB2 UPDATE DBM CFG USING JDK11_PATH. ------------------------------------------------------------------------ 39.5 ¤wª¾°ÝÃD»P­­¨î * ¥Ø«e Windows 98 ¨Ã¤£¤ä´© SQL µ{§Ç¡C * Ãö©ó Java Àx¦sµ{§Ç¡AJAR ID¡BÃþ§O¦WºÙ»P¤èªk¦WºÙ¤£¥i¥]§t«D ASCII ¦r¤¸¡C * ¦b AS/400 ¤W¤U¦C V4R4 PTFs ·|¤Þ¥Î¦Ü OS/400 V4R4¡G - SF59674 - SF59878 * Àx¦sµ{§ÇÀx¦s©ó¸ê®Æ®w®É¡A¨ã FOR MIXED DATA ©Î FOR SBCS DATA ¦¸Ãþ«¬ªºÀx ¦sµ{§Ç°Ñ¼Æ¡A ´N¤£·|Åã¥Ü¦b½s¿è¾¹µ¡®æªº­ì©l½X¤¤¡C * ¥Ø«eªº°ÝÃD¬O Java ­ì©l½X¬O¥Ñ¸ê®Æ®wÂ^¨ú¨Óªº¡C Â^¨ú®Éµ{¦¡½Xªº»¡©ú·|§e²{ ¦¬¦Xªº¤è¦¡¡C ³o·|¼vÅT¦b«D ASCII ¦r½X­¶¤W¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹ªº¨Ï¥Î ªÌ¡A ¦]¬°¥L­Ìªº±qÄݯ¸»P¦øªA¾¹¨Ï¥Î¤£¦Pªº¦r½X­¶¡C ------------------------------------------------------------------------ 39.6 ¦bÁcÅ餤¤å»y¨¥Àô¹Ò¤U¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹ ¦bÁcÅ餤¤å»y¨¥Àô¹Ò¤U¨Ï¥Î JDK ©Î JRE 1.1.8 ®É·|µo¥Í°ÝÃD¡CÀx¦sµ{§Ç«Ø¸m¾¹µ{¦¡ ªº¹Ï§Î¦¡¤¶­± (¥]§t¥\¯àªí¡B½s¿è¾¹¤å¦r¡B°T®§µ¥µ¥) µLªk¾A·íÅã¥Ü¡C¸Ñ¨M¤è®×¬O­× §ï font.properties.zh_TW ÀɮסA¥¦·|¦b¤U¦C¥Ø¿ý¤¤¡G sqllib/java/jdk/lib sqllib/java/jre/lib Åܧó¡G monospaced.0=\u7d30\u660e\u9ad4,CHINESEBIG5_CHARSET,NEED_CONVERTED §ï¬°¡G monospaced.0=Courier New,ANSI_CHARSET ------------------------------------------------------------------------ 39.7 UNIX (AIX¡BSun Solaris¡BLinux) ¦w¸Ë»PÀx¦sµ{§Ç«Ø¸m¾¹ ¦b Sun Solaris ¦w¸Ë®É¡A­Y±z¨Ï¥Î Java Development Kit ©Î Runtime ¦Ó¤£¬O¦b AIX ¤W¦w¸Ë UDB ªº¤è¦¡¡A±z´N¥²¶·±NÀô¹ÒÅÜ¼Æ JAVA_HOME ³]©w¨ì¤w¦w¸Ë Java ªº¸ô ®|¤¤ (¤]´N¬O¸Ó¥Ø¿ý¶·§t /bin »P /lib ¥Ø¿ý)¡CÀx¦sµ{§Ç«Ø¸m¾¹¥¼¤ä´© Linux §@·~ ¨t²Î¡A¦ý¥i¦b¤w¤ä´©ªº¥­¥x¤W«Ø¸m©Î°õ¦æ DB2 UDB for Linux ¨t²Î¤WªºÀx¦sµ{§Ç¡C ¤ä´©ªº¥­¥x¥]¬A¥Î©ó±qÄݯ¸ªº AIX¡BSolaris ¤Î NT¡A»P¥Î©ó¦øªA¾¹ªº Aix¡BSolaris ¡BNT¡BLinux¡BOS/2¡BHP-UX ¤Î NUMA-Q¡C ------------------------------------------------------------------------ 39.8 «Ø¸m OS/390 ªº SQL Àx¦sµ{§Ç DB2 Àx¦sµ{§Ç«Ø¸m¾¹¤ä´©¦b OS390 V7 ¦øªA¾¹ªº DB2 UDB ¤W«Ø¸m SQL Àx¦sµ{§Ç¡C ------------------------------------------------------------------------ 39.9 °£¿ù SQL Àx¦sµ{§Ç ²{¦b¡ASQL Àx¦sµ{§Ç¦b Windows ¤Î UNIX ¥­¥x¤Wªº°£¿ù¡A¤wª½±µ¾ã¦X¨ì DB2 Àx¦sµ{ §Ç«Ø¸m¾¹¤¤¡C ¦b°£¿ù«D¹jÂ÷ («H¥ôªº) SQL µ{§Ç®É¡AKEEPDARI ¸ê®Æ®wºÞ²z­û³]©w¿ï ¶µ¥i³]©w¬° YES ©Î NO¡F¦ý¬O¡A¦b°£¿ù¹jÂ÷ («D«H¥ôªº) SQL µ{§Ç®É¡A¥²¶·³]©w¬°YES (¹w³]­È)¡C ½Ð°Ñ¾\Àx¦sµ{§Ç«Ø¸m¾¹ªº»¡©ú¡A¥H¨ú±o¦³Ãö¨Ï¥Î¾ã¦X°£¿ù¾¹ªº¨ä¥L¸ê°T¡C ------------------------------------------------------------------------ 39.10 ¶×¥X Java Àx¦sµ{§Ç DB2 Àx¦sµ{§Ç«Ø¸m¾¹²{¦b¤ä´©¶×¥X Java Àx¦sµ{§Ç¡C ­Y­n¶×¥X Java Àx¦sµ{§Ç¡G 1. ¦bÀx¦sµ{§Ç¸ê®Æ§¨¤W«ö¤@¤U·Æ¹«¥kÁä¡A«ö¤@¤U¡u¶×¥X Java Àx¦sµ{§Ç¡v¥H¶}±Ò ¡u¶×¥X Java Àx¦sµ{§Ç¡vµøµ¡¡C 2. ¿ï¨ú±z­n¶×¥XªºÀx¦sµ{§Ç¡A±N¥¦­Ì²¾¨ì¡u¤w¿ï¨úªºÀx¦sµ{§Ç¡vª½Äæ¡C 3. ¿ï¨ú±z·Q­nªº¿ï¶µ¤§«á¡A½Ð«ö¤@¤U¡u½T©w¡v¡C ------------------------------------------------------------------------ 39.11 ¦b OS/390 ¤W´¡¤JÀx¦sµ{§Ç °w¹ï°õ¦æ OS/390 ªº DB2 Àx¦sµ{§Ç«Ø¸m¾¹ª©¥» 5 ¤Î§ó·sª©¥»¡A ¦pªG±z¨Ï¥ÎºëÆF¨Ó´¡ ¤JÀx¦sµ{§Ç¨Ã«ü¥ÜµL WLM Àô¹Ò¿ï¶µ¡A «h²£¥Íªºµ{¦¡½X·|¥]§t¥H¤Uªº¤å¦r¡GNO WLM ENVIRONMENT¡C ³o¦æµ{¦¡½X·|ÅýÀx¦sµ{§Ç¦b SPAS ¦ì§}ªÅ¶¡¤¤¨Ì¹w´Á°õ¦æ¡C ¦¹­×¥¿µ{ ¦¡¸Ñ¨M¦s¦b©ó DB2 Àx¦sµ{§Ç«Ø¸m¾¹ª©¥» 6 ¤Î§ó·sª©¥»¤¤ªº°ÝÃD¡C ¥H­×¥¿µ{¦¡©Ò²£¥Íªºµ{¦¡½XÅã¥Ü¦p¤U¡G CREATE PROCEDURE SYSPROC.Proc2 ( ) RESULT SETS 1 LANGUAGE SQL MODIFIES SQL DATA COLLID TEST NO WLM ENVIRONMENT ASUTIME NO LIMIT RUN OPTIONS 'NOTEST(ALL,*,,VADTCPIP&9.112.14.91:*)' ------------------------------------------------------------------- -- SQL Stored Procedure ------------------------------------------------------------------- P1: BEGIN -- Declare cursor DECLARE cursor1 CURSOR WITH RETURN FOR SELECT * FROM SYSIBM.SYSPROCEDURES; -- Cursor left open for client application OPEN cursor1; END P1 ------------------------------------------------------------------------ 39.12 ¦b¤u§@¯¸¦øªA¾¹¤¤³]©w SQL Àx¦sµ{§Çªº«Ø¸m¿ï¶µ ¦b UNIX ¤Î Windows ¥­¥x¤W¨Ï¥Î DB2 Àx¦sµ{§Ç«Ø¸m¾¹®É¡A¥i¥H¬°©Ò¦³ªº SQL Àx¦sµ{ §Ç³]©w«Ø¸m¿ï¶µ¡C ³o¨Ç«Ø¸m¿ï¶µ¥]§t¤U¦Cªº½sĶ¾¹¤Î«e¸m½sĶ¾¹ DB2 µn°OÅܼơG * DB2_SQLROUTINE_PREPOPTS * DB2_SQLROUTINE_COMPILER_PATH * DB2_SQLROUTINE_COMPILE_COMMAND * DB2_SQLROUTINE_KEEP_FILES ÁöµM¥i¥H¨Ï¥Î db2set «ü¥O³]©w³o¨Çµn°OÅܼơA ¨Ï¥ÎÀx¦sµ{§Ç«Ø¸m¾¹¥i®ø°£¹ê»Ú¦s¨ú ¸ê®Æ®w¦øªA¾¹¥Hµo¥X«ü¥O©Î°±¤î¡A µM«á­«·s±Ò°Ê¦øªA¾¹¨ÏÅܧó¥Í®Äªº»Ý¨D¡C ­Y­n¶}±Ò¡uSQL Àx¦sµ{§Ç«Ø¸m¿ï¶µ¡vµøµ¡¡A½Ð¦b±M®×·§²¤ªí¤¤ªº¸ê®Æ®w³s½u«ö¤@¤U·Æ ¹«¥kÁä¡A µM«á«ö¤@¤U¡uSQL Àx¦sµ{§Ç«Ø¸m¿ï¶µ¡v¡C ¦³Ãö³]©w³o¨Ç¿ï¶µªº¸Ô²Ó¸ê°T¡A ½Ð°Ñ¾\ DB2 Àx¦sµ{§Ç»¡©ú¡C ------------------------------------------------------------------------ 39.13 ¦Û°Ê´_·s OS/390 ¤WÀx¦sµ{§Ç«Ø¸mªº WLM ¦ì§}ªÅ¶¡ ·í±z¶¶§Q¦a¦b OS/390 ¤W«Ø¸m±N¦b WLM °õ¦æªºÀx¦sµ{§Ç¤§«á¡ADB2 Àx¦sµ{§Ç«Ø¸m¾¹±N ¦Û°Ê´_·s WLM ¦ì§}ªÅ¶¡¡C ------------------------------------------------------------------------ 39.14 ¦b OS/390 ¶}µo Java Àx¦sµ{§Ç ¡uDB2 Àx¦sµ{§Ç«Ø¸m¾¹¡v¤ä´© DB2 UDB for OS/390 ª©¥» 6 (©Î¥H¤W) ªº Java Àx¦s µ{§Çªº¶}µo¡C±z¥i¥H«Ø¥ß·sªº©ÎÅܧó²{¦sªº Java Àx¦sµ{§Ç¡C ------------------------------------------------------------------------ 39.15 ¬° MQ Series »P OLE DB «Ø¸m DB2 ªí®æ¨Ï¥ÎªÌ©w¸q¥\¯à (UDF) ¡uDB2 Àx¦sµ{§Ç«Ø¸m¾¹¡v´£¨ÑºëÆF¥H¨ó§U±z«Ø¥ß MQSeries »P OLE DB ªºªí®æ UDF¡C ±z¥i¥H¨Ï¥Î¡u«Ø¥ß OLE DB ªí®æ UDF¡vºëÆF¦s¨ú OLE DB ¸ê®Æ´£¨ÑªÌ¡C¦¹ºëÆF·|«Ø¥ß OLE ªí®æ UDF »P¿ï¥Îªºªí®æÀ˵ø¡C±z¥i¥H¨Ï¥Î¡u«Ø¥ß MQSeries¡vªí®æ UDF ºëÆF¨Ó«Ø ¥ß¨ã¦³¿ï¶µªí®æÀ˵øªºªí®æ UDF¡A ¥H¦s¨ú MQSeries °T®§¨Ã­åªR©w¦ì¼ÐÅҮ榡¤¤ªº¸ê ®Æ¡C ------------------------------------------------------------------------ Unicode §ó·s ------------------------------------------------------------------------ 40.1 ²¤¶ Unicode ¼Ð·Ç¬O®Ñ¼g¦r¤¸¤Î¤å¦r¤è­±¥þ²y³q¥Îªº¦r¤¸½s½X¤èªk¡C Unicode ¬O¥Î¦h­Ó¦ì ¤¸²Õ¨Óªí¥Ü¤@­Ó¦r¤¸¡C ¥¦©w¸q¤F¤@ºØ¤@­Pªº¤è¦¡¨Ó±N¦h°ê»y¨¥¤å¦r½s½X¡A ¨Ï±o¤å¦r ¸ê®Æ¥i¦b°ê»Ú¶¡¥æ´«¡A¨Ã³Ð¥ß¥@¬É¯Å³nÅ骺°ò¦¡C Unicode ´£¨Ñ¥H¤U¨âºØ½s½X¤èªk¡C¹w³]ªº½s½X¤èªk¬O UTF-16 (16 ¦ì¤¸ªº½s½X®æ¦¡)¡C UCS-2 ¬O UTF-16 ªº¤l¶°¡A ¥¦¨Ï¥Î¨â­Ó¦ì¤¸²Õ¨Óªí¥Ü¤@­Ó¦r¤¸¡CUCS-2 ³q±`³Q»{¥i¬° ¥þ²y©Êªº¦r½X­¶¡A ¥¦¯à°÷ªí¥Ü¥Ø«e©Ò¦³³æ¦ì¤¸²Õ¦r½X­¶¤ÎÂù¦ì¤¸²Õ¦r½X­¶ªº¥þ³¡¥²»Ý ¦r¤¸¡CUCS-2 ¦b IBM ¤¤µù¥U¬°¦r½X­¶ 1200¡C ¥t¤@­Ó Unicode ½s½X®æ¦¡¬O UTF-8¡A¥¦¬O¦ì¤¸²Õ¾É¦Vªº¡A ¥B¬O³Q³]­p¨Ó¤è«K²{¦³ ASCII ¨t²Îªº¨Ï¥Î¡CUTF-8 ¨Ï¥Î¤£©w¼Æ¥Øªº¦ì¤¸²Õ (³q±`¬° 1-3¡A¦³®É¬O 4) ¨ÓÀx¦s ¨C­Ó¦r¤¸¡C µLÅܤƪº ASCII ¦r¤¸´NÀx¦s¬°³æ¦ì¤¸²Õ¡C©Ò¦³¨ä¥¦¦r¤¸´N¨Ï¥Î¦h­Ó¦ì¤¸ ²Õ¨ÓÀx¦s¡C³q±` UTF-8 ¸ê®Æ¥i¨Ì¾Ú«D³]­p¬°¦h¦ì¤¸²Õ¦r½X­¶ªº¦r½X¨Óµø¬°ÂX¥Rªº ASCII ¸ê®Æ¡C UTF-8 ¦b IBM ¤¤µù¥U¬°¦r½X­¶ 1208¡C À³¥Îµ{¦¡­n¦Ò¼{¨ì¸ê®Æ¦b°Ï°ì¦r½X­¶¡BUCS-2 ©M UTF-8 ¤§¶¡°µÂà´«®Éªº»Ý¨D¡A ³o¬O «Ü­«­nªº¡C¨Ò¦p¡A20 ­Ó¦r¤¸¦b UCS-2 ¤¤»Ý­n§¹¾ãªº 40 ­Ó¦ì¤¸²Õ¡A UTF-8 «h¤¶©ó 20 ¨ì 60 ­Ó¦ì¤¸²Õ¤§¶¡ (µø­ì¥ý¨Ï¥Îªº¦r½X­¶¤Î¤å¦r¦Ó©w)¡C 40.1.1 DB2 Unicode ¸ê®Æ®w¤ÎÀ³¥Îµ{¦¡ ¨Ï¥Î UTF-8 ¦r½X¶°«Ø¥ßªº Unix¡BWindows ©Î OS/2 DB2 Universal ¸ê®Æ®w ¥i¥Î¨ÓÀx ¦s UCS-2 ¤Î UTF-8 ¨âºØ®æ¦¡ªº¸ê®Æ¡C ³o¼Ëªº¸ê®Æ®w¥i³Qµø¬° Unicode ¸ê®Æ®w¡C SQL CHAR ¸ê®Æ¬O¨Ï¥Î UTF-8 ¨Ó½s½Xªº¡A¦Ó SQL GRAPHIC ¸ê®Æ¬O¨Ï¥Î UCS-2 ¨Ó½s½X ªº¡C ³o¥i¥H¬Û·í©ó¦b CHAR ª½ÄæÀx¦s³æ¦ì¤¸²Õ (SBCS) ¤Î¦h¦ì¤¸²Õ (MBCS) ¦r½X¶°¡A ¥H¤Î¦b GRAPHIC ª½ÄæÀx¦sÂù¦ì¤¸²Õ (DBCS) ¦r½X¶°¡C À³¥Îµ{¦¡ªº¦r½X­¶¥i¯à©M DB2 ¥Î¨ÓÀx¦s¸ê®Æªº¦r½X­¶¤£¤@¼Ë¡C ¦b«D Unicode ¸ê®Æ®w ¤¤¡A¦b¦r½X­¶¤£¤@¼Ë®É¡A ¸ê®Æ®wºÞ²zµ{¦¡·|Âà´«±qÄݯ¸¤Î¦øªA¾¹¤§¶¡¶Ç°eªº¦r¤¸¤Î¹Ï §Î (pure DBCS) ¸ê®Æ¡C ¦b Unicode ¸ê®Æ®w¤¤¡A±qÄݯ¸¦r½X­¶»P UTF-8 ¤§¶¡ªº¦r¤¸ ¸ê®ÆÂà´«·|¦Û°Ê¥Ñ¸ê®Æ®wºÞ²zµ{¦¡¨Ó°õ¦æ¡A ¦ý¬O©Ò¦³ªº¹Ï§Î (UCS-2) ¸ê®Æ¤£¸g¹LÂà ´«´N¦b±qÄݯ¸¤Î¦øªA¾¹¤§¶¡¶Ç°e¡C ¹Ï 7. ¸ê®Æ®wºÞ²zµ{¦¡©Ò°õ¦æªº¦r½X­¶Âà´« [¸ê®Æ®wºÞ²zµ{¦¡©Ò°õ¦æªº¦r½X­¶Âà´«] µù: 1. ·í³s±µ¨ì Unicode ¸ê®Æ®w¡A¦pªGÀ³¥Îµ{¦¡³]©w DB2CODEPAGE=1208¡A «h°Ï°ì¦r ½X­¶¬O UTF-8¡A©Ò¥H¤£»Ý­n°µ¦r½X­¶Âà´«¡C 2. ·í¤w³s±µ¨ì Unicode ¸ê®Æ®w¡ACLI À³¥Îµ{¦¡¤]¥i±N¦r¤¸¸ê®Æ·í§@¹Ï§Î¸ê®Æ±µ ¦¬¡A ¥H¤Î±N¹Ï§Î¸ê®Æ·í§@¦r¤¸¸ê®Æ¡C À³¥Îµ{¦¡¬O¥i¥H«ü©w UTF-8 ¦r½X­¶¡A¥H«ü¥X¥¦±N¥Î UCS-2 ¨Ó¶Ç°e¤Î±µ¦¬¹Ï§Î¸ê®Æ¡A ¨Ã¥Î UTF-8 ¨Ó¶Ç°e¤Î±µ¦¬¦r¤¸¸ê®Æ¡C ¦¹À³¥Îµ{¦¡¦r½X­¶¥u¤ä´© Unicode ¸ê®Æ®w¡C ¨Ï¥Î Unicode ®É­n¦Ò¼{ªº¨ä¥¦¶µ¥Ø¬°¡G 1. ¸ê®Æ®w¦r½X­¶¬O¦b«Ø¥ß¸ê®Æ®wªº®É­Ô¨M©wªº¡A ¥B¥¦ªº­È¹w³]·|±q§@·~¨t²Î»y¨¥ Àô¹Ò (©Î¦r½X­¶) ¨Ó¨M©w¡C CODESET ¤Î TERRITORY ÃöÁä¦r¥i¥Î¨Ó©ú½T¦a«Ø¥ß Unicode DB2 ¸ê®Æ®w¡C ¨Ò¦p¡G CREATE DATABASE unidb USING CODESET UTF-8 TERRITORY US 2. À³¥Îµ{¦¡¦r½X­¶¤]¹w³]¬°°Ï°ì¦r½X­¶¡A¦ý¬O³o¥i¥Î¤U¦C¤èªk¥Ñ UTF-8 ¨Ó¸m´«¡G o ¨Ï¥Î¦¹«ü¥O±NÀ³¥Îµ{¦¡¦r½X­¶³]©w¬° UTF-8 (1208)¡G db2set DB2CODEPAGE=1208 o ¹ï©ó CLI/ODBC À³¥Îµ{¦¡¡A¥i©I¥s SQLSetConnectAttr() ¤Î³]©w SQL_ATTR_ANSI_APP ¬° SQL_AA_FALSE¡C ¹w³]³]©w¬O SQL_AA_TRUE¡C 3. GRAPHIC ª½Ä椤ªº¸ê®Æ¹ï©ó¨C­Ó Unicode ¦r¤¸·|¨Ï¥Î§¹¾ãªº¨â­Ó¦ì¤¸²Õ¡A ¦Ó CHAR ª½Ä椤ªº¸ê®Æ¹ï©ó¨C­Ó Unicode ¦r¤¸·|¨Ï¥Î 1 ¨ì 3 ­Ó¦ì¤¸²Õ¡C ¦b GRAPHIC ª½Äæ¦r¤¸¤è­±ªº SQL ­­¨î³q±`¬O CHAR ª½Äæ¦r¤¸ªº¤@¥b¡A ¦ý¦b¦ì¤¸²Õ ¤è­±¬O¤@¼Ëªº¡C CHAR ª½Ä檺³Ì¤j¦r¤¸ªø«×¬O 254¡C GRAPHIC ª½Ä檺³Ì¤j¦r¤¸ ªø«×¬O 127¡C ­Y»Ý¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ SQL Reference "Functions" ³¹¸`¤¤ªº MAX¡C 4. ¹Ï§Î¤å¦r¥Î G ¦r­º¨Ó»P¦r¤¸¤å¦r°Ï§O¡C ¨Ò¦p¡G SELECT * FROM mytable WHERE mychar = 'utf-8 data' AND mygraphic = G'ucs-2 data' µù: ¹ï©ó Unicode ¸ê®Æ®w´N¤£»Ý­n G ¦r­º¡C ½Ð°Ñ¾\"Literals in Unicode Databases"¡A¨ú±o¨ä¾l¸ê°T¤Î§ó·sªº¤ä´©¡C 5. ¤ä´© CLI/ODBC ©M JDBC À³¥Îµ{¦¡¤£¦P©ó¤ä´©¤º§tªºÀ³¥Îµ{¦¡¡C ­Y»Ý CLI/ODBC ¤ä´©ªº¬ÛÃö¸ê°T¡A½Ð°Ñ¾\40.3, "CLI Guide and Reference(µL¤¤¤åª©)"¡C 6. UCS-2 ¸ê®Æªº¦ì¤¸²Õ¦¸§Ç¥i¯à¦]¥­¥x¦Ó²§¡C DB2 ¦b¤º³¡¬O¨Ï¥Î big-endian ®æ ¦¡¡C 40.1.2 ¤å¥ó§ó·s ¦¹¤å¥ó§ó·s¤U¦C¦³Ãö¦b DB2 ª©¥» 7.1 ¤¤¨Ï¥Î Unicode ªº¸ê°T¡G * SQL Reference: Chapter 3 Language Elements Chapter 4 Functions * CLI Guide and Reference: Chapter 3. Using Advanced Features Appendix C. DB2 CLI and ODBC * Data Movement Utilities Guide and Reference, Appendix C. Export/Import/Load Utility File Formats ­Y»Ý¦³Ãö¦b DB2 ¤¤¨Ï¥Î Unicode ªº¸Ô²Ó¸ê°T¡A½Ð°Ñ·Ó Administration Guide ªº Appendix J. National Language Support (NLS)¡G "Unicode/UCS-2 and UTF-8 Support in DB2 UDB"¡C ------------------------------------------------------------------------ 40.2 SQL Reference(µL¤¤¤åª©) 40.2.1 Chapter 3 Language Elements 40.2.1.1 Promotion of Data Types In this section table 5 shows the precedence list for each data type. Please note: 1. For a Unicode database, the following are considered to be equivalent data types: o CHAR and GRAPHIC o VARCHAR and VARGRAPHIC o LONG VARCHAR and LONG VARGRAPHIC o CLOB and DBCLOB 2. In a Unicode database, it is possible to create functions where the only difference in the function signature is between equivalent CHAR and GRAPHIC data types, for example, foo(CHAR(8)) and foo(GRAPHIC(8)). We strongly recommend that you do not define such duplicate functions since migration to a future release will require one of them to be dropped before the migration will proceed. If such duplicate functions do exist, the choice of which one to invoke is determined by a two pass algorithm. The first pass attempts to find a match using the same algorithm as is used for resolving functions in a non-Unicode database. If no match is found, then a second pass will be done taking into account the following promotion precedence for CHAR and GRAPHIC strings: GRAPHIC-->CHAR-->VARGRAPHIC-->VARCHAR-->LONG VARGRAPHIC-->LONG VARCHAR-->DBCLOB-->CLOB 40.2.1.2 Casting Between Data Types The following entry has been added to the list introduced as: "The following casts involving distinct types are supported": * for a Unicode database, cast from a VARCHAR or VARGRAPHIC to distinct type DT with a source data type CHAR or GRAPHIC. The following are updates to Table 6. Supported Casts between Built-in Data Types. Only the affected rows of the table are included. Table 31. Supported Casts between Built-in Data Types L O N L G Target Data Type O V V N A A G R R V V G G G A A R R R D R R A A A B C C C C P P P C H H H L H H H L Source Data Type A A A O I I I O V R R R B C C C B CHAR Y Y Y Y Y1 Y1 - - VARCHAR Y Y Y Y Y1 Y1 - - LONGVARCHAR Y Y Y Y - - Y1 Y1 CLOB Y Y Y Y - - - Y1 GRAPHIC Y1 Y1 - - Y Y Y Y VARGRAPHIC Y1 Y1 - - Y Y Y Y LONGVARGRAPHIC - - Y1 Y1 Y Y Y Y DBCLOB - - - Y1 Y Y Y Y 1 Cast is only supported for Unicode databases. 40.2.1.3 Assignments and Comparisons Assignments and comparisons involving both character and graphic data are only supported when one of the strings is a literal. For function resolution, graphic literals and character literals will both match character and graphic function parameters. The following are updates to Table 7. Data Type Compatibility for Assignments and Comparisons. Only the affected rows of the table, and the new footnote 6, are included: Binary Decimal Floating CharacterGraphic Time- Binary Operands Integer Number Point String String Date Time stamp String UDT CharacterNo No No Yes Yes 6 1 1 1 No 3 2 String Graphic No No No Yes 6 Yes No No No No 2 String 6 Only supported for Unicode databases. String Assignments Storage Assignment The last paragraph of this sub-section is modified as follows: When a string is assigned to a fixed-length column and the length of the string is less than the length attribute of the target, the string is padded to the right with the necessary number of single-byte, double-byte, or UCS-22 blanks. The pad character is always a blank even for columns defined with the FOR BIT DATA attribute. Retrieval Assignment The third paragraph of this sub-section is modified as follows: When a character string is assigned to a fixed-length variable and the length of the string is less than the length attribute of the target, the string is padded to the right with the necessary number of single-byte, double-byte, or UCS-22 blanks. The pad character is always a blank even for strings defined with the FOR BIT DATA attribute. 2 UCS-2 defines several SPACE characters with different properties. For a Unicode database, the database manager always uses the ASCII SPACE at position x'0020' as UCS-2 blank. For an EUC database, the IDEOGRAPHIC SPACE at position x'3000' is used for padding GRAPHIC strings. Conversion Rules for String Assignments The following paragraph has been added to the end of this sub-section: For Unicode databases, character strings can be assigned to a graphic column, and graphic strings can be assigned to a character column. DBCS Considerations for Graphic String Assignments The first paragraph of this sub-section has been modified as follows: Graphic string assignments are processed in a manner analogous to that for character strings. For non-Unicode databases, graphic string data types are compatible only with other graphic string data types, and never with numeric, character string, or datetime data types. For Unicode databases, graphic string data types are compatible with character string data types. String Comparisons Conversion Rules for Comparison This sub-section has been modified as follows: When two strings are compared, one of the strings is first converted, if necessary, to the encoding scheme and/or code page of the other string. For details, see the "Rules for String Conversions" section of Chapter 3 Language Elements in the SQL Reference. 40.2.1.4 Rules for Result Data Types Character and Graphic Strings in a Unicode Database This is a new sub-section inserted after the sub-section "Graphic Strings". In a Unicode database, character strings and graphic strings are compatible. If one operand is... And the other operand The data type of the is... result is... GRAPHIC(x) CHAR(y) or GRAPHIC(y) GRAPHIC(z) where z = max(x,y) VARGRAPHIC(x) CHAR(y) or VARCHAR(y) VARGRAPHIC(z) where z = max(x,y) VARCHAR(x) GRAPHIC(y) or VARGRAPHIC(z) where z = VARGRAPHIC max(x,y) LONG VARGRAPHIC CHAR(y) or VARCHAR(y) LONG VARGRAPHIC or LONG VARCHAR LONG VARCHAR GRAPHIC(y) or LONG VARGRAPHIC VARGRAPHIC(y) DBCLOB(x) CHAR(y) or VARCHAR(y) DBCLOB(z) where z = or CLOB(y) max(x,y) DBCLOB(x) LONG VARCHAR DBCLOB(z) where z = max(x,16350) CLOB(x) GRAPHIC(y) or DBCLOB(z) where z = VARGRAPHIC(y) max(x,y) CLOB(x) LONG VARGRAPHIC DBCLOB(z) where z = max(x,16350) 40.2.1.5 Rules for String Conversions The third point has been added to the following list in this section: For each pair of code pages, the result is determined by the sequential application of the following rules: * If the code pages are equal, the result is that code page. * If either code page is BIT DATA (code page 0), the result code page is BIT DATA. * In a Unicode database, if one code page denotes data in an encoding scheme different from the other code page, the result is UCS-2 over UTF-8 (that is, the graphic data type over the character data type).1 * Otherwise, the result code page is determined by Table 8 of the "Rules for String Conversions" section of Chapter 3 Language Elements in the SQL Reference. An entry of 'first' in the table means the code page from the first operand is selected and an entry of 'second' means the code page from the second operand is selected. 1 In a non-Unicode database, conversion between different encoding schemes is not supported. 40.2.1.6 Expressions The following has been added: In a Unicode database, an expression that accepts a character or graphic string will accept any string types for which conversion is supported. With the Concatenation Operator The following has been added to the end of this sub-section: In a Unicode database, concatenation involving both character string operands and graphic string operands will first convert the character operands to graphic operands. Note that in a non-Unicode database, concatenation cannot involve both character and graphic operands. 40.2.1.7 Predicates The following entry has been added to the list introduced by the sentence: "The following rules apply to all types of predicates": * In a Unicode database, all predicates that accept a character or graphic string will accept any string types for which conversion is supported. 40.2.2 Chapter 4 Functions 40.2.2.1 Scalar Functions The following sentence has been added to the end of this section: In a Unicode database, all scalar functions that accept a character or graphic string will accept any string types for which conversion is supported. ------------------------------------------------------------------------ 40.3 CLI Guide and Reference(µL¤¤¤åª©) 40.3.1 Chapter 3. Using Advanced Features The following is a new section for this chapter. 40.3.1.1 Writing a DB2 CLI Unicode Application There are two main areas of support for DB2 CLI Unicode Applications: 1. The addition of a set of functions that can accept Unicode string arguments in place of ANSI string arguments. 2. The addition of new C and SQL data types to describe data as ANSI or Unicode data. The following sections provide more information for both of these areas. To be considered a Unicode application, the application must set the SQL_ATTR_ANSI_APP connection attribute to SQL_AA_FALSE, before a connection is made. This will ensure that CLI will connect as a Unicode client, and all Unicode data will be sent in either UTF-8 for CHAR data or UCS-2 for GRAPHIC data. Unicode Functions The following is a list of the ODBC API functions that support both Unicode (W) and ANSI (A) versions (the function name will have a W for Unicode): SQLBrowseConnect SQLForeignKeys SQLPrimaryKeys SQLColAttribute SQLGetConnectAttr SQLProcedureColumns SQLColAttributes SQLGetConnectOption SQLProcedures SQLColumnPrivileges SQLGetCursorName SQLSetConnectAttr SQLColumns SQLGetDescField SQLSetConnectOption SQLConnect SQLGetDescRec SQLSetCursorName SQLDataSources SQLGetDiagField SQLSetDescField SQLDescribeCol SQLGetDiagRec SQLSetStmtAttr SQLDriverConnect SQLGetInfo SQLSpecialColumns SQLDrivers SQLGetStmtAttr SQLStatistics SQLError SQLNativeSQL SQLTablePrivileges SQLExecDirect SQLPrepare SQLTables Unicode functions that always return, or take, string length arguments are passed as count-of-characters. For functions that return length information for server data, the display size and precision are described in number of characters. When the length (transfer size of the data) could refer to string or nonstring data, the length is described in octet lengths. For example, SQLGetInfoW will still take the length as count-of-bytes, but SQLExecDirectW will use count-of-characters. CLI will return result sets in either Unicode or ANSI, depending on the application's binding. If an application binds to SQL_C_CHAR, the driver will convert SQL_WCHAR data to SQL_CHAR. The driver manager maps SQL_C_WCHAR to SQL_C_CHAR for ANSI drivers but does no mapping for Unicode drivers. New datatypes and valid conversions There are two new CLI or ODBC defined data types, SQL_C_WCHAR and SQL_WCHAR. SQL_C_WCHAR indicates that the C buffer contains UCS-2 data. SQL_WCHAR indicates that a particular column or parameter marker contains Unicode data. For DB2 Unicode Servers, graphic columns will be described as SQL_WCHAR. Conversion will be allowed between SQL_C_WCHAR and SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR and SQL_CLOB, as well as between the graphic data types. Table 32. Supported Data Conversions S S Q Q L S S L _ Q Q _ C L L C S S _ _ _ _ Q Q T C C D S L L Y _ _ B S Q S _ _ P S S C B C S Q S S L S Q C C E Q Q L L L Q L S Q S Q _ Q L _ _ _ L L O O O L _ Q L Q L C L _ T T T _ S _ B B B _ C L _ L _ _ _ C Y Y I C Q C _ _ _ C _ _ C _ C T C _ P P M _ L _ L L L _ N C _ C _ I _ D E E E B _ D O O O B U _ W _ S N F O _ _ S I C B C C C I M C C L H Y L U D T T N _ C A A A G E H H O O I O B A I A A B H T T T I R A A N R N A L T M M R I A O O O N I SQL Data Type R R G T T T E E E P Y T R R R R T C BLOB X X D X CHAR D X X X X X X X X X X X X X CLOB D X X X DATE X X D X DBCLOB X X D X DECIMAL D X X X X X X X X X X DOUBLE X X X X X X D X X X FLOAT X X X X X X D X X X GRAPHIC X X D (Non-Unicode) GRAPHIC X X X X X X X X X X X X D X (Unicode) INTEGER X X D X X X X X X X LONG D X X VARCHAR LONG X X X D VARGRAPHIC (Non-Unicode) LONG X X X D VARGRAPHIC (Unicode) NUMERIC D X X X X X X X X REAL X X X X X D X X X SMALLINT X X X D X X X X X X BIGINT X X X X X X X X X D X TIME X X D X TIMESTAMP X X X X D VARCHAR D X X X X X X X X X X X X X VARGRAPHIC X X D (Non-Unicode) VARGRAPHIC X X X X X X X X X X X X D X (Unicode) Notes: D Conversion is supported. This is the default conversion for the SQL data type. X All IBM DBMSs support the conversion. blank No IBM DBMS supports the conversion. o Data is not converted to LOB Locator types, rather locators represent a data value, refer to Using Large Objects for more information. o SQL_C_NUMERIC is only available on 32-bit Windows operating systems. Obsolete Keyword/Patch Value Before Unicode applications were supported, applications that were written to work with single byte character data could be made to work with double byte graphic data by a series of cli ini file keywords, such as GRAPHIC=1,2 or 3, Patch2=7 etc. These workarounds presented graphic data as character data, and also affected the reported length of the data. These keywords are no longer required for Unicode applications, and in fact should not be used otherwise there could be serious side effects. If it is not known if a particular application is a Unicode application, we suggest you try without any of the keywords that affect the handling of graphic data. Literals in Unicode Databases In Non-Unicode databases, data in LONG VARGRAPHIC and LONG VARCHAR columns cannot be compared. Data in GRAPHIC/VARGRAPHIC and CHAR/VARCHAR columns can only be compared, or assigned to each other, using explicit cast functions since no implicit code page conversion is supported. This includes GRAPHIC/VARGRAPHIC and CHAR/VARCHAR literals where a GRAPHIC/VARGRAPHIC literal is differentiated from a CHAR/VARCHAR literal by a G prefix. For Unicode databases, casting between GRAPHIC/VARGRAPHIC and CHAR/VARCHAR literals is not required. Also, a G prefix is not required in front of a GRAPHIC/VARGRAPHIC literal. Provided at least one of the arguments is a literal, implicit conversions occur. This allows literals with or without the G prefix to be used within statements that use either SQLPrepareW() or SQLExecDirect(). Literals for LONG VARGRAPHICs still must have a G prefix. For more information, please see "Casting Between Data Types" in Chapter 3 Language Elements of the SQL Reference. New CLI Configuration Keywords The following three keywords have been added to avoid any extra overhead when Unicode applications connect to a database. 1. DisableUnicode Keyword Description: Disables the underlying support for Unicode. db2cli.ini Keyword Syntax: DisableUnicode = 0 | 1 Default Setting: 0 (false) DB2 CLI/ODBC Settings Tab: This keyword cannot be set using the CLI/ODBC Settings notebook. The db2cli.ini file must be modified directly to make use of this keyword. Usage Notes: With Unicode support enabled, and when called by a Unicode application, CLI will attempt to connect to the database using the best client codepage possible to ensure there is no unnecessary data loss due to codepage conversion. This may increase the connection time as codepages are exchanged, or may cause codepage conversions on the client that did not occur before this support was added. Setting this keyword to True will cause all Unicode data to be converted to the application's local codepage first, before the data is sent to the server. This can cause data loss for any data that cannot be represented in the local codepage. 2. ConnectCodepage Keyword Description: Specifies a specific codepage to use when connecting to the data source to avoid extra connection overhead. db2cli.ini Keyword Syntax: ConnectCodepage = 0 | 1 Default Setting: 0 DB2 CLI/ODBC Settings Tab: This keyword cannot be set using the CLI/ODBC Settings notebook. The db2cli.ini file must be modified directly to make use of this keyword. Usage Notes: Non-Unicode applications always connect to the database using the application's local codepage, or the DB2Codepage environment setting. By default, CLI will ensure that Unicode applications will connect to Unicode databases using UTF-8 and UCS-2 codepages, and will connect to non-Unicode databases using the database's codepage. This ensures there is no unnecessary data loss due to codepage conversion. This keyword allows the user to specify the database's codepage when connecting to a non-Unicode database in order to avoid any extra overhead on the connection. Specify a value of 1 to cause SQLDriverConnect() to return the correct value in the output connection string, so the value can be used on future SQLDriverConnect() calls. 3. UnicodeServer Keyword Description: Indicates that the data source is a Unicode Server. Equivalent to setting ConnectCodepage=1208. db2cli.ini Keyword Syntax: UnicodeServer = 0 | 1 Default Setting: 0 DB2 CLI/ODBC Settings Tab: This keyword cannot be set using the CLI/ODBC Settings notebook. The db2cli.ini file must be modified directly to make use of this keyword. Usage Notes: This keyword is equivalent to ConnectCodepage=1208, and is added only for convenience. Set this keyword to avoid extra connect overhead when connecting to DB2 for OS/390 Version 7 or higher. There is no need to set this keyword for DB2 for Windows, DB2 for Unix or DB2 for OS/2 databases, since there is no extra processing required. 40.3.2 Appendix C. DB2 CLI and ODBC The following is a new section added to this appendix. 40.3.2.1 ODBC Unicode Applications A Unicode ODBC application sends and retrieves character data primarily in UCS-2. It does this by calling Unicode versions of the ODBC functions ('W' suffix) and by indicating Unicode data types. The application does not explicitly specify a local code page. The application can still call the ANSI functions and pass local code page strings. For example, the application may call SQLConnectW() and pass the DSN, User ID and Password as Unicode arguments. It may then call SQLExecDirectW() and pass in a Unicode SQL statement string, and then bind a combination of ANSI local code page buffers (SQL_C_CHAR) and Unicode buffers (SQL_C_WCHAR). The database data types may be local code page or UCS-2 and UTF-8. If a CLI application calls SQLConnectW or calls SQLSetConnectAttr with SQL_ATTR_ANSI_APP set to SQL_AA_FALSE, the application is considered a Unicode application. This means all CHAR data is sent and received from the database in UTF-8 format. The application can then fetch CHAR data into SQL_C_CHAR buffers in local code page (with possible data loss), or into SQL_C_WCHAR buffers in UCS-2 without any data loss. If the application does not do either of the two calls above, CHAR data is converted to the applications local codepage at the server. This means CHAR data fetched into SQL_C_WCHAR may suffer data loss. If the DB2CODEPAGE instance variable is set (using db2set) to code page 1208 (UTF-8), the application will receive all CHAR data in UTF-8 since this is now the local code page. The application must also ensure that all CHAR input data is also in UTF-8. ODBC also assumes that all SQL_C_WCHAR data is in the native endian format. CLI will perform any required byte-reversal for SQL_C_WCHAR. ODBC Unicode Versus Non-Unicode Applications This release of DB2 Universal Database contains the SQLConnectW() API. A Unicode driver must export SQLConnectW in order to be recognized as a Unicode driver by the driver manager. It is important to note that many ODBC applications (such as Microsoft Access and Visual Basic) call SQLConnectW(). In previous releases of DB2 Universal Database, DB2 CLI has not supported this API, and thus was not recognized as a Unicode driver by the ODBC driver manager. This caused the ODBC driver manager to convert all Unicode data to the application's local code page. With the added support of the SQLConnectW() function, these applications will now connect as Unicode applications and DB2 CLI will take care of all required data conversion. DB2 CLI now accepts Unicode APIs (with a suffix of "W") and regular ANSI APIs. ODBC defines a set of functions with a suffix of "A", but the driver manager does not pass ANSI functions with the "A" suffix to the driver. Instead, it converts these functions to ANSI function calls without the suffix, and then passes them to the driver. An ODBC application that calls the SQLConnectW() API is considered a Unicode application. Since the ODBC driver manager will always call the SQLConnectW() API regardless of what version the application called, ODBC introduced the SQL_ATTR_ANSI_APP connect attribute to notify the driver if the application should be considered an ANSI or UNICODE application. If SQL_ATTR_ANSI_APP is not set to SQL_AA_FALSE, DB2 CLI converts all Unicode data to the local code page before sending it to the server. ------------------------------------------------------------------------ 40.4 Data Movement Utilities Guide and Reference(µL¤¤¤åª©) 40.4.1 Appendix C. Export/Import/Load Utility File Formats The following update has been added to this Appendix: The export, import, and load utilities are not supported when they are used with a Unicode client connected to a non-Unicode database. Unicode client files are only supported when the Unicode client is connected to a Unicode database. ------------------------------------------------------------------------ ³s±µ¨ì¥D¹q¸£¨t²Î ³¡¥÷¥Ø¿ý * ³s±µÀô¹Ò¸É¥R¸ê®Æ o 41.1 ¦b VM Àô¹Ò¤U¦w¸ËÀ³¥Îµ{¦¡¦øªA¾¹ o 41.2 CLI/ODBC/JDBC ¬[ºc PATCH1 ©M PATCH2 ³]©w­È ------------------------------------------------------------------------ ³s±µÀô¹Ò¸É¥R¸ê®Æ ------------------------------------------------------------------------ 41.1 ¦b VM Àô¹Ò¤U¦w¸ËÀ³¥Îµ{¦¡¦øªA¾¹ ·s¼W¤U¦C¥y¤l¨ì¡u´£¨Ñ°Ï¬q¸ê°T¡v³¹¸`¡A¡u©w¸qÀ³¥Îµ{¦¡¦øªA¾¹¡v¦¸³¹¸`ªº²Ä¤@¥y¤l ¤§«á¡G RDB_NAME ¥Ñ SQLSTART EXEC ´£¨Ñ¡A¥i§@¬° DBNAME °Ñ¼Æ¡C ------------------------------------------------------------------------ 41.2 CLI/ODBC/JDBC ¬[ºc PATCH1 ©M PATCH2 ³]©w­È CLI/ODBC/JDBC ÅX°Êµ{¦¡ªº¬[ºc¥i¥H¥Ñ±qÄݯ¸¬[ºc»²§Uµ{¦¡¡BODBC ÅX°Êµ{¦¡ºÞ²zµ{¦¡ ¡]­Y¨t²Î¦³¦w¸Ë¦¹µ{¦¡¡^¡B½s¿è db2cli.ini Àɨӧ¹¦¨¡C ¸Ô²Ó¸ê®Æ¡A½Ð°Ñ¾\¦w¸Ë»P¬[ ºc¸É¥R©Î CLI Guide and Reference¡C ±z¥i¥H³z¹L db2cli.ini ÀÉ¡A©ÎªÌ³z¹L SQLDriverConnect() ©Î SQLBrowseConnect() CLI API¡A «ü©w PATCH1 ¤Î PATCH2 ÃöÁä¦rªº­È¡A¨Ó­×§ï DB2 CLI/ODBC ÅX°Êµ{¦¡ªº ¹w³]¦æ¬°¡C ±z¥i¥H±N¨Ï¥ÎªÌ·Q­n³]©wªº©Ò¦³ÃöÁä¦r¥[¦b¤@°_¡A ¨Ó«ü©w PATCH1 ÃöÁä¦r¡C ¨Ò¦p¡A ¦pªG«ü©w­×¸Éµ{¦¡ 1¡B2 ¤Î 8¡A«h PATCH1 ªº­È±N¬O 11¡C ¤U¦C¬OÅX°Êµ{¦¡¤W¨C¤@Ãö Áä¦r­È¤Î¨ä®ÄªGªº»¡©ú¡G 1 - ³o¨Ï±oÅX°Êµ{¦¡±N·j´M "count(exp)"¡A¨Ã¥H "count(distinct exp)" ¸m´«¥¦¡C¦]¬°¦³¨Çª©¥»ªº DB2 ¤ä´© "count(exp)" »yªk¡A¥B¸Ó»yªk ¬O¥Ñ¬Y¨Ç ODBC À³¥Îµ{¦¡©Ò«Ø¥ßªº¡A©Ò¥H»Ý­n³oºØ®ÄªG¡C ·í¦øªA¾¹¤£¤ä´© "count(exp)" »yªk®É¡AMicrosoft À³¥Îµ{¦¡»Ý­n¥¦¡C 2 - ³¡¥÷ ODBC À³¥Îµ{¦¡·|³Q³]³´¡A·í SQLGetTypeInfo() ¨ç¼Æ¤¤¹ï©ó LITERAL_PREFIX ©Î LITERAL_SUFFIX ª½Äæ¶Ç¦^ SQL_NULL_DATA ®É¡C³o·|±j¨îÅX°Êµ{¦¡§ï¦Ó¶Ç¦^¤@­Ó ªÅ¦r¦ê¡CImpromptu 2.0 ·|»Ý­n¥Î¨ì¡C 4 - ³o·|±j¨îÅX°Êµ{¦¡±N¿é¤J®É¶¡ÂW°O¸ê®Æµø¬°¤é´Á¸ê®Æ¡A¦pªG®É¶¡©M®É¶¡ÂW°Oªº¤p¼Æ ³¡¥÷¬O¹s¡CMicrosoft Access ·|»Ý­n¥Î¨ì¡C 8 - ¦pªG®É¶¡ÂW°Oªº¤é´Á³¡¥÷¬° 1899-12-30¡A³o·|±j¨îÅX°Êµ{¦¡ ±N¿é¤J®É¶¡ÂW°O¸ê®Æµø¬°®É¶¡¸ê®Æ¡CMicrosoft Access »Ý­n³oºØ®ÄªG¡C 16 - ¤£¨Ï¥Î¡C 32 - ³o·|±j¨îÅX°Êµ{¦¡¤£¶Ç¦^Ãö©ó SQL_LONGVARCHAR¡BSQL_LONGVARBINARY ¤Î SQL_LONGVARGRAPHIC ª½Ä檺¸ê°T¡C¦bÀ³¥Îµ{¦¡¬Ý¨Ó¡A´N¦n¹³¨Ã¤£¤ä´©ªøÄæ¦ì¡C Lotus 123 ·|»Ý­n¥Î¨ì¡C 64 - ³o·|±j¨îÅX°Êµ{¦¡¥H NULL ­È²×¤î¹Ï§Î¿é¥X¦r¦ê¡C Âù¦ì¤¸²ÕÀô¹Ò¤¤ªº Microsoft Access »Ý­n³oºØ®ÄªG¡C 128 - ³o·|±j¨îÅX°Êµ{¦¡Åý "SELECT Config, nValue FROM MSysConf" ¬d¸ß¨ì¦øªA¾¹¥h¡C ¥Ø«eÅX°Êµ{¦¡·|¶Ç¦^¿ù»~¡A¬ÛÃö SQLSTATE ­È¬O S0002 (§ä¤£¨ìªí®æ)¡C¦pªG¨Ï¥ÎªÌ ¤w¦b¸ê®Æ®w¤¤«Ø¥ß¤F¦¹¬[ºcªí®æ¥B§Æ±æÀ³¥Îµ{¦¡¥i¥H¦s¨ú®É·|»Ý­n¥Î¨ì¡C 256 - ³o·|±j¨îÅX°Êµ{¦¡¦b SQLStatistics() ©I¥s¤¤¥ý¶Ç¦^¥D­nÁ䪽Äæ¡C¥Ø«e¡AÅX°Êµ{¦¡ ·|¨Ì·Ó¯Á¤Þ¦WºÙ¶Ç¦^¤w±Æ§Çªº¯Á¤Þ¡A¨º¬O¼Ð·Çªº ODBC ¦æ¬°¡C 512 - ³o·|±j¨îÅX°Êµ{¦¡¦b SQLGetFunctions() ¤¤¹ï SQL_API_SQLTABLEPRIVILEGES ¤Î SQL_API_SQLCOLUMNPRIVILEGES ¨âªÌ¶Ç¦^ FALSE¡C 1024 - ³o·|±j¨îÅX°Êµ{¦¡¦b SQLExecute() ©Î SQLExecDirect() ¤¤¶Ç¦^ SQL_SUCCESS¡A ¦Ó«D SQL_NO_DATA_FOUND¡A¦pªG°õ¦æªº UPDATE ©Î DELETE ³¯­z¦¡¨S¦³¹ï¥ô¦ó¾î¦C µo¥Í§@¥Î¡CVisual Basic À³¥Îµ{¦¡·|»Ý­n¥Î¨ì¡C 2048 - ¤£¨Ï¥Î¡C 4096 - ¦b¦Û°Ê COMMIT ¼Ò¦¡¤¤®É¡A©óÃö³¬´å¼Ð«á¡A³o·|±j¨îÅX°Êµ{¦¡ ¤£µo¥X COMMIT¡C 8192 - ³o·|±j¨îÅX°Êµ{¦¡¦b©I¥sÀx¦sµ{§Ç«á¶Ç¦^ÃB¥~ªºµ²ªG¶°¡C³o­Óµ²ªG¶°¬O¤@­Ó³æ¤@ ¾î¦Cªºµ²ªG¶°¡A¥ÑÀx¦sµ{§Çªº¿é¥X­È²Õ¦¨¡C¥i³Q Powerbuild À³¥Îµ{¦¡¨Ó¦s¨ú¡C 32768 - ³o·|±j¨îÅX°Êµ{¦¡¨Ï Microsoft Query À³¥Îµ{¦¡¯à¨Ï¥Î DB2 MVS ¦P¸q¦r¡C 65536 - ³o·|±j¨îÅX°Êµ{¦¡¦Û¦æ´¡¤J¤@­Ó "G" ¨ì¹ê»Ú¤W¬°¹Ï§Î¤å¦rªº¦r¤¸¤å¦r«e­±¡C ³o­Ó­×¸Éµ{¦¡¦bÂù¦ì¤¸²ÕÀô¹Ò¤¤¤u§@®É¤@©w­n´£¨Ñ¡C 131072 - ³o·|±j¨îÅX°Êµ{¦¡±N®É¶¡ÂW°Oª½Äæµø¬°¤@­Ó CHAR(26) ª½Äæ¡A¦b¥¦¬O¤@­Ó°ß¤@ ¯Á¤Þªº¤@³¡¥÷®É¡CMicrosoft À³¥Îµ{¦¡·|»Ý­n¥Î¨ì¡C 262144 - ³o·|±j¨îÅX°Êµ{¦¡¨Ï¥Î pseudo-catalog ªí®æ db2cli.procedures¡A¦Ó«D SYSCAT.PROCEDURES ¤Î SYSCAT.PROCPARMS ªí®æ¡C 524288 - ³o·|±j¨îÅX°Êµ{¦¡¨Ï¥Î SYSTEM_TABLE_SCHEMA¡A¦Ó«D TABLE_SCHEMA¡A ¦b¹ï DB2/400 V3.x ¨t²Î§@¨t²Î¬d¸ß®É¡C³o¼Ë¥i´£ª@®Ä¯à¡C 1048576 - ³o·|±j¨îÅX°Êµ{¦¡³z¹L SQLPutData() ±N¹sªø«×ªº¦r¦êµø¬° SQL_NULL_DATA¡C PATCH2 ÃöÁä¦r¤£¦P©ó PATCH1 ÃöÁä¦r¡C ¦b³oºØ±¡ªp¤¤¡A±N¨Ï¥Î³rÂI¤À¹j¦r¤¸¨Ó«ü©w ¦h­Ó­×¸Éµ{¦¡¡C ¨Ò¦p¡A¦pªG«ü©w¤F­×¸Éµ{¦¡ 1¡B4 ¤Î 5¡A«h PATCH2 ±N¨ã¦³­È "1,4,5"¡C ¤U¦C¬OÅX°Êµ{¦¡¤W¨C¤@ÃöÁä¦r­È¤Î¨ä®ÄªGªº»¡©ú¡G 1 - ³o·|±j¨îÅX°Êµ{¦¡±N CALL ³¯­z¦¡¤¤ªºÀx¦sµ{§Ç¦WºÙÂà´«¬°¤j¼g¦rÅé¡C 2 - ¤£¨Ï¥Î¡C 3 - ³o·|±j¨îÅX°Êµ{¦¡±Nºõ¥Ø©I¥sªº©Ò¦³¤Þ¼ÆÂà´«¬°¤j¼g¦rÅé¡C 4 - ³o·|±j¨îÅX°Êµ{¦¡¹ï©óºõ¥Ø©I¥s (¤]´N¬O SQLColumns()¡BSQLProcedureColumns() µ¥µ¥) ¶Ç¦^Ãþ¦üª©¥» 2.1.2 ªºµ²ªG¶°¡A¦Ó«DÃþ¦üª©¥» 5 ªºµ²ªG¶°¡C 5 - ³o·|±j¨îÅX°Êµ{¦¡¤£­n³Ì¨Î¤Æ¿é¤J VARCHAR ª½Ä檺³B²z¡A«ü¦V¸ê®Æªº«ü¼Ð©M«ü¦Vªø«×ªº «ü¼Ð¦b°O¾ÐÅ餤¬O³sÄòªº¡C 6 - ³o·|±j¨îÅX°Êµ{¦¡¶Ç¦^¤£¤ä´©¥i±²°Ê´å¼Ðªº°T®§¡CVisual Basic µ{¦¡·|»Ý­n¥Î¨ì¡A¦pªG DB2 ±qÄݯ¸¬Oª©¥» 5¡A¥B¦øªA¾¹¬O DB2 UDB ª©¥» 5¡C 7 - ³o·|±j¨îÅX°Êµ{¦¡±N©Ò¦³ GRAPHIC ª½Äæ¸ê®ÆÃþ«¬¹ï¬M¨ì CHAR ª½Äæ¸ê®ÆÃþ«¬¡C¦bÂù¦ì¤¸²ÕÀô¹Ò¤¤»Ý­n³oºØ®ÄªG¡C 8 - ³o·|±j¨îÅX°Êµ{¦¡©¿²¤ºõ¥Ø©I¥s¤¤ªº¥Ø¿ý·j´M¤Þ¼Æ¡C 9 - ´å¼Ð´£¦­Ãö³¬®É¤£­n COMMIT 10 - ¤£¨Ï¥Î 11 - ³ø§i¤ä´©¥Ø¿ý¦WºÙ, (VB Àx¦sµ{§Ç) 12 - ±qºõ¥Ø©I¥s¤Þ¼Æ°£¥hÂù¤Þ¸¹, (Visual Interdev) 13 - ½Ð¤Å±N db2cli.ini ªºÃöÁä¦r²K¥[¨ì¿é¥X³s±µ¦r¦ê 14 - ©¿²¤ SQLProcedures() ¤Î SQLProcedureColumns() ¤Wªººõ¥Ø¦WºÙ 15 - ¨Ï¥Î¥yÂI¥Nªí¦r¤¸¿é¥X¤¤ªº¤p¼ÆÂI²Å¸¹ 16 - ±j­¢¶Ç¦^¨C¤@¶}±Òªº»¡©ú¸ê°T 17 - ½Ð¤Å¦b»¡©ú¤W¶Ç¦^ª½Äæ¦WºÙ 18 - ¹Á¸Õ¥H°Ñ¼Æ°O¸¹¨ú¥N¤å¦r 19 - ¥Ø«e¡ADB2 MVS V4.1 ¤£¤ä´© ODBC »yªk¡A¦]¬°¥¦®e³\¦b¥~³¡µ²¦X¤l¥y¤¤ªº ON ¤l¥y¥i¦³¬A©·¡C ¶}±Ò³o­Ó PATCH2 ·|¾É­P IBM DB2 ODBC ÅX°Êµ{¦¡¦b¥~³¡µ²¦X¤l¥y¦b ODBC ESC §Ç¦C¤¤®É±N³s¦r¸¹°£¥h¡C³o­Ó PATCH2 ¥u¦³¦b¤£§Q©ó DB2 MVS 4.1 ®É¤~¨Ï¥Î¡C 20 - ¥Ø«e¡AMVS ¤Wªº DB2 ¤£¤ä´©°Ñ¼Æ°O¸¹¬°¨â­Ó¹Bºâ¤¸ (expression ? BETWEEN ?) ªº BETWEEN ­zµü¡C¶}±Ò³o­Ó­×¸Éµ{¦¡·|¾É­P IBM ODBC ÅX°Êµ{¦¡±N­zµüÂмg¬° (expression >= ? and expression <= ?)¡C 21 - ±NÀx¦sµ{§Çªº©Ò¦³¶È OUTPUT °Ñ¼Æ³]©w¬° SQL_NULL_DATA 22 - ³o­Ó PATCH2 ·|¾É­P IBM ODBC ÅX°Êµ{¦¡³ø§i¤£¤ä´©¥~³¡µ²¦X (OUTER Join)¡C ³o¾A¥Î©ó¦b¨Ï¥Î¥~³¡µ²¦X®É³¯­z¦¡®É·|²£¥Í SELECT DISTINCT col1 ©Î ORDER BY col1 ªºÀ³¥Îµ{¦¡¡A¨ä¤¤ col1 ªºªø«×¤j©ó 254 ­Ó¦r¤¸¡A¥B³y¦¨ DB2 UDB ¶Ç¦^¿ù»~ (¦]¬° DB2 UDB ¦b¦¹¥Îªk¤W¤£¤ä´©¤j©ó 254 ­Ó¦ì¤¸²Õªºª½Äæ 23 - ½Ð¤Å³Ì¨Î¤Æ³z¹L cbColDef=0 µ²¦Xªº°Ñ¼Æ¤§¿é¤J 24 - ¦s¨ú¹ï¬M®É¶¡ªº¹ê¨Ò¬°¦r¤¸ 25 - ¦s¨ú¤p¼Æª½Ä檺¹ê¨Ò - °£¥h¦r¤¸³¯­z§ÀºÝªº¹s 26 - ¤£±N SQL µ{¦¡ 464 ¶Ç¦^µ¹À³¥Îµ{¦¡ - ªí¥Ü¤w¶Ç¦^µ²ªG¶° 27 - ­¢¨Ï SQLTables ¨Ï¥Î TABLETYPE ÃöÁä¦r­È¡A§Y¨ÏÀ³¥Îµ{¦¡«ü©w¤F¤@­Ó¦³®Ä­È 28 - »¡©ú¹ê»Úªºª½Ä欰Âù­¿ª½Äæ 29 - ¤p¼Æª½Ä檺 ADO ¹ê¨Ò - °£¥h x ­Èªº«e¾É¹s¡A¨ä¤¤ x ¬° 1 > x > -1¡]¬Y¨Ç MDAC ª©¥»»Ý­n¦¹®ÄªG¡^ 30 - §Ö¨ú³Ì¨Î¤Æ®É¡A°±¤î¨Ï¥ÎÀx¦sµ{§Ç 31 - ¦^³ø SQLStatistics ©I¥s§O¦Wªº²Î­p­È 32 - ¸m´« SQL µ{¦¡ -727 ­ì¦]½X 4 ³B²zµ{§Ç 33 - ¦bÂà´«¦¨¦r¤¸®É¡A¶Ç¦^®É¶¡ÂW°Oªº ISO ª©¥» (¬Û¹ï©ó ODBC ª©¥») 34 - ¥H CHAR ¦WºÙ¨Ó¦^³ø CHAR FOR BIT DATA ª½Äæ 35 - SQL_DESC_BASE_TABLE_NAMER ³Q­n¨D¤U¦^³ø¤@­ÓµL®Äªºªí®æ¦WºÙ - ADO °ßŪ³Ì¨Î¤Æ 36 - «O¯d 37 - «O¯d ------------------------------------------------------------------------ ¤@¯ë¸ê°T ³¡¥÷¥Ø¿ý * ¤@¯ë¸ê°T o 42.1 DB2 Universal Database Business Intelligence §Ö³t¾ÉÄý o 42.2 DB2 Everywhere ¤w§ï¬° DB2 Everyplace o 42.3 ·Æ¹«»Ý¨D o 42.4 ¸Õ¹Ï±q DB2 Run-time Client ³sµ²¾É­P¡u§ä¤£¨ì³sµ²Àɮסv¿ù»~ o 42.5 Search ±´¯Á (Search Discovery) o 42.6 HP-UX 11 ªº°O¾ÐÅéµøµ¡ o 42.7 dlfm client_conf ¥¢®Ä®É¨Ï¥ÎªÌ¤§°Ê§@ o 42.8 «Ü¤Ö¨£ªº¨Æ¥ó¡G½Æ»s±`¾nµ{¦¡¦b dlfm °±¤î®É¨S¦³°±¤î o 42.9 ¸Ñ°£¦w¸Ë DB2 DFS ±qÄݯ¸±Ò°Êµ{¦¡ o 42.10 Windows NT ±qÄݯ¸¨­¤ÀÅçÃÒ o 42.11 ¦b«Ø¥ß¤lµ{§Ç®É AutoLoader ¥i¯à·|·í±¼ o 42.12 DATALINK ´_¸m o 42.13 Windows NT (CS/NT) ªº IBM Communications ¦øªA¾¹©w¸q¨Ï¥ÎªÌ ID ©M³q¦æ½X + 42.13.1 ¸`ÂI©w¸q o 42.14 Áp¦X¨t²Îªº­­¨î o 42.15 DataJoiner ­­¨î o 42.16 Windows NT ªº§Æ§B¨Ó¤å¸ê°T«¬¿ýºÞ²zµ{¦¡ o 42.17 Microsoft SNA Server ©M SNA ¦h¯¸§ó·s (¨â¶¥¬q½T©w) ¤ä´© o 42.18 ±Ò°Ê Windows ¤§«áµLªk±Ò°Ê DB2 ªº SNA SPM o 42.19 DB2 ºÞ²z¦øªA¾¹ªº»y¨¥Àô¹Ò³]©w o 42.20 ±¶®|µL®Ä o 42.21 Windows NT ¤Î Windows 2000 ¤Wªº DB2 ªA°È±b¤á»Ý¨D o 42.22 ¦bª©¥» 6 ¤¤«Ø¥ßªº Query Patroller ¨Ï¥ÎªÌ¥¢¥h¤F EXECUTE ±M¥Î Åv o 42.23 Query Patroller ­­¨î o 42.24 »Ý­n½T©w©Ò¦³·|¦b¸ê®Æ­ÜÀx¤¤¤ß(DWC)¤¤¨Ï¥Îªº¨Ï¥ÎªÌ©w¸qµ{¦¡ o 42.25 ¸ê®Æ­ÜÀx¤¤¤ß©R¥O¦æ¶×¥Xªº·s¿ï¶µ o 42.26 Backup Services APIs (XBSA) o 42.27 OS/390 ¥N²zµ{¦¡ + 42.27.1 ¦w¸Ë·§Æ[ + 42.27.2 ¦w¸Ë©ú²Ó + 42.27.3 ³]¸mÃB¥~ªº¥N²zµ{¦¡¨ç¼Æ + 42.27.4 ¥ÎIJµoµ{¦¡±Æµ{­ÜÀx¨BÆJ (XTClient) + 42.27.5 Âà´«µ{¦¡ + 42.27.6 ¦s¨ú DB2 ¨t¦C¤§¥~ªº¸ê®Æ®w + 42.27.7 °õ¦æ DB2 for OS/390 ¤½¥Îµ{¦¡ + 42.27.8 §Û¼g + 42.27.9 ¥N²zµ{¦¡°O¸ü o 42.28 Windows NT ¤Wªº±qÄݯ¸ºÝ§Ö¨ú o 42.29 Enterprise Edition UNIX CD-ROM ªº¸Õ¥Î²£«~ o 42.30 DB2 Connect Enterprise Edition UNIX CD-ROM ªº¸Õ¥Î²£«~ o 42.31 ±Ë±ó Data Links Manager o 42.32 ¨Ï¥Î SMIT ¸Ñ°£¦w¸Ë DLFM ¤¸¥ó¥i¯à·|°£¥hÃB¥~ªºÀɮ׶° o 42.33 ¦b Windows 2000 ¤W¨Ï¥Î CLP ®Éµo¥Í¿ù»~ SQL1035N o 42.34 SQL »²§Uµ{¦¡ªº¥[±j¥\¯à o 42.35 Linux ¤Wªº DB2 ªº Gnome ©M KDE ®à­±¾ã¦X o 42.36 ¦b Windows 2000 Terminal Server ºÞ²z¼Ò¦¡¤U°õ¦æ DB2 o 42.37 ³Æ¥÷»P´_¸m«ü¥Oªº½u¤W»¡©ú o 42.38 "Warehouse Manager" À³¬° "DB2 Warehouse Manager" ------------------------------------------------------------------------ ¤@¯ë¸ê°T ------------------------------------------------------------------------ 42.1 DB2 Universal Database Business Intelligence §Ö³t¾ÉÄý ¡u§Ö³t¾ÉÄý¡v¤£¾A¥Î©ó DB2 for Linux ©Î Linux/390¡C ¥H¤pªº¨t²Î¦r«¬°õ¦æ¡u§Ö³t¾ÉÄý¡v¡A¥iÀò±o³Ì¨Î®ÄªG¡C±z¥i¯à»Ý­n½Õ¾ã Web ÂsÄý¾¹ªº ¦r«¬¤j¤p¡A ¥H¥¿½T¦a¦b OS/2 ¤WÀ˵ø¡u§Ö³t¾ÉÄý¡v¡C½Ð°Ñ·Ó Web ÂsÄý¾¹ªº»¡©ú¡A¥H ¨ú±o½Õ¾ã¦r«¬¤j¤pªº¸ê°T¡C ­Y­n¥¿½T¦aÀ˵ø¡u§Ö³t¾ÉÄý¡v(¶È¾A¥Î©ó SBCS)¡A«Øij±z ¨Ï¥Î 8 ÂIªº Helv ¦r«¬¡C°w¹ï¤é¥»¤ÎÁú°ê«È¤á¡A«Øij±z¨Ï¥Î 8 ÂIªº Mincho ¦r«¬¡C ³]©w¦r«¬ªº³ß¦n³]©w®É¡A½Ð½T©w¿ï¨ú¡u³ß¦n³]©w¡vµøµ¡¡u¦r«¬¡v­¶ªº¡u¨Ï¥Î¹w³]¦r «¬¡A¸m´«¤å¥ó«ü©wªº¦r«¬¡v¿ï¶µ¡C ¦b¬Y¨Ç¨Ò¤l¸Ì¡A¥i¯à·|¦b²Ä¤G­ÓÂsÄý¾¹µøµ¡«á­±±Ò°Ê¡u§Ö³t¾ÉÄý¡v¡C ­Y­n§ó¥¿³o­Ó°Ý ÃD¡A½ÐÃö³¬¡u§Ö³t¾ÉÄý¡v¡A¨Ã¿í´` 2.4, ±Ò°Ê Netscape ®É²£¥Íªº¿ù»~°T®§ ¸Ìªº¨B ÆJ¡C ±Ò°Ê¡u§Ö³t¾ÉÄý¡v®É¡A±z¥i¯à·|±µ¦¬¨ìÃþ¦ü¤U¦C¨â¦æªº JavaScript ¿ù»~¡G file:/C/Program Files/SQLLIB/doc/html/db2qt/index4e.htm¡A65 ¦æ¡G µøµ¡¥¼©w¸q¡C ³o­Ó JavaScript ¿ù»~·|ªý¤î¡u§Ö³t¾ÉÄý¡v±Ò°Ê­¶ index4e.htm¡A ¦b±Ò°Ê¡u§Ö³t¾É Äý¡v«á¦Û°ÊÃö³¬¡C¥iÂÇ¥ÑÃö³¬Åã¥Ü index4e.htm ªºÂsÄý¾¹µøµ¡¨ÓÃö³¬¡u§Ö³t¾ÉÄý¡v±Ò °Ê­¶¡C ¦b¡u·s¯S©Ê¤¶²Ð¡v°Ï¬q¡A¡u¸ê®ÆºÞ²z¡v¥DÃDªº¤U¤è´£¨ì ¦b 7.1 ª©¤¤¤ä´©¡u§Y®É¤é»x «O¦s¤ä´©¡v¡C¨Æ¹ê¤W¨Ã¤£¬O³o¼Ë¡C¨ä¤¤¤]´£¨ì¡G ¤é»xÀɪº¤j¤p±q 4GB ¼W¥[¨ì 32GB¡C ¥y¤lÀ³§ï¬°¡G ¥þ³¡ªº²{¦æ¤é»xªÅ¶¡¤w±q 4GB ¼W¥[¨ì 32GB¡C »¡©ú DB2 Data Links Manager ªº°Ï¬q¤¤¦³¤@­Ó¥y¤l¦p¤U¡G ¦Ó¥B¡A¥i¤ä´© Veritas XBSA ¤¶­±ªº¨Ï¥Î¡A ¥H«K¨Ï¥Î NetBackup §@³Æ¥÷¤Î´_¸m¡C ¥y¤lÀ³§ï¬°¡G ¦Ó¥B¡A¥i¤ä´© XBSA ¤¶­±¨Ó°µÀÉ®×ÂkÀɤΦ^´_¡C Àx¦sÅéºÞ²zµ{¦¡¤ä´©ªº XBSA ¤¶­±¥]§t Legato NetWorker ¤Î Veritas NetBackup¡C ------------------------------------------------------------------------ 42.2 DB2 Everywhere ¤w§ï¬° DB2 Everyplace DB2 Everywhere ªº¦WºÙ²{¦b¤w§ï¬° DB2 Everyplace¡C ------------------------------------------------------------------------ 42.3 ·Æ¹«»Ý¨D °£¤Fµøµ¡¤§¥~¡A©Ò¦³ªº¥­¥x³£»Ý­n·Æ¹«¨Ó¨Ï¥Î¨ä¤¤ªº¤u¨ã¡C ------------------------------------------------------------------------ 42.4 ¸Õ¹Ï±q DB2 Run-time Client ³sµ²¾É­P¡u§ä¤£¨ì³sµ²Àɮסv¿ù»~ ¦]¬° DB2 Run-time Client ¨S¦³¾ã²Õªº³sµ²ÀɮסA©Ò¥HµLªk§¹¦¨ GUI ¤u¨ãªº³sµ²¡A ¥u¥i¥H±q DB2 Administration Client §¹¦¨ GUI ¤u¨ãªº³sµ²¡C ------------------------------------------------------------------------ 42.5 Search ±´¯Á (Search Discovery) Search ±´¯Á¥u¤ä´©¼s¼½´CÅé¡C¨Ò¦p¡ASearch ±´¯Á±NµLªk³z¹L ATM °t±µ¥d¨Ó§@¥Î¡C¦ý ¬O¡A¦¹¶µ­­¨î¨Ã¤£¾A¥Î©ó Known ±´¯Á¡C ------------------------------------------------------------------------ 42.6 HP-UX 11 ªº°O¾ÐÅéµøµ¡ °O¾ÐÅéµøµ¡¬O¨Ñ¤j«¬ HP 64 ¦ì¤¸¾÷¾¹ªº¨Ï¥ÎªÌ©Ò¥Î¡A ¦]¥L­Ì·Q­n§Q¥Î 32 ¦ì¤¸À³¥Î µ{¦¡¶W¹L 1.75GB ªº¦@¥Î°O¾ÐÅé¡C ¦pªG±z¬O°õ¦æ 64 ¦ì¤¸ª©¥»ªº DB2¡A´N¤£»Ý­n°O¾Ð Åéµøµ¡¡C °O¾ÐÅéµøµ¡¥i¨Ï¨C¤@µ{§Ç©Îµ{§Ç¸s²Õ¦U¦³¤@­Ó 1 GB ªº¦@¥Î°O¾ÐÅé¥i¥Î¡C ³o±N®e³\®×¨Ò¨ã¦³¦Û¤vªº 1GB ¦@¥Î°O¾ÐÅé¡A¦A¥[¤W 0.75GB ªº¼s°ì¦@¥Î°O¾ÐÅé¡C ¦p ªG¨Ï¥ÎªÌ·Q­nµ½¥Î³o­ÓÀuÂI¡A¥L­Ì¥i¥H°õ¦æ¦h­Ó®×¨Ò¡A¨C¤@®×¨Ò§¡¦b¦Û¤vªºµøµ¡¤¤°õ ¦æ¡C ¤U¦C¬O¨Ï¥Î°O¾ÐÅéµøµ¡ªº¥ý¨M±ø¥ó¡G * DB2 EE Àô¹Ò o ­×¸Éµ{¦¡¡GExtension Software 12/98 ¤Î PHKL_17795¡C o ¥²¶·¹ï®×¨Ò³]©w $DB2INSTANCE ÅܼơC o ±z¦b°O¾ÐÅéµøµ¡¤U°õ¦æªº¨C¤@­Ó DB2 ®×¨Ò¡A¦b /etc/services.window ÀÉ ®×¤¤³£¦³µn¿ý¡C¨Ò¦p¡G db2instance1 50 db2instance2 60 ³Æµù¡G¦WºÙ¤Î ID ¤§¶¡¶È¯à¦³¤@­ÓªÅ®æ¡C o ±z¥²¶·¨Ï¥Î TCP/IP °j¸ô¤èªk¡A°õ¦æ¥ô¦ó±z­n¦b¦øªA¾¹¤W°õ¦æ¥B»Ý­n¦h­Ó ³æ¤@³¯­z¦¡ªº DB2 «ü¥O¡C ³o¬O¦]¬°·í°O¾ÐÅéµøµ¡§¹¦¨²Ä¤@­Ó³¯­z¦¡ªºµ{ §Ç®É¡Ashell ±N²×¤î°õ¦æ¡C¡uDB2 ªA°Èµ{¦¡¡vª¾¹D¦p¦ó§¹¦¨¦¹¶µ§@·~¡C o ¥ô¦ó­n¦b°O¾ÐÅéµøµ¡¤U©Ò°õ¦æªº®×¨Ò¤º°õ¦æ DB2 «ü¥O¡A¥²¶·¥H db2win (¦ì¦b sqllib/bin ¤¤) §@¬°¦r­º¡C¨Ò¦p¡G db2win db2start db2win db2stop o °O¾ÐÅéµøµ¡¥~°õ¦æªº¥ô¦ó DB2 «ü¥O (¦ý°O¾ÐÅéµøµ¡¥¿¦b°õ¦æ®É) À³¸Ó¶Ç¦^ 1042¡C ¨Ò¦p¡G db2win db2start <== OK db2 connect to db <==SQL1042 db2stop <==SQL1042 db2win db2stop <== OK * DB2 EEE Àô¹Ò o ­×¸Éµ{¦¡¡GExtension Software 12/98 ¤Î PHKL_17795¡C o ¥²¶·¹ï®×¨Ò³]©w $DB2INSTANCE ÅܼơC o DB2_ENABLE_MEM_WINDOWS µn¿ýÅܼƥ²¶·³]©w¬° TRUE¡C o ±z¦b°O¾ÐÅéµøµ¡¤U©Ò°õ¦æªº¨C¤@­Ó®×¨Òªº¨C¤@­ÓÅÞ¿è¸`ÂI¡A¦b /etc/services.window Àɮפ¤³£¦³µn¿ý¡C ¨C¤@­Óµn¿ýªº²Ä¤@Äæ±N¦¨¬°»P °ð¸¹³s±µªº®×¨Ò¦WºÙ¡C¨Ò¦p¡G === $HOME/sqllib/db2nodes.cfg for db2instance1 === 5 host1 0 7 host1 1 9 host2 0 === $HOME/sqllib/db2nodes.cfg for db2instance2 === 1 host1 0 2 host2 0 3 host2 1 === /etc/services.window on host1 === db2instance10 50 db2instance11 55 db2instance20 60 === /etc/services.window on host2 === db2instance10 30 db2instance20 32 db2instance21 34 o ±z¤£¯à¥Î db2win §@ DB2 «ü¥Oªº¶}ÀY¡A¥¦¥u¾A¥Î¦b EE Àô¹Ò¤U¡C ------------------------------------------------------------------------ 42.7 dlfm client_conf ¥¢®Ä®É¨Ï¥ÎªÌ¤§°Ê§@ ¦b DLFM ±qÄݯ¸¤¤¡A¦pªG dlfm client_conf ¦]¬°¬Y¨Ç²z¥Ñ¦Ó¥¢±Ñ¡A DB2 «¬¿ý¤¤ªº "stale" ¶µ¥Ø©Î³\¬O¦]¯À¤§¤@¡C¸Ñ¨M¤è®×¬°µo¥X¤U¦C«ü¥O¡G db2 uncatalog db db2 uncatalog node db2 terminate µM«á¡A¦A¹Á¸Õ dlfm client_conf¡C ------------------------------------------------------------------------ 42.8 «Ü¤Ö¨£ªº¨Æ¥ó¡G½Æ»s±`¾nµ{¦¡¦b dlfm °±¤î®É¨S¦³°±¤î ³oºØ±¡ªp«Ü¤Öµo¥Í¡C·í¨Ï¥ÎªÌµo¥X dlfm stop «ü¥O©Î¤£¥¿±`Ãö¾÷®É¡A dlfm_copyd (copy ±`¾nµ{¦¡) ¨S¦³°±¤î¡C ¦pªGµo¥Í³oºØ±¡ªp¡A¦b¹Á¸Õ­«·s±Ò°Ê dlfm ¤§«e¡Aµo¥X dlfm shutdown «ü¥O¡C ------------------------------------------------------------------------ 42.9 ¸Ñ°£¦w¸Ë DB2 DFS ±qÄݯ¸±Ò°Êµ{¦¡ ¸Ñ°£¦w¸Ë DB2 DFS ±qÄݯ¸±Ò°Êµ{¦¡¤§«e¡Aroot À³¸Ó½T©w DFS Àɮפ£¦b¨Ï¥Î¤¤¡A ¦Ó ¥B¨S¦³¨Ï¥ÎªÌ¦b DFS ÀɮתŶ¡¶}±Ò Shell¡C ¥H root ¨­¤Àµo¥X¤U¦C«ü¥O¡G stop.dfs dfs_cl Àˬd /... ¤£¦A³Q¸Ë¸ü¡G mount | grep -i dfs ¦pªG¨S¦³³o¼Ë°µ¡ADB2 DFS ±qÄݯ¸±Ò°Êµ{¦¡¸Ñ°£¦w¸Ë®É¡A¸Ó¾÷¾¹»Ý­n­«·s±Ò°Ê¡C ------------------------------------------------------------------------ 42.10 Windows NT ±qÄݯ¸¨­¤ÀÅçÃÒ Windows NT ªºÀô¹Ò¤U¡A·sªº DB2 µn¿ýÅÜ¼Æ DB2DOMAINLIST »P²{¦sªº±qÄݯ¸¨­¤ÀÅçÃÒ ¾÷¨î¬Ûµ²¦X¡CWindows NT ¦øªA¾¹ªº DB2 ¥i¨Ï¥Î¦¹ÅܼƩw¸q¤@­Ó©Î¦h­Ó Windows NT ºô°ì¡C¥u¦³©w¸q©ó¦¹¦C¥Ü¤¤ªººô°ì¨Ï¥ÎªÌªº³s½u©Î³s±µ­n¨D¤~·|³Q±µ¨ü¡C ¥u¦³¦b³æ¯Âªº Windows NT ºô°ìÀô¹Ò¤U°õ¦æ DB2 ¦øªA¾¹©M±qÄݯ¸ª©¥» 7 ªº±¡ªp¤U¡A ¤~¥i¨Ï¥Î¦¹µn¿ýÅܼơC ¦³Ãö¦¹µn¿ýÅܼƪº³]©w¡A½Ð°Ñ¦Ò Administration Guide: Performance ¤ºªº¡uDB2 Registry and Environment Variables¡v³¡¥÷¡C ------------------------------------------------------------------------ 42.11 ¦b«Ø¥ß¤lµ{§Ç®É AutoLoader ¥i¯à·|·í±¼ AIX 4.3.3 ¥]§t¤F¤@­Ó­×¥¿µ{¦¡¡A¥Î¥H¸Ñ¨M¦b«Ø¥ß¤lµ{§Ç®É¥i¯à¾É­P AutoLoader ¤¤ Â_ªº libc °ÝÃD¡CAutoLoader ¬O¤@­Ó¦h­«°õ¦æºüªºµ{¦¡¡C¨ä¤¤ªº¤@­Ó°õ¦æºü·|°_©l¥t ¤@­Óµ{§Ç¡C°_©l¤@­Ó¤lµ{§Ç¡A·|³y¦¨¥À¶µªº°O¾ÐÅé¼v¹³«Ø¥ß¦b¤l¶µ¤¤¡C «Ü¥i¯à·|µo¥Í¡G¥Ñ libc.a ¥Î¨ÓºÞ²z¦h­«°õ¦æºü±q¬Û¦Pµ{§Ç¤¤¤§¸ê®Æ°ï°t¸m°O¾ÐÅ骺 Âê©w¡A ³Q«D°_©lªº (non-forking) °õ¦æºü©Ò«O¯d¡C¦]¬°«D°_©lªº°õ¦æºü¤£·|¦s¦b©ó ¤lµ{§Ç¡A ³o­ÓÂê©w±N¤£·|ÄÀ¥Xµ¹¤l¶µ¡A¦]¦Ó³y¦¨¦³®É¥À¶µ·|¤¤Â_¡C ------------------------------------------------------------------------ 42.12 DATALINK ´_¸m ¸ê®Æ®w´_¸m¤§«á©Ò¶i¦æªºÂ÷½u³Æ¥÷´_¸m¡AµL½×¦³©Î¨S¦³ ROLL-FORWARD¡A ³£¤£·|²o§è ¨ì§Ö³t¤@­P©Êªº³B²zµ{§Ç¡C¦¹±¡ªp¤U¡AÀÉ®×Ãìµ²±±¨î¶µ¤§¤U¦³ DATALINK ª½Ä檺©Ò¦³ ªí®æ±N³Q¸m©ó¸ê®ÆÃìµ²¤@­P©ÊÀÁ¸m (DRP) ª¬ºA¤U¡C ------------------------------------------------------------------------ 42.13 Windows NT (CS/NT) ªº IBM Communications ¦øªA¾¹©w¸q¨Ï¥ÎªÌ ID ©M³q¦æ½X ¦pªG±z¨Ï¥Î APPC §@¬°»·ºÝ DB2 ±qÄݯ¸»P DB2 ¦øªA¾¹³s±µ¤§³q°T¨ó©w¡A ¦P®É¡A±z§â CS/NT ·í¦¨ SNA ²£«~¨Ï¥Î¡A½Ð½T©w±z¤w¦b CS/NT ¬[ºcÀɤº¥¿½Tªº³]©w¤F¤U¦CÃöÁä ¦r¡C³q±`±z¥i¥H¦b x:\ibmcs\private ¥Ø¿ý¤U§ä¦b¸ÓÀÉ¡C 42.13.1 ¸`ÂI©w¸q TG_SECURITY_BEHAVIOR ¦¹°Ñ¼Æ®e³\¨Ï¥ÎªÌ¨M©w¡A¦pªG TP ¤£¬O¾÷±K«OÅ@ªº¬[ºc¡A¸`ÂI¬O¦p¦ó³B²z¥X²{¦b ATTACH ¤ºªº¦w¥þ¸ê°T¡C IGNORE_IF_NOT_DEFINED ¦¹°Ñ¼Æ®e³\¨Ï¥ÎªÌ¨M©w¬O§_Åý¾÷±K«OÅ@°Ñ¼Æ¥X²{¦b ATTACH ¤º¡A¦P®É¡A­Y TP ¤£ ¬O¾÷±K«OÅ@ªº¬[ºc®É¥i©¿²¤¥¦­Ì¡C ­Y±z¨Ï¥Î IGNORE_IF_NOT_DEFINED¡A«hµL¶·©ó CS/NT ©w¸q¨Ï¥ÎªÌ ID ©M³q¦æ ½X¡C VERIFY_EVEN_IF_NOT_DEFINED ¦¹°Ñ¼Æ®e³\¨Ï¥ÎªÌ¨M©w¬O§_Åý¾÷±K«OÅ@°Ñ¼Æ¥X²{¦b ATTACH ¤º¡A ¨ÃÅçÃÒ¥¦­Ì¡A §Y¨Ï TP ¥¼¬[ºc¬°¾÷±K«OÅ@¡C³o¬O¹w³]­È¡C ­Y±z¨Ï¥Î VERIFY_EVEN_IF_NOT_DEFINED¡A«h¥²¶·©ó CS/NT ¤º©w¸q¨Ï¥ÎªÌ ID ©M ³q¦æ½X¡C ±ý©w¸q CS/NT ¨Ï¥ÎªÌ ID ©M³q¦æ½X¡A½Ð°õ¦æ¤U¦C¨BÆJ¡G 1. ¶}©l --> µ{¦¡¶° --> IBM Communications Server --> SNA Node Configuration¡C §Y¶}±Ò¡uÅwªï¨Ï¥Î Communications Server ¬[ºcµøµ¡¡v¡C 2. ¿ï¾Ü±z­n­×§ïªº¬[ºcÀÉ¡C«ö¤@¤U¡u¤U¤@¨B¡v¡C©Ò¿ï¾Üªº¬[ºc¹ê°È½d¨Òµøµ¡¶}±Ò¡C 3. ±j½ÕÅã¥Ü CPI-C, APPC ©Î 5250 ¼ÒÀÀµ{¦¡¡C«ö¤@¤U¡u§¹¦¨¡v¡C§Y¥i¶}±Ò Communications Server SNA ¸`ÂIµøµ¡¡C 4. «ö¤@¤U CPI-C ©M APPC ®ÇÃ䪺 [+] ¸¹¡C 5. «ö¤@¤U LU6.2 ¾÷±K«OÅ@®ÇÃ䪺 [+] ¸¹¡C 6. ¥kÃä«ö¤@¤U¨Ï¥ÎªÌ³q¦æ½X¡A¨Ã¿ï¨ú«Ø¥ß¡C©w¸q¨Ï¥ÎªÌ ID ³q¦æ½Xªºµøµ¡¶}±Ò¡C 7. ¶ñ¼g¨Ï¥ÎªÌ ID ©M³q¦æ½X¡C«ö¤@¤U½T©w¡C «ö¤@¤U§¹¦¨¥H±µ¨üÅܧó¡C ------------------------------------------------------------------------ 42.14 Áp¦X¨t²Îªº­­¨î ¤U¦C¬O¾A¥Î©óÁp¦X¨t²Îªº­­¨î¡G * ¥]§t¼Ê¦Wªº¬d¸ß¤£¤ä´© Oracle ¸ê®ÆÃþ«¬ NCHAR¡BNVARCHAR2¡BNCLOB ¤Î BFILE¡C * ¡u±±¨î¤¤¤ß¡v¤£¤ä´©¡u«Ø¥ß¦øªA¾¹¿ï¶µ¡v¡B¡uÅܧó¦øªA¾¹¿ï¶µ¡v¤Î¡u±Ë±ó¦øªA¾¹ ¿ï¶µ¡v«ü¥O¡C­Y­nµo¥X¥H¤W¥ô¤@«ü¥O¡A¥²¶·¨Ï¥Î©R¥O¦æ³B²z¾¹ (CLP)¡C * °w¹ï¥]§t¼Ê¦Wªº¬d¸ß¡ADB2 UDB ¤£¬O¥Ã»·¿í·Ó DFT_SQLMATHWARN ¸ê®Æ®wªº¬[ºc ¿ï¶µ¡C¤Ï¤§¡ADB2 UDB ª½±µ±q»·ºÝ¸ê®Æ¨Ó·½¶Ç¦^¹Bºâªí¥Ü¦¡¿ù»~©Îĵ§i¡A¦Ó©¿²¤ DFT_SQLMATHWARN ³]©w¡C * CREATE SERVER OPTION ³¯­z¦¡¤£®e³\ COLSEQ ¦øªA¾¹¿ï¶µ³]©w¬° 'I' (°w¹ï¨ã ¦³¤£°Ï¤À¤j¤p¼g¹ï·Ó¶¶§Çªº¸ê®Æ¨Ó·½)¡C * «ü©wµL®Äªº¿ï¶µ®É¡A±N¶Ç¦^ ALTER NICKNAME ³¯­z¦¡¡C * °w¹ï Oracle¡BMicrosoft SQL Server ¤Î Sybase ¸ê®Æ¨Ó·½¡A¼Æ­È¸ê®ÆÃþ«¬µLªk ¹ï¬M¨ì DB2 ªº BIGINT ¸ê®ÆÃþ«¬¡C ¨Ì¹w³]­È¡AOracle ªº¼Æ¦r (p,s) ¸ê®ÆÃþ«¬ (10 <= p <= 18 ¦Ó s = 0) ·|¹ï¬M¨ì DB2 ªº DECIMAL ¸ê®ÆÃþ«¬¡C ------------------------------------------------------------------------ 42.15 DataJoiner ­­¨î Áp¦XÀô¹Ò¤ºµo¥Xªº¤À´²¦¡­n¨D·|¨ü­­¬°°ßŪ§@·~¡C ------------------------------------------------------------------------ 42.16 Windows NT ªº§Æ§B¨Ó¤å¸ê°T«¬¿ýºÞ²zµ{¦¡ ¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¤¸¥ó¥i¾A¥Î©ó§Æ§B¨Ó¤å¡A ¨Ã¥B¦b DB2 Warehouse Manager for Windows NT CD ¤W´£¨Ñ¡C §Æ§B¨Ó¤åªºÂ½Ä¶´£¨Ñ©ó IL_ICM.ZIP ³o­ÓÀ£ÁYÀɤ¤¡A ¦ì©ó DB2 Warehouse Manager for Windows NT CD ªº DB2\IL ¥Ø¿ý¸Ì¡C ­Y­n¦w¸Ë§Æ§B¨Ó¤å½Ķªº¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¡A ½Ð¥ý¦w¸Ë­^¤åª©ªº DB2 Warehouse Manager for Windows NT¡A ¥H¤Î Windows NT §Æ§B¨Ó¤åª©ªº©Ò¦³¥ý¨M±ø¥ó¡C ¦w¸Ë DB2 Warehouse Manager for Windows NT ¤§«á¡A ±q DB2\IL ¥Ø¿ý±N IL_ICM.ZIP Àɮ׸ÑÀ£ÁY¨ì¦w¸Ë DB2 Warehouse Manager for Windows NT ªº¥Ø¿ý¤W¡C ½Ð½T©w¸ÑÀ£ÁYµ{¦¡¤w¿ï¾Ü¥¿½Tªº¿ï¶µ¡A¥H¦bÀ£ÁYÀɮ׸̫إߥؿýµ²ºc¡C Àɮ׸ÑÀ£ÁY«á¡A¥þ°ìÀô¹ÒÅÜ¼Æ LC_ALL ¥²¶·±q En_US ÅÜ§ó¬° Iw_IL¡C ­Y­nÅܧó³] ©w¡G 1. ¶}±Ò Windows NT ±±¨î¥x¡A¨Ã¦b¨t²Î¹Ï¥Ü¤W«ö¨â¤U¡C 2. ¦b¨t²Î¤º®eµøµ¡¡A«ö¤@¤UÀô¹Ò¼ÐÅÒ¡A µM«á´M§ä¨t²ÎÅܼưϬq¤¤ªº LC_ALL ÅÜ ¼Æ¡C 3. «ö¤@¤UÅܼơA¥HÅã¥Ü¼Æ­È½s¿è¤è®Ø¸Ìªº­È¡C±N­È±q En_US ÅÜ§ó¬° Iw_IL¡C 4. «ö¤@¤U³]©w«ö¶s¡C 5. Ãö³¬¨t²Î¤º®eµøµ¡¤Î±±¨î¥x¡C ²{¦b¤w¦w¸Ë§Æ§B¨Ó¤åª©ªº¡u¸ê°T«¬¿ýºÞ²zµ{¦¡¡v¡C ------------------------------------------------------------------------ 42.17 Microsoft SNA Server ©M SNA ¦h¯¸§ó·s (¨â¶¥¬q½T©w) ¤ä´© ·í Microsoft SNA Server ¬O¨Ï¥Î¤¤ªº SNA ²£«~®É¡A ¥D¹q¸£©M AS/400 À³¥Îµ{¦¡µL ªk¦s¨ú¨Ï¥Î SNA ¨â¶¥¬q½T©wªº DB2 UDB ¦øªA¾¹¡C¥ô¦óªí¥Ü¤ä´©¥H¤W¥\¯àªº DB2 UDB ¥Xª©«~³£¬O¤£¥¿½Tªº¡C¥²¶·­n¦³ IBM Communications Server for Windows NT 5.02 ª©©Î¥H¤Wªºª©¥»¡C µù: ¨Ï¥Î DB2 UDB for Windows ¨Ó¦s¨ú¥D¹q¸£¤Î AS/400 ¸ê®Æ®w¦øªA¾¹ªºÀ³¥Îµ{¦¡ ¥i¥H¨Ï¥Î Microsoft SNA Server ª©¥» 4 Service Pack 3 ©Î¥H¤Wª©¥»¨Ó¨Ï¥Î SNA ¨â¶¥¬q½T©w¡C ------------------------------------------------------------------------ 42.18 ±Ò°Ê Windows ¤§«áµLªk±Ò°Ê DB2 ªº SNA SPM ­Y±z¨Ï¥Î Microsoft SNA Server ª©¥» 4 SP3 ©Î¥H¤Wªºª©¥»¡A ½ÐÅçÃÒ DB2 ªº SNA SPM ¥i¦b­«·s±Ò°Ê¤§«á¥¿±`±Ò°Ê¡CÀˬd \sqllib\<®×¨Ò¦WºÙ>\db2diag.log ÀɮסA ¥H ¨ú±oÃþ¦ü¤U¦C©Ò¥Üªº¶µ¥Ø¡G 2000-04-20-13.18.19.958000 Instance:DB2 Node:000 PID:291(db2syscs.exe) TID:316 Appid:none common_communication sqlccspmconnmgr_APPC_init Probe:19 SPM0453C ¦]¬° Microsoft SNA Server ¥¼±Ò°Ê¡A©Ò¥H¦P¨BÂIºÞ²zµ{¦¡¥¼±Ò°Ê¡C 2000-04-20-13.18.23.033000 Instance:DB2 Node:000 PID:291(db2syscs.exe) TID:302 Appid:none common_communication sqlccsna_start_listen Probe:14 DIA3001E ¥¼¦¨¥\±Ò°Ê "SNA SPM"¡C 2000-04-20-13.18.23.603000 Instance:DB2 Node:000 PID:291(db2syscs.exe) TID:316 Appid:none common_communication sqlccspmconnmgr_listener Probe:6 DIA3103E APPC ³q«H¨ó©w¤ä´©®Éµo¥Í¿ù»~¡CAPPC verb "APPC(DISPLAY 1 BYTE)". ¥D­n¶Ç¦^½X "F004"¡C¦¸­n¶Ç¦^½X "00000000"¡C ­Y db2diag.log Àɸ̦³³o¨Ç¶µ¥Ø¡A ¥B®É¶¡ÂW°O©M±z³Ìªñ­«·s±Ò°Êªº®É¶¡¬Û²Å¡A±z¥² ¶·¡G 1. ©I¥s db2stop¡C 2. ±Ò°Ê SnaServer ªA°Èµ{¦¡ (­Y©|¥¼±Ò°Ê)¡C 3. ©I¥s db2start¡C ¦A¦¸Àˬd db2diag.log ÀÉ¡A¥H½T©w¨S¦³¦A²K¥[¨ä¥L¶µ¥Ø¡C ------------------------------------------------------------------------ 42.19 DB2 ºÞ²z¦øªA¾¹ªº»y¨¥Àô¹Ò³]©w ½Ð½T©w DB2 ºÞ²z¦øªA¾¹®×¨Òªº»y¨¥Àô¹Ò¬Û®e©ó DB2 ®×¨Òªº»y¨¥Àô¹Ò¡C§_«h¡ADB2 ®× ¨ÒµLªk»P DB2 ºÞ²z¦øªA¾¹·¾³q¡C ­Y LANG Àô¹ÒÅܼƨS¦³¦b DB2 ºÞ²z¦øªA¾¹ªº¨Ï¥ÎªÌ³]©wÀɸ̳]©w¡A DB2 ºÞ²z¦øªA¾¹ ±N¥H¹w³]ªº¨t²Î»y¨¥Àô¹Ò±Ò°Ê¡C­Y¨S¦³©w¸q¹w³]ªº¨t²Î»y¨¥Àô¹Ò¡A DB2 ºÞ²z¦øªA¾¹±N ·|¥H¦r½X­¶ 819 ¨Ó±Ò°Ê¡C­Y DB2 ®×¨Ò¨Ï¥Î¬YºØ DBCS »y¨¥Àô¹Ò¡A¥B DB2 ºÞ²z¦øªA¾¹ ¬O¥H¦r½X­¶ 819 ¨Ó±Ò°Ê¡A «h®×¨Ò±NµLªk»P DB2 ºÞ²z¦øªA¾¹·¾³q¡CDB2 ºÞ²z¦øªA¾¹©M DB2 ®×¨Òªº»y¨¥Àô¹Ò¥²¶·¬Û®e¡C¨Ò¦p¡A¦b²Å餤¤å Linux ¨t²Î¤W¡A À³¸Ó¦b DB2 ºÞ²z ¦øªA¾¹ªº¨Ï¥ÎªÌ³]©wÀɸ̳]©w "LANG=zh_CN"¡C ------------------------------------------------------------------------ 42.20 ±¶®|µL®Ä ¦b¬Y¨Ç»y¨¥¸Ì¡A¹ï©ó UNIX ¨t²Î©M OS/2 ¤Wªº¡u±±¨î¤¤¤ß¡v¨Ó»¡¡A ¦³¨ÇÁä½L±¶®|µL ®Ä¡C½Ð¨Ï¥Î·Æ¹«¨Ó¿ï¨ú¿ï¶µ¡C ------------------------------------------------------------------------ 42.21 Windows NT ¤Î Windows 2000 ¤Wªº DB2 ªA°È±b¤á»Ý¨D ¦b DB2 for Windows NT ©Î Windows 2000 ªº¦w¸Ë´Á¶¡¡A¦w¸Ëµ{¦¡·|«Ø¥ß¼Æ­Ó Windows ªA°È¡A ¨Ã«ü©w¨C¤@­ÓªA°ÈªºªA°È±b¤á¡C­Y­n¾A·í¦a°õ¦æ DB2¡A¦w¸Ëµ{¦¡·|±Â »P¤U¦C¨Ï¥ÎªÌÅv§Qµ¹»P DB2 ªA°È¦³ÃöÁpªºªA°È±b¤á¡G * §@¬°§@·~¨t²Îªº¤@³¡¥÷ * «Ø¥ß token ª«¥ó * ¼W¥[°tÃB * ¥HªA°È¤è¦¡µn¤J * §ó´«µ{§Ç¼h token¡C ¦pªG±z­n¨Ï¥Î¤£¦PªºªA°È±b¤á¨Ñ DB2 ªA°È¨Ï¥Î¡A±z¥²¶·±N³o¨Ç¨Ï¥ÎªÌÅv§Q±Â»PªA°È±b ¤á¡C °£¤F³o¨Ç¨Ï¥ÎªÌÅv§Q¡AªA°È±b¤á¹ï©ó¦w¸Ë DB2 ²£«~ªº¥Ø¿ý¤]¥²¶·¦³¼g¤JªºÅv§Q¡C DB2 Administration Server ªA°È (DB2DAS00 ªA°È) ªºªA°È±b¤á¤]¥²¶·¾Ö¦³±Ò°Ê¤Î°± ¤î ¨ä¥¦ DB2 ªA°È (¤]´N¬O»¡¡AªA°È±b¤á¥²¶·ÁõÄÝ©ó Power Users ¸s²Õ) ªºÅv­­¡A¥H ¤Î¹ï©ó ¥ô¦ó¥¦©ÒºÞ²zªº DB2 ®×¨Ò¾Ö¦³ DB2 SYSADM Åv­­¡C ------------------------------------------------------------------------ 42.22 ¦bª©¥» 6 ¤¤«Ø¥ßªº Query Patroller ¨Ï¥ÎªÌ¥¢¥h¤F EXECUTE ±M¥ÎÅv ¦]¬°³¡¥÷·sªºÀx¦sµ{§Ç (IWM.DQPGROUP¡BIWM.DQPVALUR¡BIWM.DQPCALCT ¤Î IWM.DQPINJOB) ·s¼W¨ì Query Patroller ª©¥» 7 ¤¤¡AQuery Patroller ª©¥» 6 ¤¤ªº ²{¦s¨Ï¥ÎªÌ´N©ó¨º¨Ç ¸ê®Æ¥]¤£¦A«O¦³ EXECUTE ±M¥ÎÅv¡C ¥i¦Û°Ê§ó¥¿¦¹°ÝÃDªºÀ³¥Îµ{ ¦¡¤w·s¼W¨ì FixPak 1 ¤¤¤F¡C ·í±z¹Á¸Õ¨Ï¥Î DQP ¬d¸ßºÞ²z¨Ó­×§ï DQP ¨Ï¥ÎªÌ¸ê°T®É¡A½Ð¤£­n¸ÕµÛ±q¨Ï¥ÎªÌ²M³æ¤¤ ²¾°£ ²{¦³ªº¨Ï¥ÎªÌ¡C ------------------------------------------------------------------------ 42.23 Query Patroller ­­¨î ¦]¬° JVM (Java Virtual Machine) ¥­¥x­­¨î¡A¦b HP-UX ¤Î NUMA-Q ¤W¨Ã¤£¤ä´©¡u¬d ¸ß±Ò°Êµ{¦¡¡v¡C°£¦¹¤§¥~¡A¦b NUMA-Q ¤W¨Ã¤£¤ä´©¡uQuery Patroller °lÂܾ¹¡v¡C¦p ªG»Ý­n©Ò¦³ªº Query Patroller ±qÄݯ¸¤u¨ã¡A«Øij±z¨Ï¥Î¤£¦Pªº¥­¥x (¤ñ¦p Windows NT) ¨Ó¹ï HP-UX ©Î NUMA-Q ¦øªA¾¹°õ¦æ³o¨Ç¤u¨ã¡C ------------------------------------------------------------------------ 42.24 »Ý­n½T©w©Ò¦³·|¦b¸ê®Æ­ÜÀx¤¤¤ß(DWC)¤¤¨Ï¥Îªº¨Ï¥ÎªÌ©w¸qµ{¦¡ ¦pªG±z­n±N¡uDB2 Àx¦sµ{§Ç«Ø¸m¾¹¡v©Ò«Ø¥ßªºÀx¦sµ{§Ç·í§@¡u¸ê®Æ­ÜÀx¤¤¤ß(DWC)¡v¤¤ ªº ¨Ï¥ÎªÌ©w¸qµ{¦¡¨Ó¨Ï¥Î¡A±z¥²¶·´¡¤J¤U¦C³¯­z¦¡¨ìÀx¦sµ{§Ç con.close(); ³¯­z¦¡ «e­±¡G con.commit(); ¦pªG¨S¦³´¡¤J³o­Ó³¯­z¦¡¡AÀx¦sµ{§Ç©Ò°µªºÅܧó·|¦bÀx¦sµ{§Ç±q DWC °õ¦æ®É³Q Rollback¡C ¹ï©ó DWC ¤¤©Ò¦³ªº¨Ï¥ÎªÌ©w¸qµ{¦¡¡A¥²¶·­n©ú½T¦a COMMIT ¥ô¦ó¤º§tªº DB2 ¨ç¼Æ¡A ¥H¨ÏÅܧó¯à¦b¸ê®Æ®w¤¤¥Í®Ä¡F¤]´N¬O»¡¡A±z¥²¶·±N COMMIT ³¯­z¦¡ ¥[¨ì¨Ï¥ÎªÌ©w¸qµ{ ¦¡¤¤¡C ------------------------------------------------------------------------ 42.25 ¸ê®Æ­ÜÀx¤¤¤ß©R¥O¦æ¶×¥Xªº·s¿ï¶µ ©R¥O¦æ¶×¥X¨ì¼Ð¥ÜÀɦ³¤F¤@­Ó·sªº¿ï¶µ¡A/B¡C¦¹¿ï¶µµLªk³z¹L¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¶­± ¨Ó¨Ï¥Î¡C iwh2exp2 «ü¥Oªº·s»yªk¬°¡G iwh2exp2 filename.INP dbname userid password [PREFIX=table_schema] [/S] [/R] [/B] ¨ä¤¤ - filename.INP ¬O INP Àɮתº§¹¾ã¸ô®|¦WºÙ - dbname ¬O¸ê®Æ­ÜÀx¤¤¤ß±±¨î¸ê®Æ®wªº¦WºÙ - userid ¬O¥Î¨Óµn¤J¸ê®Æ®wªº¨Ï¥ÎªÌ ID - password ¬O¥Î¨Óµn¤J¸ê®Æ®wªº±K½X - ¿ï¥Î°Ñ¼Æ¬°¡G - PREFIX=table_schema¡G±±¨î¸ê®Æ®wªí®æªºªí®æºõ¥Ø (¹w³]­È¬° IWH) - /S¡G¶×¥X§t¿ï¨ú¨BÆJªº®Éµ{ªí - /R¡G¤£­n¶×¥X§t¿ï¨ú¨BÆJªº­ÜÀx¨Ó·½ - /B¡G¤£­n¶×¥X§t¿ï¨ú¨BÆJªº contributing ¨BÆJ µù: ¦pªG«ü©w¤F /R ©Î /B¡A·í¶×¤Jµ²ªG¼Ð¥ÜÀɮɡA­ÜÀx¨Ó·½©Î contributing ¨BÆJ ¥²¶·¤w¸g¦s¦b¡A §_«h·|¶Ç¦^¿ù»~¡C ------------------------------------------------------------------------ 42.26 Backup Services APIs (XBSA) Backup Services APIs (XBSA) ¤w³Q­^°êªº Open Group ©w¸q¬°¤@­Ó¶}©ñªºÀ³¥Îµ{¦¡ µ{¦¡³]­p¤¶­±¡A¥i¥Î©ó»Ý­n¸ê®ÆÀx¦sºÞ²zªºÀ³¥Îµ{¦¡©Î¾÷¯à¤§¶¡§@³Æ¥÷©Î«O¦s¡C ³o°O ¸ü¦b "Open Group Technical Standard System Management: Backup Services API (XBSA)"¡A Document Number C425 (ISBN: 1-85912-056-3)¡C ¬°¤F¤ä´©³o­Ó¤¶­±¡A·s«Ø¤F¨â­Ó DB2 µn¿ýÅܼơA¥Ø«e¤ä´© AIX¡BHP¡BSolaris ¤Î Windows NT¡G DB2_VENDOR_INI «ü¦V¤@­Ó¥]§t©Ò¦³¼t°ÓÀô¹Ò³]©wªºÀɮסC ­È·|¦b¸ê®Æ®wºÞ²zµ{¦¡±Ò°Ê®ÉÀò±o¡C DB2_XBSA_LIBRARY «ü¦V¼t°Ó´£¨Ñªº XBSA ÀÉ®×®w¡C¦b AIX ¤W¡A¦pªG¦WºÙ¤£¬O shr.o¡A¨º»ò³]©w­È ¥²¶·¥]¬A¦@¥Îª«¥ó¡C HP¡BSolaris ¤Î Windows NT ¤£­n¨D¦@¥Îª«¥ó¦WºÙ¡C¨Ò ¦p¡A­Y­n¨Ï¥Î Legato ªº NetWorker Business Suite Module for DB2¡Aµn°OÅÜ ¼Æ¥²¶·³]©w¦p¤U¡G db2set DB2_XBSA_LIBRARY="/usr/lib/libxdb2.a(bsashr10.o)" XBSA ¤¶­±¥i³z¹L BACKUP DATABASE ©Î RESTORE DATABASE «ü¥O¨Ó©I¥s¡C¨Ò¦p¡G db2 backup db sample use XBSA db2 restore db sample use XBSA ------------------------------------------------------------------------ 42.27 OS/390 ¥N²zµ{¦¡ ³o­Ó¤å¥ó¤¤¦³¤°»ò©O¡H¦w¸Ë OS/390 »P¨ä¯S©Ê ¥»¤å´£¨Ñ¦p¦ó¦w¸Ë OS/390 ¥N²zµ{¦¡ªº«ü¥Ü¤Î¨ä¯S©Êªº¬ÛÃö¸ê°T¡C Ãö©ó¦w¸Ëµ{§Çªº§Ö ³t½Æ¬d¡A½Ð°Ñ¾\¡u¦w¸Ë·§Æ[¡v¡A Ãö©ó¸Ô²Óªº«ü¥Ü¡A½Ð°Ñ¾\¡u¦w¸Ë²Ó¸`¡v¡C Ãö©ó¥N²z µ{¦¡¯S©Êªº¬ÛÃö¸ê°T¡A½Ð°Ñ¾\¡u³]¸mÃB¥~ªº¥N²zµ{¦¡¥\¯à¡v¡B¡uÂà´«µ{¦¡¡v¤Î¡u¦s¨ú DB2 ¨t¦C¥H¥~ªº¸ê®Æ®w¡v¡C ·§Æ[ DB2¡u­ÜÀx¤¤¤ß¡v¥]¬A OS/390 ¥N²zµ{¦¡¡C±z¥i¥H¦b DB2 Universal Database for OS/390 ¤Î¨ä¥¦¸ê®Æ®w¤§¶¡¨Ï¥Î¥N²zµ{¦¡¨Ó³q«H¡A ¥]¬A¨ä¥¦¥­¥x¤Wªº DB2 ¸ê®Æ®w¤Î«D DB2 ¸ê®Æ®w¡C¥N²zµ{¦¡¥i»P¨Ï¥Î ODBC ³s½uªº¸ê®Æ¨Ó·½³q«H¡C ¥N²zµ{¦¡¦b OS/390 UNIX ¨t²ÎªA°È¤W°õ¦æ¡C¥¦»Ý­n OS/390 V2R6 ©Î¥H¤Wª©¥»¡A¨Ã¥B»P DB2 for OS/390 ª©¥» 5¡B6 ¤Î 7 ¬Û®e¡C OS/390 ¥N²zµ{¦¡¤ä´©¤U¦C§@·~¡G * ±q¨Ó·½ DB2 ¸ê®Æ®w½Æ»s¸ê®Æ¨ì¥Ø¼Ð DB2 ¸ê®Æ®w * ¨ú¼Ëªí®æ©ÎÀɮתº¤º®e * °õ¦æ¨Ï¥ÎªÌ©w¸qµ{¦¡ * ³z¹L IBM ªº DataJoiner µ{¦¡¦s¨ú«D DB2 ¸ê®Æ®w * ³z¹L Cross Access ªº Classic Connect ¦s¨ú VSAM ©Î IMS ¸ê®Æ * °õ¦æ DB2 Universal Database for OS/390 ¤½¥Îµ{¦¡ * °õ¦æ¡uIBM ¸ê®Æ¶Ç¾É©µ¿ð¾¹¡vªº¤Þ¥Î¤u§@ 42.27.1 ¦w¸Ë·§Æ[ ³o¨Ç¨BÆJ·§­n»¡©ú¦w¸Ëµ{§Ç¡C¦b¡u¦w¸Ë©ú²Ó¡v¤@¸`¤¤´£¨Ñ¤F¦³Ãö³o¨Ç¨BÆJªº§ó¦h¸ê °T¡C 1. ±q DB2 Universal Database for OS/390 ºÏ±a¦w¸Ë OS/390 ¥N²zµ{¦¡¡C 2. §ó·s±z³]©wÀɤ¤ªºÀô¹ÒÅܼơC 3. ³]©w³s½u¡G o ®Ö¤ß¤Î¥N²z±`¾nµ{¦¡¤§¶¡¡C o ¥N²zµ{¦¡¤Î¨ä±N¦s¨úªº¸ê®Æ®w¤§¶¡¡C 4. ¥»ºÝ³sµ² CLI¡A³sµ²¨ì¥ô¦ó»·ºÝ¸ê®Æ®w¡C 5. ³]¸m±zªº ODBC °_©l³]©wÀɮסC 6. ³]¸m±ÂÅv¡A«h¨Ï¥ÎªÌ¡G o ¥i°õ¦æ¥N²z±`¾nµ{¦¡¡C o ¹ï³W¹º DSNAOCLI ¦³°õ¦æÅv­­¡C o ¹ï°O¸ü¤Î ODBC °lÂܥؿý¦³Åª¼gªº±ÂÅv(¦pªG»Ý­n)¡C 7. ±Ò°Ê¥N²z±`¾nµ{¦¡¡C 42.27.2 ¦w¸Ë©ú²Ó ¦w¸Ë OS/390 ¥N²zµ{¦¡ OS/390 ¥N²zµ{¦¡ªþÀH©ó DB2 Universal Database for OS/390 ª©¥» 7 ºÏ±a¤¤¡C½Ð°Ñ ¾\ºÏ±a©Òªþªºµ{¦¡¥Ø¿ý¡A ¥H¨ú±o¦w¸Ë OS/390 ¥N²zµ{¦¡ªº¸Ô²Ó¸ê°T¡C ¦b¦w¸Ë OS/390 ¥N²zµ{¦¡¤§«e¡A±z¥²¶·¥ý¦b DB2 ¤l¨t²Î¤W¤Þ¥Î APAR PQ36585 ©Î PQ36586¡C §ó·s±z³]©wÀɤ¤ªºÀô¹ÒÅÜ¼Æ ÅܼƷ|±N¥N²zµ{¦¡«ü¦V¦hºØ DB2 ÀÉ®×®w¡B¿é¥X¥Ø¿ýµ¥µ¥¡C ¤U¦C½d¨Ò¬O½d¨Ò .profile Àɮתº¤º®e¡C.profile ÀÉ®×·|©w¸qÀô¹ÒÅܼơA ¥B¥¦¥²¶· ¦b±Ò°Ê¥N²z±`¾nµ{¦¡ªº¨Ï¥ÎªÌªº°_©l¥Ø¿ý¤¤¡G export VWS_LOGGING=/usr/lpp/DWC/logs export VWP_LOG=/usr/lpp/DWC/vwp.log export VWS_TEMPLATES=usr/lpp/DWC/ export DSNAOINI=/usr/lpp/DWC/dsnaoini export LIBPATH=usr/lpp/DWC/:$LIBPATH export PATH=/usr/lpp/DWC/:$PATH export STEPLIB=DSN710.SDSNEXIT:DSN710.SDSNLOAD ³]¸m³s½u ­Y­n³]©w®Ö¤ß¤Î±`¾nµ{¦¡³s½u¡A½Ð±N¤U­±³o¦æ¥[¤J /etc/services ÀɮשΠTCPIP.ETC.SERVICES ÀɮסG vwkernal 11000/tcp vwd 11001/tcp vwlogger 11002/tcp ­Y­n¦b OS/390 ¥N²zµ{¦¡¤Î¸ê®Æ®w¶¡³]©w³s½u¡A±N¥ô¦ó»·ºÝ¸ê®Æ®w·s¼W¨ì OS/390 ³q «H¸ê®Æ®w (CDB)¡C³o¸Ì¬O³¡¥÷½d¨Ò CDB INSERT¡G INSERT INTO SYSIBM.LOCATIONS (LOCATION, LINKNAME, PORT) VALUES ('NTDB','VWNT704','60002'); INSERT INTO SYSIBM.IPNAMES (LINKNAME, SECURITY_OUT, USERNAMES, IPADDR) VALUES ('VWNT704', 'P', 'O', 'VWNT704.STL.IBM.COM'); INSERT INTO SYSIBM.USERNAMES (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD) VALUES ('O', 'MVSUID', 'VWNT704', 'NTUID', 'NTPW'); ­Y»Ý³]¸m³s½uªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 UDB for OS/390 Installation Guide (GC26-9008-00) ¤¤ªº¡uConnecting Distributed Database Systems¡v³¹¸`¡C ³sµ² CLI ¦]¬° OS/390 ¥N²zµ{¦¡¨Ï¥Î CLI ¨Ó»P DB2 ·¾³q¡A ±z¥²¶·±N CLI ³W¹º³sµ²¨ì©Ò¦³±z ªº¥N²zµ{¦¡­n¦s¨úªº»·ºÝ¸ê®Æ®w¡C ³o¸Ì¬O¤@¨Ç¥»ºÝ DB2 for OS/390 ¸ê®Æ®wªº½d¨Ò³s µ²¸ê®Æ¥]³¯­z¦¡¡G BIND PACKAGE (DWC6CLI) MEMBER(DSNCLICS) ISO(CS) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLINC) ISO(NC) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIRR) ISO(RR) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIRS) ISO(RS) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIUR) ISO(UR) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIMS) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIC1) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIC2) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIF4) ³o¸Ì¬O¤@¨Ç°õ¦æ¦b Windows NT ¤Wªº DB2 ¸ê®Æ®wªº½d¨Ò bind package ³¯­z¦¡¡G BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLICS) ISO(CS) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLINC) ISO(NC) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIRR) ISO(RR) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIRS) ISO(RS) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIUR) ISO(UR) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIC1) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIC2) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIQR) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIF4) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIV1) BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIV2) ³o¸Ì¬O¤@­Ó½d¨Ò bind ³¯­z¦¡¡A±N CLI ¸ê®Æ¥]¤@°_³sµ²¨ì³W¹º¤¤¡G BIND PLAN(DWC6CLI) PKLIST(*.DWC6CLI.* ) ³]¸m ODBC °_©l³]©wÀÉ®× ½d¨Ò ODBC °_©l³]©wÀÉ®× (inisamp) ¤º§t¦b usr/lpp/DWC/ ¥Ø¿ý¤¤¡C±z¥i¥H½s¿è¦¹ÀÉ ®×¥H°t¦X±zªº¨t²Î¨Ï¥Î¡A©ÎªÌ«Ø¥ß±z¦Û¤vªºÀɮסC­Y­n½T©wÀÉ®×¥¿½T¦a¹B§@¡A ½ÐÅçÃÒ ¤w¾A·í¦a¬[ºc¡G * DSNAOINI Àô¹ÒÅܼƥ²¶·«ü¦V°_©l³]©wÀɮסC * ÀɦW¥²¶·¨Ï¥Î dsnaoini.location_name ªº©R¦WºD¨Ò¡C * ÀÉ®×¥²¶·¥]¬A CONNECTTYPE=2 ¤Î MVSATTACHTYPE=CAF °Ñ¼Æ¡C ­Y»Ý³sµ² CLI »P DSNAOINI Àɮתº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ DB2 UDB for OS/390 ODBC Guide and Reference(SC26-9005)¡C ³]¸m±ÂÅv OS/390 ¥N²zµ{¦¡¬O¤@­Ó±`¾nµ{¦¡µ{§Ç¡C±z¥i¥H¨Ï¥Î¤@¯ëªº UNIX ¦w¥þ©Ê©Î OS/390 UNIX ¦w¥þ©Ê¨Ó°õ¦æ¥N²z±`¾nµ{¦¡¡C ¦]¬°¥N²zµ{¦¡»Ý­n±`¾nµ{¦¡Åv­­¡A½Ð©w¸q³o¨Ç¥N²zµ{¦¡¥i°õ¦æÀɬ°¡uRACF µ{¦¡±± ¨î¡v¡G * libtls4d.dll * iwhcomnt.dll * vwd ±ý¦b RACF µ{¦¡±±¨î¤¤©w¸q¥i°õ¦æªºµ{¦¡¡A ½Ð¤Á´«¦Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¥i°õ¦æÀÉ©Ò¦b ªº¥Ø¿ý¡A°õ¦æ¤U¦C«ü¥O¡G extattr +p libtls4d.dll extattr +p iwhcomnt.dll extattr +p vwd ­Y­n¨Ï¥Î¦³ +p °Ñ¼Æªº extattr «ü¥O¡A «h¹ï©ó BPX.FILEATTR.PROGCTL FACILITY Ãþ §O±z¦Ü¤Ö¥²¶·¾Ö¦³Åª¨úÅv­­¡C ¤U¦C½d¨ÒÅã¥Ü¥Î¨Ó±N¦¹³\¥iÅvµ¹¤©¨Ï¥ÎªÌ ID SMORG ªº RACF «ü¥O¡G RDEFINE FACILITY BPX.FILEATTR.PROGCTL UACC(NONE) PERMIT BPX.FILEATTR.PROGCTL CLASS(FACILITY) ID(SMORG) ACCESS(READ) SETROPTS RACLIST(FACILITY) REFRESH Ãö©ó±ÂÅvªº¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ OS/390 UNIX System Services Planning (SC28-1890) ¡C ±Ò°Ê¥N²z±`¾nµ{¦¡ ¦b±z§¹¦¨¬[ºc¨t²Î¤§«á¡A½Ð±Ò°Ê¥N²z±`¾nµ{¦¡¡G 1. Telnet ¨ì OS/390 ¤Wªº UNIX Systems Services¡A³z¹L OS/390 host ¤Î USS °ð¡C 2. ±Ò°Ê¥N²z±`¾nµ{¦¡¡G o ­Y­n¦b­I´º±Ò°Ê±`¾nµ{¦¡¡A½Ð¦b©R¥O¦æ¤¤¿é¤J vwd¡C o ­Y­n¦b­I´º±Ò°Ê±`¾nµ{¦¡¡A½Ð¿é¤J vwd>/usr/lpp/DWC/logs/vwd.log 2>&1 & ­Y­nÅçÃÒ OS/390 ¥N²z±`¾nµ{¦¡¬O§_¦b°õ¦æ¤¤¡A½Ð¦b UNIX Shell ©R¥O¦æ¿é¤J¤U¦C«ü ¥O¡G ps -e | grep vwd ©ÎªÌ¡A¦b OS/390 ¥D±±¥x¿é¤J D OMVS,a=all ¡A¨Ã·j´M¦r¦ê vwd 42.27.3 ³]¸mÃB¥~ªº¥N²zµ{¦¡¨ç¼Æ DB2 Warehouse Manager ¸ê®Æ¥]¥]¬A¤U¦C¨Ï¥ÎªÌ©w¸qµ{¦¡¡G * vwpftp¡G°õ¦æ FTP «ü¥OÀÉ¡C * vwpmvs¡G´£¥X JCL ¤u§@¦ê¬y¡C * vwprcpy¡G¨Ï¥Î FTP ½Æ»sÀɮסC * XTClient¡G±qÄݯ¸Ä²µoµ{¦¡¡C * etidlmvs¡GETI (Evolutionary Technologies International) ´£¨Ñªº¤½¥Îµ{ ¦¡¡F ¥i§R°£ MVS ¤WªºÀɮסC * etircmvs¡GETI ´£¨Ñªº¤½¥Îµ{¦¡¡F¥i¦b MVS ¥D¹q¸£¤W°õ¦æ FTP¡C * etiexmvs¡GETI ´£¨Ñªº¤½¥Îµ{¦¡¡F¥i¦b MVS ¤W°õ¦æ JCL¡C °£¦¹¤§¥~¡A±z¥i¥H¦b¡u¸ê®Æ­ÜÀx¤¤¤ß¡v«Ø¥ß¨Ï¥ÎªÌ©w¸qµ{¦¡¤ÎÀx¦sµ{§Ç¡COS/390 ¥N²z µ{¦¡¤ä´©¥ô¦ó¥i¦b UNIX ¨t²ÎªA°È¤U°õ¦æªº¥i°õ¦æÀÉ¡C ¤@­Ó¨Ï¥ÎªÌ©w¸qµ{¦¡·|«ü©wµ¹¤@­Ó©Î¦h­Ó¨BÆJ¡C·í±z°õ¦æ¨Ï¥ÎªÌ©w¸qµ{¦¡®É¡A·|µo¥Í ¤U¦C°Ê§@¡G * ¥N²zµ{¦¡±Ò°Ê¡C * ¥N²zµ{¦¡°õ¦æ¨Ï¥ÎªÌ©w¸qµ{¦¡¡C * ¨Ï¥ÎªÌ©w¸qµ{¦¡¶Ç¦^¦^ÂнX¤Î¦^õXÀÉ®×µ¹¥N²zµ{¦¡¡C * ¥N²zµ{¦¡±Nµ²ªG¶Ç¦^®Ö¤ß¡C ¬°¤F¦b OS/390 ¤W°õ¦æ ETI¡A±z¥²¶·¥ý±N FixPack 2 ®M¥Î¨ì DB2 Universal Database ª©¥» 7.1¡C ¨Ï¥Î VWP_LOG Àô¹ÒÅܼƨөw¸q¤@­Ó¥Ø¿ý¡A¨Ñ¨Ï¥ÎªÌ©w¸qªºµ{¦¡¼g¤J¿é¥X¡C ¦pªG±z¨Ï¥Î¨Ï¥ÎªÌ©w¸qµ{¦¡¨Ó¥Î FTP ´£¥X¤u§@¡A ±z¥²¶·¥ý«Ø¥ß­n´£¥Xªº JCL ¤Î¸ê ®Æ¡C JCL ¤¤ªº¤u§@¦WºÙ¥²¶·¬O USERIDx¡A ¨ä¤¤ x ¬O¤@­Ó³æ¤@¦r¤¸ªº¦r¥À©Î¼Æ¦r (½d ¨Ò¡GMYUSERA)¡C¥]§t¦b JCL ¤¤ªº MSGCLASS ¤Î SYSOUT Àɮתº¿é¥XÃþ§O¥²¶·«ü©w JES-held ¿é¥XÃþ§O¡C ­­¨î¡G©Ò´£¥X¤u§@ªº³Ì¤j LRECL ¬O 254 ­Ó¦r¤¸¡CJES ¥u·|±½´y JCL ªº«e 72 ­Ó¦r ¤¸¡C Åܧó¡u¸ê®Æ­ÜÀx¤¤¤ß¡vFTP ¤ä´©ªº¼ÒªO ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¦w¸Ë¤F¤@­Ó JCL ¼ÒªO¡A¨Ñ¨Ï¥Î FTP Âà°eÀɮסC¦pªG±z­p¹ºÅý OS/390 ¥N²zµ{¦¡¨Ï¥Î FTP «ü¥O GET ©Î PUT ±q¬Y OS/390 ¥D¹q¸£¶Ç°eÀɮרì¥t¤@­Ó »·ºÝ¥D¹q¸£¡A±z»Ý­n¬° OS/390 ¨t²ÎÅܧó JCL ¼ÒªO¤¤ªº±b¤á¸ê°T¡G 1. ¥H¤@­Ó¦³Åv­­¦b /usr/lpp/DWC ¥Ø¿ý¤¤½Æ»s¤Î§ó·sÀɮתº ID µn¤J¡C 2. ´M§ä ftp.jcl¡A¨Ã¥Î·sªºÀɦW systemname.ftp.jcl ½Æ»sÀɮסA ¨ä¤¤ systemname ¬O OS/390 ¨t²Îªº¦WºÙ¡C 3. «Ø¥ß¦¹Àɮתº°Æ¥»µ¹¨C¤@­Ó±z­n¦b¨ä¤W°õ¦æÂà´«µ{¦¡ vwpmvs ©Î ETI extract ªº OS/390 ¨t²Î¡C¨Ò¦p¡A ¦pªG±z­n¦b STLMVS1 ¤W°õ¦æ¥ô¤@­Óµ{¦¡¡A «Ø¥ß¤@­Ó ¦WºÙ¬° STLMVS1.ftp.jcl ªºÀÉ®×°Æ¥»¡C 4. ¨Ï¥Î¤å¦r½s¿èµ{¦¡¨Ó¦Û­q JCL¡A¥H²Å¦X±z¯¸¥xªº»Ý¨D¡C Åܧó±b¤á¸ê°T¥H²Å¦X±z ªº MVS ¨t²Îªº¼Ð·Ç±b¤á¸ê°T¡C½Ð¤ÅÅܧó¥ô¦ó¤è¬A©· ([) ¤ºªº°Ñ¼Æ¡A ¤ñ¦p [USERID] ¤Î [FTPFILE]¡C(¤è¬A©·¤À§O¬°¤Q¤»¶i¦ì¦r¤¸ x'AD' ¤Î x'BD'¡C­Y±z ªº TSO ²×ºÝ¾÷Ãþ«¬¦b SPF ¿ï¶µ 0 ¤¤¥¼³]¦¨ 3278A¡A³o¨Ç­È¥i¯à·|Åã¥Ü¦¨¯S®í ¦r¤¸¡A¦Ó¤£¬O¤è¬A©·¡C ³o¨Ã¤£·|¬O°ÝÃD¡A ¦pªG±z¨S¦³Åܧó x'AD' ©Î x'BD'¡A ©ÎªÌ¥ô¦ó¦r¤¸¤§¶¡ªº¸ê®Æ¡C) 5. §ó·sÀô¹ÒÅÜ¼Æ VWS_TEMPLATES¡A«ü¦V½Æ»sªº¼ÒªOÀɮתº¥Ø¿ý¡C ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¥]§t¦¹½d¨Ò JCL ¼ÒªO¡G //[USERID]A JOB , 'PUT/GET', // CLASS=A, // USER=&SYSUID, // NOTIFY=&SYSUID, // TIME=(,30), // MSGCLASS=H //STEP1 EXEC PGM=FTP,PARM='( EXIT' //INPUT DD DSN=[FTPFILE],DISP=SHR //OUTPUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* ¨ú¼Ëªí®æ©ÎÀɮתº¤º®e ±z¥i¨Ï¥Î OS/390 ¥N²zµ{¦¡¨Ó¨ú¼Ë DB2 ªí®æ»P¯Â¤å¦rÀɪº¤º®e¡A ¤ñ¦p UNIX ¨t²ÎªA °ÈÀɮפΠOS/390 ­ì¥Í¯Â¤å¦rÀÉ¡C±z¤]¥i¨Ï¥Î OS/390 ¥N²zµ{¦¡¥H Classic Connect ¨ú¼Ë IMS ©Î VSAM Àɮתº¤º®e¡C¹ï©ó¯Â¤å¦rÀÉ¡A¥N²zµ{¦¡·|¹î¬ÝÀɮשw¸qªº¤º®e¤¤ªº °Ñ¼Æ¨Ó§P©wÀɮ׮榡¡C 42.27.4 ¥ÎIJµoµ{¦¡±Æµ{­ÜÀx¨BÆJ (XTClient) ¨Ï¥ÎIJµoµ{¦¡¥i±q OS/390 ¥­¥x±Æµ{­ÜÀx¨BÆJ¡C ±z©Î¬O OS/390 ¤u§@±Æµ{µ{¦¡¥i¥H´£ ¥X¤@­Ó·|IJµo¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¨BÆJªº¤u§@¡C¦pªG¨BÆJ¶¶§Q§¹¦¨¡AJCL ¤¤ªºÄ²µo¨ç¦¡ ¨BÆJ·|¶Ç¦^¦^ÂнX 0¡C ¦b OS/390 UNIX ¨t²ÎªA°È¤W¥²¶·¦w¸Ë JDK 1.1.8 ©Î§ó·sª©¥»¥H¨Ï¥ÎIJµoµ{¦¡¡C­Y­n ±Ò°ÊIJµo¨ç¦¡¡A ½Ð¥ý¦b°õ¦æ­ÜÀx¦øªA¾¹ªº¾÷¾¹¤W±Ò°Ê XTServer¡C¦¹µ{§Ç¥i¨£©ó¸ê®Æ ­ÜÀx¤¤¤ßºÞ²z¤â¥Uªº²Ä 5 ³¹¡A ¼ÐÃD¬°¡u±q¸ê®Æ­ÜÀx¤¤¤ß¤§¥~±Ò°Ê¨BÆJ¡v¡CXTServer ±Ò°Ê¤§«á¡A½Ð¦b OS/390 ¤W±Ò°Ê XTClient¡C¤U¦C½d¨ÒÅã¥Ü±Ò°ÊIJµo¨ç¦¡ªº JCL ½d ¨Ò¡C //DBA1A JOB 1,'XTCLIENT',CLASS=A,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=4M,NOTIFY=&SYSUID //****************************************************** //* submit iwhetrig //****************************************************** //BRADS EXEC PGM=BPXBATCH, // PARM=('sh cd /usr/lpp/DWC/; java XTClient 9.317.171.133 1100x // 9 drummond pw bvmvs2nt 1 1 100') //STDOUT DD PATH='/tmp/xtclient.stdout', // PATHOPTS=(OWRONLY,OCREAT), // PATHMODE=SIRWXU //STDERR DD PATH='/tmp/xtclient.stderr', // PATHOPTS=(OWRONLY,OCREAT), // PATHMODE=SIRWXU // µù: ¤W­z½d¨Ò JCL ½XÅã¥Ü¦p¦óÄ~Äò°Ñ¼Æ¨ì¤U¤@¦æ¡C¤èªk¬OÁä¤J°Ñ¼Æ¡A¤@ª½¨ì²Ä 71 ­Óª½Äæ¡A¦b²Ä 72 ­Óª½Äæ©ñ¤@­Ó 'X'¡A µM«á¦b¤U¤@¦æªº²Ä 16 ­Óª½ÄæÄ~Äò¡C °Ñ¼Æ (cd /usr/lpp/DWC/;) ªº²Ä¤@­Ó³¡¤À±N¥Ø¿ýÅܧó¨ì¦w¸Ë OS/390 ¥N²zµ{¦¡ªº¦ì ¸m¡C °Ñ¼Æªº²Ä¤G³¡¥÷±Ò°Ê XTClient ¨Ã¶Ç»¼¤U¦C 8 ­Ó°Ñ¼Æ¡G * ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¦øªA¾¹¥D¹q¸£¦WºÙ©Î IP ¦ì§} * ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¦øªA¾¹°ð (³q±`¬° 11009) * ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¨Ï¥ÎªÌ ID * ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v³q¦æ½X * ­n°õ¦æªº¨BÆJ¦WºÙ * ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¦øªA¾¹«ü¥O¡A¨ä¤¤¡G o 1 = ²¾¤J¨BÆJ o 2 = ±N¨BÆJ´£ª@¨ì´ú¸Õ¼Ò¦¡ o 3 = ±N¨BÆJ´£ª@¨ì¥Í²£¼Ò¦¡ o 4 = ±N¨BÆJ­°¯Å¨ì´ú¸Õ¼Ò¦¡ o 5 = ±N¨BÆJ­°¯Å¨ì¶}µo¼Ò¦¡ * ¬O§_µ¥«Ý¨BÆJ§¹¦¨ªº¿ï¶µ¡A¨ä¤¤ 1= ¬O¡A0 = §_ * ³Ì¤j¦C¼Æ (¨Ï¥Î 0 ©ÎªÅ¥Õ¨Ó´£¨ú©Ò¦³¾î¦C) 42.27.5 Âà´«µ{¦¡ ²¤¶ ³o 12 ­ÓÂà´«µ{¦¡¬O Java Àx¦sµ{§Ç¡A´£¨Ñ¤@¨Ç°ò¥»ªº¸ê®ÆÂà´«¡C ¬°¤F°õ¦æ³o¨ÇÂà´« µ{¦¡¡A±z¥²¶·¥ý¦b DB2 ¤l¨t²Î¤W³]©w Java Àx¦sµ{§Ç¡C Ãö©ó³o¨ÇÂà´«µ{¦¡ªº¨ä¥L¸ê °T¡A ½Ð°Ñ¾\ IBM DB2 Universal Database Data Warehouse Center ºÞ²z¤â¥U ª©¥» 7¡ASC40-0496-00¡C IWH.CLEAN IWH.PERIODTABLE IWH.KEYTABLE IWH.CHISQUARE IWH.CORRELATION IWH.STATISTICS IWH.INVERTDATA IWH.PIVOTDATA IWH.REGRESSION IWH.ANOVA IWH.SUBTOTAL IWH.MOVINGAVERAGE ³]¸m¡uJava Àx¦sµ{§Ç¡v ³o¨Ç«ü¥O¬O§¹¾ã«ü¥Üªººë²ª©¡A»¡©ú¦p¦ó³]©w Java Àx¦sµ{§Ç¡A½Ð°Ñ¾\ Application Programming Guide and Reference for Java(TM)¡ASC26-9018 1. ¦b DB2 ¤l¨t²Î¤W¤Þ¥Î PTFs UQ46170 ©M UQ46114¡C 2. ¦b OS/390 ¨t²Î¤W¦w¸Ë Visual Age for Java 2.0 ©Î¥H¤Wª©¥»¡C 3. ¦b DB2 ¤W¦w¸Ë JDBC¡A±N JDBC ®M¥ó³sµ²¦Ü DB2 ¤l¨t²Î¡C 4. ¦b DB2 ¤l¨t²Î¤W³]©w RRS ©M DB2 WLM Àx¦sµ{§Ç¡C 5. ³]©w±z DB2 ªº Java Àx¦sµ{§Ç¡C¥]¬A¬° Java Àx¦sµ{§Ç¦ì§}ªÅ¶¡«Ø¥ß¤@­Ó Java WLM ±Ò°Êµ{§Ç¡C 6. ¦b WLM ¤§¤U¡A±z¥²¶·±N Java WLM ±Ò°Êµ{§Çµ²¦X¤@­Ó WLM Àô¹Ò¦WºÙ¡C½Ð¨Ï¥Î WLM À³¥Îµ{¦¡Àô¹Òµe­±¡u«Ø¥ßÀ³¥Îµ{¦¡Àô¹Ò¡v¨Óµ²¦XÀô¹Ò¦WºÙ©M JCL µ{§Ç¡C 7. ¦b CREATE PROCEDURE ©Î ALTER PROCEDURE ªº WLM_ENVIRONMENT ¿ï¶µ¤W«ü©w WLM À³¥Îµ{¦¡Àô¹Ò¦WºÙ¡A±NÀx¦sµ{§Ç©Î¨Ï¥ÎªÌ©w¸qªº¨ç¼Æµ²¦X¤@­ÓÀ³¥Îµ{¦¡Àô ¹Ò¡C 8. ½T©w±zªº DB2 ±Ò°Ê§@·~ªº¾Ö¦³ªÌ¨ã³Æ¦s¨úÅv¨Ó¦s¨ú Java WLM ±Ò°Êµ{§Ç¤¤ªºÀÉ ®×®w¡C ­ÜÀxÂà´«µ{¦¡ªº³]¸m¨BÆJ ³o¨Ç«ü¥O¬O§¹¾ã«ü¥Üªººë²ª©¡A½Ð°Ñ¾\IBM DB2 Universal Database Data Warehouse Center ºÞ²z¤â¥U ª©¥» 7¡ASC40-0496-00 1. ±N Fixpack 3 ¤Þ¥Î¦Ü DB2 Universal Database for NT ª©¥» 7¡A ©Î±N¡u­ÜÀx ±±¨î¸ê®Æ®w¡v§ó·s¦¨ TRANSREGISTERED = 1 ©M TRANSFENCED=1¡C ±ý§ó·s¡u­ÜÀx±±¨î¸ê®Æ®w¡v¡A½Ð¦b DB2 Universal Database ©R¥O¦æ³B²z¾¹¤W¿é ¤J¤U¦C SQL¡G CONNECT TO your_vw_control_database UPDATE IWH.INFORESOURCE SET TRANSREGISTERED = '1' WHERE SUBDBTYPE = 'DB2 MVS' UPDATE IWH.INFORESOURCE SET TRANSFENCED = '1' WHERE SUBDBTYPE = 'DB2 MVS' 2. ©w¸qÂà´«µ{¦¡¨ì DB2 o ­Y±z¦³ DB2 for OS/390 ª©¥» 7¡A½Ð¨Ï¥Î /usr/lpp/DWC/createXfSQLV7 ¤¤ªº SQL ³¯­z¦¡¡C o ­Y±z¦³ DB2 for OS/390 ª©¥» 6¡A½Ð¨Ï¥Î /usr/lpp/DWC/createXfSQL ¤¤ ªº SQL ³¯­z¦¡¡C o ­Y±z¦³ DB2 for OS/390 ª©¥» 5¡A½Ð¨Ï¥Î /usr/lpp/DWC/createXfSQL ¤¤ µù¸Ñªº SQL ³¯­z¦¡¡C ²¾°£©Ò¦³ CREATE PROCEDURE ³¯­z¦¡ªºµù¸Ñ¡C µM«á ²¾°£ INSERT INTO SYSIBM.SYSPROCEDURES ³¯­z¦¡ªºµù¸Ñ¡A¥Î¨Ó©w¸q DB2 for OS/390 ª©¥» 5 ªºÂà´«µ{¦¡¡C ·í±z³]©w Java Àx¦sµ{§Ç®É¡A±z¨Ï¥Î WLM ¨Óµ²¦X Java WLM ±Ò°Êµ{§Ç©M¤@­Ó WLM Àô¹Ò¦WºÙ¡CÀô¹Ò¦WºÙ«ü©w©ó CREATE PROCEDURE ³¯­z¦¡ªº WLM ENVIRONMENT ¿ï¶µ¤¤¡C DSNWLMJ ¬O¤º§t©ó¤W­zÂà´«µ{¦¡©w¸q¤¤ªº WLM Àô¹Ò¦WºÙ¡C ±z¥i·s¼W DSNWLMJ ªº WLM ÃöÁp¦WºÙ¡A©Î±N¨C¤@­ÓÂà´«µ{¦¡©w¸qªº WLM ENVIRONMENT ¿ï¶µ Åܧ󬰱z¤wµ²¦X¦Ü±Ò°Êµ{§Çªº¦WºÙ¡C 3. ±q UNIX ¨t²ÎªA°È³]©wÃìµ²¨Ó³sµ² IWH710.SIWHLOAD ¤¤ªºÂà´«µ{¦¡¸ü¤J¼Ò²Õ¡C o ¥H Telnet ³s±µ¦Ü±z OS/390 ¥D¹q¸£¨t²Îªº UNIX ¨t²ÎªA°È¡C o ¤Á´«¦Ü±z¦w¸Ë OS/390 ¥N²zµ{¦¡ªº¥Ø¿ý¡C¹w³]¦w¸Ë¥Ø¿ý¬O /usr/lpp/DWC¡C o ­Y±z¨Ï¥Î DB2 V7¡A½Ð¸õ¦Ü¨BÆJ 4¡C­Y±z¨Ï¥Î DB2 V5 ©Î V6¡A ½Ð¦b¦w¸Ë¥Ø ¿ý¤¤½s¿è trlinks ¸ê®Æ¶°¡C¦b¦¹¦æªº²Ä¤@Ä椤¥[¤W¤@­Ó # ²Å¸¹¨Óµù¸Ñ¦¹ ¦æ¡G ln -e IWHXFV7 xf.jll; ²¾°£²Ä¤@Ä檺 # ²Å¸¹¨Ó²¾°£¦¹¦æªºµù¸Ñ¡C #ln -e IWHXF xf.jll; Àx¦s±zªºÅܧó¡C o Áä¤J trlinks ¨Ã«ö¤U¿é¤J¡C³o·|¦b¥Ø¿ý¤¤«Ø¥ß¤@­Ó xf.jll Ãìµ²¡A¥Î¨Ó«ü ¥Ü¥N²zµ{¦¡¸ü¤J IWHXF ©Î IWHXFV7 ¼Ò²Õ¡C 4. ³z¹L APF ±ÂÅv IWH710.SIWHPDSE¡AµM«á·s¼W¦Ü DB2 Java Àx¦sµ{§Ç±Ò°Êµ{§Çªº STEPLIB ³s±µ¡C 5. ±N±zªº xf.jll Ãìµ²©Ò¦bªº¥Ø¿ý (¹w³]­È¡G/usr/lpp/DWC) ·s¼W¦Ü WLM Àô¹Ò¸ê ®Æ¶°¤¤ªº CLASSPATH ©M LIBPATH Àô¹ÒÅܼơC o ­Y±z¤£½T©w WLM ¸ê®Æ¶°ªº¦ì¸m¡A½Ð¬d¬Ý±zªº DB2 Java Àx¦sµ{§Ç±Ò°Êµ{ §Ç¡C±zªº WLM Àô¹Ò¸ê®Æ¶°¬O±zªº JAVAENV DD ¥d«ü¦Vªº¸ê®Æ¶°¡C 6. ±Ò°ÊÀx¦sµ{§Ç¡AµM«á«Ø¥ß¨Ã°õ¦æ­ÜÀx¨BÆJ¡C Java Àx¦sµ{§Çªº­­¨î ¤@­ÓÀx¦sµ{§Çªº¼Ð°O¤¤ªº Java ª«¥ó¶È©ó DB2 for OS/390 ª©¥» 7 ¤¤¤~¤ä´©¡C¦]¦¹¡A Âà´«µ{¦¡¦b DB2 for OS/390 ª©¥» 5 ©Î 6 ªº°Ñ¼Æ¤¤¤£¤ä´© NULL ­È¡C¦b³o¨Çª©¥» ¤¤¡A­Y±z¶Ç»¼ NULL ­È¡A«h·|µø¬°¹s¨Ó³B²z¡C ª©¥» 5 ©M 6 Âà´«µ{¦¡±N¹s°Ñ¼Æµø¬°ªÅ ¦r¦ê¡C DB2 ¶È©ó DB2 for OS/390 ª©¥» 7 ¤¤¤ä´© COMMIT SQL ³¯­z¦¡¡CINVERTDATA Àx¦sµ{ §Ç¥i¦bÀx¦sµ{§Ç¤º±Ë±ó¨Ã­««Øªí®æ¡F ¦]¦¹»Ý­n commit ³¯­z¦¡¡C °ò©ó¦¹²z¥Ñ¡ADB2 for OS/390 ª©¥» 5 ©Îª©¥» 6 ¤£¤ä´© IWH.INVERTDATA¡C DB2 for OS/390 ¤£¤ä´© Java ¨Ï¥ÎªÌ©w¸qªº¨ç¼Æ¡A©Ò¥H 390 ¥­¥x¤W¤£¤ä´© IWH.FORMATDATE¡C Java Àx¦sµ{§Çªº½d¨Ò±Ò°Êµ{§Ç (»¡©ú©ó¡uDB2 for OS/390 Application Programming Guide and Reference for Java¡v)¡G //DSNWLMJ PROC DB2SSN=DSN,NUMTCB=5,APPLENV=DSNWLMJ <-- WLM ENVIRONMENT value in CREATE PROC //******************************************************************* //* THIS PROC IS USED TO START THE WLM-ESTABLISHED SPAS * //* ADDRESS SPACE FOR THE DSNWLMJ APPLICATION ENVIRONMENT * //* V WLM,APPLENV=DSNWLMJ,RESUME * //******************************************************************* //DSNWLMJ EXEC PGM=DSNX9WLM,TIME=1440,REGION=0M, // PARM='&DB2SSN, &NUMTCB, &APPLENV' //STEPLIB DD DSN=DSN.TESTLIB,DISP=SHR // DD DSN=IWH710.SIWHPDSE,DISP=SHR <--This has the transformers in it // DD DSN=DSN.HPJSP.PDSE.JDBC,DISP=SHR <--HPJ DLLs from HPJ setup // DD DSN=SYS1.PP.PDSELINK,DISP=SHR <--HPJ runtime libraries // DD DSN=DSN710.SDSNEXIT,DISP=SHR // DD DSN=DSN710.SDSNLOAD,DISP=SHR // DD DSN=SYS1.SCEERUN,DISP=SHR // DD DSN=DSN.PDSE,DISP=SHR <--HPJ setup info //JAVAENV DD DSN=DSN.WLMENVJ.JSPENV,DISP=SHR <--Environment variables, see below //CEEDUMP DD SYSOUT=A //DSSPRINT DD SYSOUT=A //JSPDEBUG DD SYSOUT=A //SYSABEND DD SYSOUT=A //SYSPRINT DD SYSOUT=A ½d¨ÒÀô¹ÒÅܼƸê®Æ¶° (»¡©ú©ó¡uDB2 for OS/390 Application Programming Guide and Reference for Java¡v)¡G ENVAR("TZ=PST07", "DB2SQLJPROPERTIES=/usr/lpp/db2/jdbc/db2710/classes/db2sqljjdbc.properties", "LIBPATH=/usr/lpp/DWC", "VWSPATH=/usr/lpp/DWC", "CLASSPATH=/usr/lpp/db2/jdbc/db2710/classes:/usr/lpp/DWC:/usr/lpp/hpj/lib"), MSGFILE(JSPDEBUG) Âà´«µ{¦¡ªº°ê®a»y¨¥¤ä´© OS/390 ¥N²zµ{¦¡²£¥Íªº¤j³¡¥÷°T®§¬Ò¶Ç°e¦Ü NT ¥­¥x¨Ó¸ÑĶ¡A ©Ò¥H¤j¦h¼Æ±¡ªp¤U¡A °T®§»y¨¥¨t®Ú¾Ú UDB for NT ¦p¦ó¦w¸Ë¦Ó©w¡C Âà´«µ{¦¡¬O¨Ò¥~¡COS/390 ¥N²zµ{¦¡´£ ¨Ñ¤U¦C°T®§ÀɮרÑÂà´«µ{¦¡¨Ï¥Î¡G File name: For language: Xf.properties_Fi_FI Finnish in Finland Xf.properties_No_NO Norwegian in Norway Xf.properties_Ru_RU Russian in Russia Xf.properties_Zh_CN Chinese in China (People's Republic of China) Xf.properties_Zh_TW Chinese in Taiwan Xf.properties_Da_DK Danish in Denmark Xf.properties_De_DE German in Germany Xf.properties_En_US English in U.S. Xf.properties_Es_ES Spanish in Spain Xf.properties_Fr_FR French in France Xf.properties_It_IT Italian in Italy Xf.properties_Ja_JP Japanese in Japan Xf.properties_Ko_KR Korean in Korea Xf.properties_Pt_BR Portugese in Brazil Xf.properties_Sv_SE Swedish in Sweden ­Y±zªºÂà´«µ{¦¡°T®§¤£¬O­^¤å¡A½Ð¿ï¨ú¤W­z¨ä¤¤¤@­ÓÀɮסA±N¨ä¤º®e½Æ»s¨ì Xf.properties¡C 42.27.6 ¦s¨ú DB2 ¨t¦C¤§¥~ªº¸ê®Æ®w ­Y­n¦s¨ú«D DB2 Universal Database ¨t¦Cªº¸ê®Æ®w¡AOS/390 ¥N²zµ{¦¡¨Ï¥Î DataJoiner¡C DataJoiner ¥iÅý¥N²zµ{¦¡¨Ï¥Î³q±`ªº DRDA ¦ê¬y¡A §Ï©»¥¦´N¬O UDB ¸ê®Æ®w¡C¦pªG ODBC ­n¨D³Q¾É¤Þ¨ì¤@­Ó«D DB2 ¨t¦C¸ê®Æ®w¨Ó·½¡ADataJoiner ·|©I¥s ªþ¥[¼h¦¸ªºµ{¦¡½X¨Ó¦s¨ú¥~³¡ªº¸ê®Æ®w¡C DataJoiner ¥i¥H¦s¨ú Oracle¡BSybase¡BInformix¡BMicrosoft SQL Server¡B Teradata ¤Î¥ô¦ó¨ä¥¦°õ¦æ¦b Windows NT¡BAIX ©Î Sun Solaris §@·~Àô¹Ò¤W¦³ ODBC ÅX°Êµ{¦¡ªº¸ê®Æ®w¡COS/390 ¥N²zµ{¦¡¥i¦s¨ú§@¬°¨Ó·½ªº DataJoiner¡A ¦ý§@¬°¥Ø¼Ð´N ¤£¥i¥H¡CDataJoiner ¤£¤ä´©¤G¶¥¬qªº COMMIT¡C ÁöµM DataJoiner ¦bª©¥» 2.1 ¤Î 2.1.1 ¤¤¤ä´© TCP/IP §@¬°À³¥Îµ{¦¡­n¨D¾¹¡A ¦ý¥¦¨Ã¨S¦³À³¥Îµ{¦¡¦øªA¾¹¡C¦]¬° OS/390 ¥N²zµ{¦¡ »Ý­nÀ³¥Îµ{¦¡¦øªA¾¹¨Ó¨Ï¥Î TCP/IP¡A ½Ð§ï¥Î SNA ³s½u¨Ó±q OS/390 ¦s¨ú DataJoiner¡C ¦b OS/390 ¤W¦s¨ú IMS ¤Î VSAM Classic Connect ¥i­Ó§O±q­ÜÀx¥N²zµ{¦¡ÁʶR¤Î¦w¸Ë¡C OS/390 ¥N²zµ{¦¡³z¹L Classic Connect ODBC ÅX°Êµ{¦¡¨Ó¦s¨ú IMS ¤Î VSAM¡CClassic Connect ¥iÅý±z³]¸m IMS ¤Î VSAM ¸ê®Æ¶°ªº DB2-like ©w¸q¡A µM«á¨Ï¥Î ODBC ¨Ó¦s¨ú¥¦­Ì¡C OS/390 ¥N²zµ{¦¡·|®Ú¾Ú­n¨D¬O§_¾É¤Þ¨ì Classic Connect ©Î DB2¡A ¨Ó¸ü¤J¥¿½Tªº ODBC ÅX°Êµ{¦¡¡C¦pªG±z­n¦s¨ú DB2 ¨Ó·½¡A ¥N²zµ{¦¡·|¸ü¤J DB2 ODBC ÅX°Êµ{¦¡¡C¦p ªG±z¥¿¦b¦s¨ú VSAM ©Î IMS ¨Ó·½¡A ¥N²zµ{¦¡·|¸ü¤J Classic Connect ODBC ÅX°Êµ{ ¦¡¡CµM«á´N·|³B²z¥N²zµ{¦¡­n¨D¡C ³]¸m Classic Connect ODBC ÅX°Êµ{¦¡»P­ÜÀx¦s¨ú Classic Connect ¥i­Ó§O±q OS/390 ¥N²zµ{¦¡ÁʶR¤Î¦w¸Ë¡C Classic Connect ¥i±N³æ ¤@ÀɮשΤ@­ÓÀɮתº¤@³¡¥÷µø¬°¤@©Î¦h­ÓÃöÁp¦¡ªí®æ¡C ±z¥²¶·¹ï¬M IMS ©M VSAM ¸ê ®Æ¡A¤~¯àÅý Classic Connect ¦s¨ú¡C ±z¥i¤â°Ê¹ï¬M¸ê®Æ©Î¨Ï¥Î Microsoft Windows Classic Connect «DÃöÁp¦¡¸ê®Æ¹ï¬Mµ{¦¡¡C 1. ¦b OS/390 ¤W¦w¸Ë Classic Connect Data Server¡C 2. ¿ï¥Î©Ê¡G¦b NT ¤W¦w¸Ë Classic Connect Data Mapper ²£«~¡C 3. ©w¸q Classic Connect ªºÅÞ¿èªí©w¸q¡AÅý Classic Connect ¥i¨ÌÃö«Y¨Ó¦s¨ú¸ê ®Æ¡C±z¥i¨Ï¥Î¸ê®Æ¹ï¬Mµ{¦¡¨Ó«Ø¥ß IMS ©M VSAM µ²ºcªº©w¸q¡A©Î¤â°Ê«Ø¥ß©w ¸q¡C 4. ¦b±z³]©w Classic Connect ¤§«á¡A±z¥i³]©w¹ï©ó­ÜÀxªº¦s¨úÅv­­¡G a. «Ø¥ß¤@­Ó Classic Connect .ini ÀɮסC ½d¨Ò Classic Connect À³¥Îµ{¦¡¬[ºcÀÉ cxa.ini ¦b /usr/lpp/DWC/ ¥Ø¿ý ¤¤¡A¥B¥¦·|¦b³oùؽƻsµ¹±z¡G * national language for messages NL = US English * resource master file NL CAT = usr/lpp/DWC/v4r1m00/msg/engcat FETCH BUFFER SIZE = 32000 DEFLOC = CXASAMP USERID = uid USERPASSWORD = pwd DATASOURCE = DJX4DWC tcp/9.112.46.200/1035 MESSAGE POOL SIZE = 1000000 b. §ó·s .ini Àɤ¤ªº DATASOURCE ¦æ¡C³o¤@¦æ¥]§t¤@­Ó¸ê®Æ¨Ó·½¦WºÙ¤Î¤@­Ó ³q«H¨ó©w¦ì§}¡C ¸ê®Æ¨Ó·½¦WºÙ¥²¶·»P Classic Connect ¸ê®Æ¦øªA¾¹¤W©w ¸qªº Query Processor ¦WºÙ¬Û¹ïÀ³¡A ¦ì¸m¦b¸ê®Æ¦øªA¾¹ªº°t¸mÀɤ¤ªº QUERY PROCESSOR SERVICE INFO ENTRY¡C³q«H¨ó©w¦ì§}¥i¦b¦P¤@­ÓÀɮפ¤ ªº TCP/IP SERVICE INFO µn¿ý§ä¨ì¡C³o­ÓÀɮ׸̪º USERID ¤Î USERPASSWORD ·|¦b©w¸q­ÜÀx¸ê®Æ¨Ó·½®É¥Î¨ì¡C c. ¶×¥X CXA_CONFIG Àô¹ÒÅܼƨì Classic Connect µ{¦¡ÀÉ¡A ¥¦­Ì³q±`»P .ini Àɮצì¦b¬Û¦Pªº¥Ø¿ý¡C d. §ó·s LIBPATH Àô¹ÒÅܼơA±N¸ô®|¥[¨ì Classic Connect µ{¦¡ÀÉ¡A ³q±`©M .ini Àɮצb¬Û¦Pªº¥Ø¿ý¤¤¡C e. ¿ï¥Î©Ê¡G¨Ï¥Î´ú¸Õµ{¦¡ cxasamp ¨ÓÅçÃÒ¦w¸Ë¡G¦b±zªº.ini ÀɮשҦbªº¥Ø ¿ý¤¤¿é¤J cxasamp¡C location/uid/pwd ¬O©w¸q©ó .ini Àɮפ¤ªº data source name/userid/userpassword¡C f. ©w¸q¸ê®Æ¨Ó·½¨ì­ÜÀx¡A´N¦p¦P±z©w¸q¥ô¦ó DB2 ¸ê®Æ¨Ó·½¡C ±z¤£»Ý­n¥h§ó·s dsnaoini ÀɮסA ¦]¬° DB2 for OS/390 ¨S¦³ÅX°Êµ{¦¡ºÞ²z­û¡C Classic Connect ªºÅX°Êµ{¦¡ºÞ²z­û¤º«Ø¦b OS/390 ¥N²zµ{¦¡¤¤¡C 42.27.7 °õ¦æ DB2 for OS/390 ¤½¥Îµ{¦¡ ±z¥²¶·±N APAR PQ44904 ¤Þ¥Î¦Ü OS/390 ¥N²zµ{¦¡¡A¥H«K¨Ï¥Î¥N²zµ{¦¡¨Ó°õ¦æ¤½¥Îµ{ ¦¡¡C DSNUTILS ¬O¤@­Ó¦b WLM »P RRS Àô¹Ò¤¤°õ¦æªº DB2 for OS/390 Àx¦sµ{§Ç¡C±z¥i¥H¥Î ¥¦¨Ó°õ¦æ¥ô¦óÂǥѨϥΪ̩w¸qÀx¦sµ{§Ç¤¶­±©Ò¦w¸Ëªº DB2 ¤½¥Îµ{¦¡¡CDB2 for OS/390 LOAD¡BREORG ¤Î RUNSTATS ¤½¥Îµ{¦¡´£¨Ñ¤º®eªí¡A¨Ñ±z¥Î¨ÓÅܧ󤽥ε{¦¡¦p¦ó°õ¦æ¡C ±ýÅܧ󤽥ε{¦¡ªº¤º®e¡A½Ð¦b¤½¥Îµ{¦¡ªº¡u³B²z¼Ò«¬²£¥Í¾¹¡vµøµ¡¤W«ö¤@¤U¥kÁä¡A¦A «ö¤@¤U¤º®e¡C Warehouse Manager ¥ç´£¨Ñ DSNUTILS ªº¤¶­±¡AÅý±z¦b Warehouse Manager ¨BÆJ¤¤¥i ¨Ö¤J DB2 ¤½¥Îµ{¦¡¡C ­Y­n³]©w DSNUTILS Àx¦sµ{§Ç¡G 1. ·í¦w¸Ë DB2 ®É¡A°õ¦æ DSNTIJSG ¤u§@¨Ó³]©w©M³sµ² DSNUTILS Àx¦sµ{§Ç¡C½Ð½T ©w DSNUTILS ªº©w¸q¦³ PARAMETER STYLE GENERAL¡C 2. ±Ò¥Î WLM ºÞ²zªºÀx¦sµ{§Ç¡C 3. ³]©w RRS ¤Î WLM Àô¹Ò¡C 4. °õ¦æ DB2 ´£¨Ñªº½d¨Ò§å¦¸ DSNUTILS µ{¦¡¡C(¦¹¨BÆJ«D¥²­n¡A¦ý«Øij°õ¦æ¡C) 5. ±N DSNUTILS ³W¹º»P DSNCLI ³W¹º§@³sµ²¡A¦p¦¹ CLI ´N¥i¥H©I¥sÀx¦sµ{§Ç¡G BIND PLAN(DSNAOCLI) PKLIST(*.DSNAOCLI.*, *.DSNUTILS.*) 6. ¨Ï¥Î Warehouse Manager ³]©w¨BÆJ¨Ã°õ¦æ¸Ó¨BÆJ¡C¥ÀÅéÃþ«¬À³¸Ó¬O APPEND¡C­Y ¤£¬O¡A«h°õ¦æ¤½¥Îµ{¦¡¤§«e¡AWarehouse Manager ·|§R°£ªí®æ¤¤ªº©Ò¦³¶µ¥Ø¡C ¨Ï¥Î LOAD ¤½¥Îµ{¦¡¦b DB2 for OS/390 ªí®æ¤§¶¡½Æ»s¸ê®Æ °²³]±z·Q­n±Nªí®æ¨ø¸ü¦Ü¤@­Ó¯Â¤å¦rÀɨӽƻsªí®æ¡AµM«á±N¯Â¤å¦rÀɸü¤J¦Ü¥t¤@­Óªí ®æ¡C ±z³q±`¥²¶·¨ø¸ü¸ê®Æ¡A½s¿è¸ü¤J±±¨î³¯­z¦¡¨Ó¨ø¸ü²£¥Íªº¸ê®Æ¡A µM«á¸ü¤J¸ê ®Æ¡C³z¹L­ÜÀx¡A±z¥i«ü©w±z­n­«·s¸ü¤J¦Ü¤£¦Pªºªí®æ¡A ¤£¥²¦b¨BÆJ¤§¶¡°±¤î©M¤â°Ê½s ¿è±±¨î³¯­z¦¡¡C °µªk¦p¤U¡G¨Ï¥Î Reorg/Generic ¤¶­±¨Ó«Ø¥ß¤@­Ó¨BÆJ¡A ¨ä¤¤¨Ï¥Î UNLOAD ¤½¥Îµ{¦¡©Î REORG TABLESPACE ¤½¥Îµ{¦¡¨Ó¨ø¸ü¤@­ÓÀɮסC³o¨â­Ó¤½¥Îµ{¦¡·| ²£¥Í¨â­Ó¿é¥X¸ê®Æ¶°¡A ¨ä¤¤¤@­Ó§t¦³ªí®æ¸ê®Æ¡A¥t¤@­Ó§t¦³¥i¿é¤J¦Ü LOAD ªº¤½¥Îµ{ ¦¡±±¨î³¯­z¦¡¡C ¦b¤½¥Îµ{¦¡©Ò²£¥Íªº±±¨î³¯­z¦¡¤¤¡A INTO TABLE ªí®æ¦WºÙ¬O¤w¨ø¸ü ªºªí®æ¦WºÙ¡C¥H¤UÅã¥Ü±z¥i¦b Reorg Unload ¨BÆJ¤¤¨Ï¥Îªº DSNUTILS °Ñ¼Æ½d¨Ò¡G ªí 33. Reorg Unload ¨BÆJªº¤º®e UTILITY_ID REORGULX RESTART NO UTSTMT REORG TABLESPACE DBVW.USAINENT UNLOAD EXTERNAL UTILITY_NAME REORG TABLESPACE RECDSN DBVW.DSNURELD.RECDSN RECDEVT SYSDA RECSPACE 50 PNCHDSN DBVW.DSNURELD.PNCHDSN PNCHDEVT SYSDA PNCHSPACE 3 ¨Ï¥Î Reorg/Generic DSNUTILS ¤¶­±¨Ó«Ø¥ß¤@­Ó¸ü¤J¨BÆJ¡C DSNUTILS ¤½¥Îµ{¦¡³¯­z ¦¡°Ñ¼Æ³q±`«ü©w¤@­Ó¤½¥Îµ{¦¡±±¨î³¯­z¦¡¡C ­ÜÀx¤½¥Îµ{¦¡¤¶­±¥ç®e³\¤½¥Îµ{¦¡³¯­z¦¡ Äæ¦ì¤¤¥X²{ÀɦW¡C ±z¥i¨Ï¥ÎÃöÁä¦r FILE ¨Ó«ü©w¥]§t¦³®Ä±±¨î³¯­z¦¡ªºÀɮסA ¥H¤Î ¨Ï¥ÎÃöÁä¦r TABLE ¨Ó«ü©w±z­n¸ü¤Jªºªí®æ¦WºÙ¡C ­Y­n¨Ï¥Î LOAD ¤½¥Îµ{¦¡¨Ó¨Ï¥Î¥ý «e½d¨Òªº¿é¥X¡A ½Ð¦b LOAD ¤º®e¤¤¤Þ¥Î¤U¦C°Ñ¼Æ­È¡G µù: ¦b UTSTMT Äæ¦ì¤¤¡AÁä¤J¤@­Ó¸ü¤J³¯­z¦¡¡A©ÎÁä¤J REORG ¤½¥Îµ{¦¡©M UNLOAD EXTERNAL ¿ï¶µ©Ò¿é¥XªºÀɮצWºÙ¡C ªí 34. LOAD ¨BÆJ¤º®e UTILITY_ID LOADREORG RESTART NO UTSTMT :FILE:DBVW.DSNURELD.PNCHDSN:TABLE:[DBVW].INVENTORY UTILITY_NAME LOAD RECDSN DBVW.DSNURELD.RECDSN RECDEVT SYSDA ³o¹ï©ó¬Û¦P©Î¤£¦P DB2 ¤l¨t²Î¤Wªº¥ô¦ó DB2 for OS/390 ¨Ó·½©M¥Ø¼Ðªí®æ¬Ò¦³¥Î¡C ±±¨î³¯­z¦¡¯Â¤å¦rÀÉ¥i¥H¬O HFS ©Î­ì©l MVS ÀɮסC ­Y»Ý§ó¦h¦³Ãö OS/390 ¤W¥i¥Îªº DSNUTILS »P DB2 ¤½¥Îµ{¦¡ªº¸Ô²Ó¸ê°T¡A ½Ð°Ñ¾\ DB2 for OS/390 Utility Guide and Reference¡C 42.27.8 §Û¼g ±z¥i¥H¨Ï¥Î OS/390 ¥N²zµ{¦¡¨Ó±N Data Propagator §Û¼g¤Þ¥Î¨BÆJ¦Û°Ê¤Æ¡C§Û¼g»Ý­n ¦³¤@­Ó¨Ó·½¸ê®Æ®w¡B¤@­Ó±±¨î¸ê®Æ®w¡A¥H¤Î¤@­Ó¥Ø¼Ð¸ê®Æ®w¡C³o¨Ç¥i¥H¬O¤£¦P©Î¬Û¦P ªº¸ê®Æ®w¡C ¤@­ÓÂ^¨ú¤uŪ¨ú DB2 ¤é»x¨Ó§PÂ_¨Ó·½¸ê®Æ®w¤¤¤w·s¼W¡B§ó·s©ÎÅÜ§óªº ¦C¡C µM«á¡A¦¹¤u§@±NÅܧó¼g¤J¤@­ÓÅܧó¸ê®Æªí¡C µM«á·|°õ¦æ¤Þ¥Î¤u§@±NÅܧó®M¥Î¨ì ¥Ø¼Ð¸ê®Æ®w¤¤¡C DB2 Warehouse Manager ¥i«Ø¥ß§Û¼g¨BÆJ¥H¦Û°Ê¤Æ¤Þ¥Î¤u§@¡C¨Ï¥Î Warehouse Manager ©w¸q­n°õ¦æªº¤Þ¥Î¤u§@Ãþ«¬¤Î°õ¦æªº®É¶¡¡C±z¥²¶·±N SASNLINK ÀÉ®×®w¶×¥X¨ì steplib Àô¹ÒÅܼơC ·s¼W§Û¼g¤ä´©¨ì¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¼ÒªO ¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¥]¬A¤F¤@­Ó JCL ¼ÒªOµ¹§Û¼g¤ä´©¡C ¦pªG±z­p¹º­n¨Ï¥Î³o­Ó OS/390 ¥N²zµ{¦¡¨Ó°õ¦æ¤Þ¥Îµ{¦¡¡A «h±z¥²¶·¬°±zªº OS/390 ¨t²ÎÅܧ󦹼ҪO¤¤ªº±b¤á¤Î¸ê®Æ ¶°¸ê°T¡C­Y­nÅܧó¼ÒªO¡G 1. ¥H¤@­Ó¦³Åv­­¦b /usr/lpp/DWC/ ¥Ø¿ý¤¤½Æ»s¤Î§ó·sÀɮתº ID µn¤J¡C 2. ´M§ä apply.jcl¡A¨Ã±N¦¹ÀÉ®×¥t¦s¬° systemname.apply.jcl¡A ¨ä¤¤ systemname ¬O MVS ¨t²Îªº¦WºÙ¡C ¨Ò¦p¡A¦pªG¦b STLMVS1 ¤W¡A«Ø¥ßªºÀÉ®×°Æ¥» ¦W¬° STLMVS1.apply.jcl¡C 3. ¨Ï¥Î¤å¦r½s¿èµ{¦¡¨Ó¦Û­q JCL¡A¥H²Å¦X±z¯¸¥xªº»Ý¨D¡C Åܧó±b¤á¸ê°T¥H²Å¦X±z ªº MVS ¨t²Îªº¼Ð·Ç±b¤á¸ê°T¡A ¨ÃÅܧó STEPLIB DD ªº¸ê®Æ¶°¤Î MSGS DD¡C 4. ¦pªG»Ý­n¡AÅܧó EXEC ¥d¤Wªºµ{¦¡¦WºÙ¡C ­Y»ÝÅܧóµ{¦¡¦WºÙªº¸Ô²Ó¸ê°T¡A ½Ð°Ñ ¾\ DB2 «ü«n»P°Ñ¦Ò¤â¥U¡C½Ð¤ÅÅܧó¥ô¦ó¤è¬A©·([) ¤ºªº°Ñ¼Æ¡A ¤ñ¦p [USERID] ¤Î [APPLY_PARMS]¡C(¤è¬A©·¤À§O¬°¤Q¤»¶i¦ì¦r¤¸ x'AD' ¤Î x'BD'¡C­Y±zªº TSO ²×ºÝ¾÷Ãþ«¬¦b SPF ¿ï¶µ 0 ¤¤¥¼³]¦¨ 3278A¡A³o¨Ç­È¥i¯à·|Åã¥Ü¦¨¯S®í¦r¤¸¡A¦Ó ¤£¬O¤è¬A©·¡C³o¨Ã¤£·|¬O°ÝÃD¡A ¦pªG±z¨S¦³Åܧó x'AD' ©Î x'BD'¡A©ÎªÌ¥ô¦ó¦r ¤¸¤§¶¡ªº¸ê®Æ¡C) 5. §ó·sÀô¹ÒÅÜ¼Æ VWS_TEMPLATES¡A«ü¦V½Æ»sªº¼ÒªOÀɮתº¥Ø¿ý¡C ¤U¦C½d¨ÒÅã¥Ü¡u¸ê®Æ­ÜÀx¤¤¤ß¡v¤¤ªº JCL ¼ÒªO¡G ¤Þ¥Î JCL ¼ÒªO¡G //[USERID]A JOB ,MSGCLASS=H,MSGLEVEL=(1,1), // REGION=2M,TIME=1440,NOTIFY=&SYSUID //* DON'T CHANGE THE FIRST LINE OF THIS TEMPLATE. //* THE REMAINING JCL SHOULD BE MODIFIED FOR YOUR SITE. //********************************************** //* RUN APPLY/MVS ON OS/390 DB2 6.1 * //********************************************** //ASNARUN EXEC PGM=ASNAPV66,REGION=10M, // [APPLY_PARMS] //STEPLIB DD DISP=SHR,DSN=DPROPR.V6R1M0.SASNLINK // DD DISP=SHR,DSN=DSN610.SDSNLOAD //MSGS DD DSN=DPROPR.V2R1M0A.MSGS,DISP=SHR //ASNASPL DD DSN=&&ASNASPL,DISP=(NEW,DELETE,DELETE), // UNIT=SYSDA,SPACE=(CYL,(10,1)), // DCB=(RECFM=VB,BLKSIZE=6404) //SYSTERM DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* // 42.27.9 ¥N²zµ{¦¡°O¸ü ³\¦h DB2 Warehouse Manager ¤¸¥ó (¤ñ¦p¦øªA¾¹¡B¤é»x¾¹¡B¥N²zµ{¦¡¤Î³¡¥÷¡u¸ê®Æ­Ü Àx¤¤¤ß¡v) ·|±N¤é»x¼g¤J¨ì¤é»x¥Ø¿ý («ü©w¦b VWS_LOGGING Àô¹ÒÅܼƤ¤)¡C¤é»xÀɬ° ¯Â¤å¦r¡C ±z¥i±q¡u¸ê®Æ­ÜÀx¤¤¤ß¡v±Ò°Ê¥N²zµ{¦¡¤é»x¡C ¦b¥ªµ¡®æ¤¤¡A¥H·Æ¹«¥kÁä«ö¤@¤U­ÜÀx¡A ¦A«ö¤@¤U¤º®e¡C¦b¡u°lÂܼh¦¸¡v¼ÐÅÒ¤W¡A±N³]©w­ÈÅܧ󦨱z­nªº°lÂܼh¦¸¡C ¥N²zµ{¦¡ °lÂܤ䴩¼h¦¸ 0-4¡G * ¼h¦¸ 1 - ¶i¤J/Â÷¶}°lÂÜ * ¼h¦¸ 2 - ¼h¦¸ 1 ¥[¤W°£¿ù°lÂÜ * ¼h¦¸ 3 - ¼h¦¸ 2 ¥[¤W¸ê®Æ°lÂÜ * ¼h¦¸ 4 - ¤º³¡½w½Ä°Ï°lÂÜ ·í°lÂܪº³]©w°ª©ó¼h¦¸ 1¡A®Ä¯à±N·|¸ûºC¡C¥u¦³°£¿ù®É¤~À³¶}±Ò°lÂÜ¡C°lÂܸê°T·|Àx ¦s¦b AGNTxxx.LOG Àɮפ¤¡AÀô¹Ò¸ê°T·|Àx¦s¦b AGNTxxx.SET Àɮפ¤¡C ------------------------------------------------------------------------ 42.28 Windows NT ¤Wªº±qÄݯ¸ºÝ§Ö¨ú ¦pªG¨Ï¥ÎªÌ¹Á¸Õ¥h¦s¨ú¤@¥x Windows NT Server ¾÷¾¹¤Wªº READ PERM DB ÀɮסA ¦Ó ¦b¾÷¾¹¤W¬O¨Ï¥Î§t¦³®Ä²Å°Oªº¦@¥ÎºÏºÐ¾÷¨Ó«Ø¥ß DB2 ¸ê®ÆÃìµ²¡A ÀÉ®×·|¦p¹w´Á¶} ±Ò¡CµM¦Ó¡A¦b¦¹¤§«á¡A¨Ï¥Î¬Û¦P²Å°Oªº«áÄò¶}±Ò­n¨D¨Ã¤£·|°e¨ì¦øªA¾¹¡A ¦Ó¬O¥Ñ±qÄÝ ¯¸¤Wªº§Ö¨ú¨ÓªA°È¡C§Y¨Ï¦b²Å°O¨ì´Á¤§«á¡A ¨Ï¥ÎªÌ¤´¥i¥H¬Ý¨ìÀɮתº¤º®e¡A¦]¬°¶µ¥Ø ¤´µM¦b§Ö¨ú¤§¤¤¡CµM¦Ó¡A¦pªGÀɮ׬O¦b¤@¥x Windows NT Workstation ¤W¡A«h¦¹°ÝÃD ¨Ã¤£·|µo¥Í¡C ¸Ñ¨M¤è®×¬O¦b Windows NT Server ¤W±Nµn¿ý¶µ¥Ø \\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ Lanmanserver\Parameters\EnableOpLocks ³]©w¬° 0¡CÂǥѦ¹µn¿ý³]©w¡A¨C·í³z¹L¦@ ¥ÎºÏºÐ¾÷±q±qÄݤu§@¯¸¦s¨ú¦øªA¾¹¤WªºÀɮ׮ɡA ­n¨D¤@©w·|°e¨ì¦øªA¾¹¡A¦Ó¤£·|¥Ñ±q Äݯ¸§Ö¨ú¨ÓªA°È¡C¦]¦¹¡A©Ò¦³­n¨D³£·|­«·sÅçÃҲŰO¡C ¦¹¸Ñ¨M¤è®×ªº­t­±¼vÅT¬O³o¼Ë·|¼vÅT©Ò¦³³z¹L¦@¥ÎºÏºÐ¾÷±q¦øªA¾¹¦s¨úÀɮתº¾ãÅé®Ä ¯à¡C§Y¨Ï¦³¦¹³]©w¡A¦pªGÀɮ׬O³z¹L¹ï¬M¨ì¦øªA¾¹¥»¨­ªº¦@¥ÎºÏºÐ¾÷¨Ó¦s¨úªº (·íµL ªk±q¤£¦Pªº±qÄݯ¸¾÷¾¹)¡Aµ²ªG¬O¤´·|±q§Ö¨ú¨ÓªA°È­n¨D¡C¦]¦¹¡A²Å°O¹L´Á¨Ã¨S¦³¥Í ®Ä¡C µù: ¦b©Ò¦³ªº±¡ªp¤U¡A¦pªGÀɮצs¨ú¬O¥»ºÝ¦s¨ú¡A ¦Ó«D³z¹L¦@¥ÎºÏºÐ¾÷¡A²Å°OÅçÃÒ ¤Î«áÄòªº²Å°O¹L´Á·|¦p¹w´Áµo¥Í¡C ------------------------------------------------------------------------ 42.29 Enterprise Edition UNIX CD-ROM ªº¸Õ¥Î²£«~ ¾A¥Î©ó UNIX ¥­¥xª©¥» 6 ¤Îª©¥» 7 ªº DB2 Universal Database (UDB) Enterprise Edition (EE) CD-ROM¡A ¥]§t¤@®M 90 ¤Ñªº DB2 Connect Enterprise Edition (CEE) ¸Õ¥Îª©¡C¥Ñ©ó DB2 Connect ¥\¯à¬O«Ø¥ß©ó DB2 UDB EE ²£«~¤¤¡A ±z¤£»Ý­n¦b¤w¦w¸Ë DB2 UDB EE ªº¨t²Î¤W¦w¸Ë DB2 CEE ²£«~´N¯à¨Ï¥Î DB2 Connect ¥\¯à¡C ¦pªG±z¦w¸Ë ¤F 90 ¤Ñªº DB2 CEE ¸Õ¥Îª©¡A¨Ã¥B¨M©wª@¯Å¦Ü±ÂÅvª©¥»¡A´N¥²¶·ÁʶR DB2 CEE ²£«~ ¨Ã¦w¸Ë DB2 CEE ±ÂÅv½X¡C±z¤£»Ý­n­«·s¦w¸Ë²£«~¡C ¦b DB2 EE ©Î DB2 CEE for UNIX §Ö³t¤Jªù¤@®Ñ¤¤´£¨Ñ¤F¦w¸Ë±ÂÅv½Xªº«ü¥Ü¡C ¦pªG±z¤wÀHµÛ EE ªº¦w¸Ë¡A¦w¸Ë¸Õ¥Îªº CEE ²£«~¡A«o¤£·Q­n¥Ã¤[¦a¦w¸Ë CEE¡A ±z¥i ¥H¿í´`¤U¦C«ü¥Ü¡A°£¥h 90 ¤Ñªº CEE ¸Õ¥Îª©¡C¦pªG±z°£¥h Connect EE ªº¸Õ¥Îª©¡A ±N¤´µM¥i¥H¨Ï¥Î DB2 EE ªº DB2 Connect ¥\¯à¡C ­Y­n°£¥h DB2 Connect ª©¥» 7¡A½Ð±q¦U­Ó¥­¥x¸Ñ°£¦w¸Ë¤U¦CªºÀɮ׶°¡G * ¦b AIX¡A¸Ñ°£¦w¸Ë db2_07_01.clic Àɮ׶°¡C * ¦b NUMA-Q ¤Î Solaris §@·~Àô¹Ò¡A¸Ñ°£¦w¸Ë db2clic71 ®M¸Ë³nÅé¡C * ¦b Linux¡A¸Ñ°£¦w¸Ë db2clic71-7.1.0-x RPM¡C * ¦b HP-UX¡A¸Ñ°£¦w¸Ë DB2V7CONN.clic Àɮ׶°¡C ­Y­n°£¥h DB2 Connect ª©¥» 6¡A½Ð±q¦U­Ó¥­¥x¸Ñ°£¦w¸Ë¤U¦CªºÀɮ׶°¡G * ¦b AIX¡A¸Ñ°£¦w¸Ë db2_06_01.clic Àɮ׶°¡C * ¦b NUMA-Q ¤Î Solaris §@·~Àô¹Ò¡A¸Ñ°£¦w¸Ë db2cplic61 ®M¸Ë³nÅé¡C * ¦b Linux¡A¸Ñ°£¦w¸Ë db2cplic61-6.1.0-x RPM¡C * ¦b HP-UX¡A¸Ñ°£¦w¸Ë DB2V6CONN.clic Àɮ׶°¡C ------------------------------------------------------------------------ 42.30 DB2 Connect Enterprise Edition UNIX CD-ROM ªº¸Õ¥Î²£«~ ¾A¥Î©ó UNIX ¥­¥xª©¥» 6 ¤Îª©¥» 7 ªº DB2 Connect Enterprise Edition (EE) CD-ROM¡A ¥]§t¤@®M 90 ¤Ñªº DB2 Universal Database (UDB) Enterprise Edition (EE) ¸Õ¥Îª©¡C´£¨Ñ 90 ¤Ñªº DB2 UDB EE ¸Õ¥Îª©§@¬°µû¦ô¤§¥Î¡A ¹ï DB2 Connect ªº ¹B§@¨Ã¤£¬O¥²­nªº¡C ¦pªG±z¦w¸Ë¤F 90 ¤Ñªº DB2 UDB EE ¸Õ¥Îª©¡A¨Ã¥B¨M©wª@¯Å¦Ü±ÂÅvª©¥»¡A ´N¥²¶·ÁʶR DB2 UDB EE ²£«~¨Ã¦w¸Ë DB2 UDB EE ±ÂÅv½X¡C ±z¤£»Ý­n­«·s¦w¸Ë²£«~¡C¦b DB2 EE ©Î DB2 CEE for UNIX §Ö³t¤Jªù¤@®Ñ¤¤´£¨Ñ¤F¦w¸Ë±ÂÅv½Xªº«ü¥Ü¡C ¦pªG±z¤wÀHµÛ Connect EE ªº¦w¸Ë¡A¦w¸Ë¸Õ¥Îªº UDB EE ²£«~¡A «o¤£·Q­n¥Ã¤[¦a¦w¸Ë CEE¡A±z¥i¥H ¿í´`¤U¦C«ü¥Ü¡A°£¥h 90 ¤Ñªº EE ¸Õ¥Îª©¡C ¦pªG±z°£¥h DB2 UDB EE ªº¸Õ¥Îª©¡A±N¤£ ¼vÅT DB2 Connect EE ªº¥\¯à¡C ­Y­n°£¥h DB2 UDB EE ª©¥» 7¡A½Ð±q¦U­Ó¥­¥x¸Ñ°£¦w¸Ë¤U¦CªºÀɮ׶°¡G * ¦b AIX¡A¸Ñ°£¦w¸Ë db2_07_01.elic Àɮ׶°¡C * ¦b NUMA-Q ¤Î Solaris §@·~Àô¹Ò¡A¸Ñ°£¦w¸Ë db2elic71 ®M¸Ë³nÅé¡C * ¦b Linux¡A¸Ñ°£¦w¸Ë db2elic71-7.1.0-x RPM¡C * ¦b HP-UX¡A¸Ñ°£¦w¸Ë DB2V7ENTP.elic Àɮ׶°¡C ­Y­n°£¥h DB2 UDB EE ª©¥» 6¡A½Ð±q¦U­Ó¥­¥x¸Ñ°£¦w¸Ë¤U¦CªºÀɮ׶°¡G * ¦b AIX¡A¸Ñ°£¦w¸Ë db2_06_01.elic Àɮ׶°¡C * ¦b NUMA-Q ¤Î Solaris §@·~Àô¹Ò¡A¸Ñ°£¦w¸Ë db2elic61 ®M¸Ë³nÅé¡C * ¦b Linux¡A¸Ñ°£¦w¸Ë db2elic61-6.1.0-x RPM¡C * ¦b HP-UX¡A¸Ñ°£¦w¸Ë DB2V6ENTP.elic Àɮ׶°¡C ------------------------------------------------------------------------ 42.31 ±Ë±ó Data Links Manager ±z²{¦b¥i¥H±Ë±ó«ü©w¸ê®Æ®wªº DB2 Data Links Manager¡C¬Y¨Ç¸ê®ÆÁäµ²¬ÛÃöªº SQL ­n¨D¤§³B²zµ{§Ç »P¤½¥Îµ{¦¡¤@¼Ë (¨Ò¦p¡A³Æ¥÷/´_¸m)¡A¥]§t¤F»P¤w¬[ºc¸ê®Æ®wªº DLM ¤§¶¡ªº³q«H¡C ¦b¥H«e¡ADB2 µLªk±Ë±ó¤w¬[ºcªº DLM¡A§Y¨Ï¥¦©|¥¼³Q¿ï¥Î¡C ³o¾É­P SQL ¤Î¤½¥Îµ{¦¡³B²zµ{§Çªþ¥[ªºÃB¥~­t²ü¡C ¤@¥¹·s¼W DLM¡A¦b­n¨Dªº³B²zµ{§Ç¤¤»P¥¦ ³q«Hªº¤ÞÀº¡A¥i¯à·|¾É­P¬Y¨Ç SQL ­n¨Dªº¥¢±Ñ (¨Ò¦p¡A °£¥hªí®æ/ªí®æªÅ¶¡/¸ê®Æ ®w)¡C ------------------------------------------------------------------------ 42.32 ¨Ï¥Î SMIT ¸Ñ°£¦w¸Ë DLFM ¤¸¥ó¥i¯à·|°£¥hÃB¥~ªºÀɮ׶° ¦b±q¦w¸Ë Data Links Manager ªº AIX ¾÷¾¹¤W¸Ñ°£¦w¸Ë DB2 (ª©¥» 5¡B6 ©Î 7) ¤§ «e¡A ½Ð¿í´`¤U¦C¨BÆJ¡G 1. ¥H root ªº¨­¤À¡A¨Ï¥Î¤U¦C«ü¥O³Æ¥÷ /etc/vfs¡G cp -p /etc/vfs /etc/vfs.bak 2. ¸Ñ°£¦w¸Ë DB2¡C 3. ¥H root ªº¨­¤À¡A¥Î¨BÆJ 1 ©Ò°µªº³Æ¥÷¨ú¥N /etc/vfs¡G cp -p /etc/vfs.bak /etc/vfs ------------------------------------------------------------------------ 42.33 ¦b Windows 2000 ¤W¨Ï¥Î CLP ®Éµo¥Í¿ù»~ SQL1035N ¦pªG¦w¸Ë DB2 ¨ì¥u¦³¬Y¨Ç¨Ï¥ÎªÌ (¨Ò¦p¡AºÞ²zªÌ) ¤~¨ã¦³¼g¤JÅvªº¥Ø¿ý¡A ¤@¯ë¨Ï¥Î ªÌ·|¦b¹Á¸Õ¨Ï¥Î DB2 ©R¥O¦æ³B²z¾¹®É¦¬¨ì¿ù»~ SQL1035N¡C ­Y­n¸Ñ¨M¦¹°ÝÃD¡AÀ³¦b©Ò¦³¨Ï¥ÎªÌ³£¨ã¦³¼g¤JÅvªº¥Ø¿ý¤¤¦w¸Ë DB2¡C ------------------------------------------------------------------------ 42.34 SQL »²§Uµ{¦¡ªº¥[±j¥\¯à SQL »²§Uµ{¦¡¤u¨ã²{¦b¤¹³\¨Ï¥ÎªÌ¬°ªí®æµ²¦X«ü©w¤£¦P©ó "=" ªºµ²¦X¹Bºâ¤l¡C ¥[±j ¥\¯àªº¡uµ²¦XÃþ«¬¡v¹ï¸Ü®Ø (¦b SQL »²§Uµ{¦¡¤u¨ãªº¡uµ²¦X¡v­¶¤W«ö¤@¤U¡uµ²¦XÃþ «¬¡v«ö¶s´N¯à±Ò°Ê¸Ó¹ï¸Ü®Ø)¡A ¥]§tµ²¦X¹Bºâ¤lªº¤U©Ô¦C¥Ü¡C ¥i¥Îªº¹Bºâ¤l¦³ "="¡B"<>"¡B"<"¡B">"¡B"<=" ¤Î ">="¡C SQL »²§Uµ{¦¡¬O¨ó§U¨Ï¥ÎªÌ «Ø¥ß²¦¡ SQL ³¯­z¦¡ªº¤u¨ã¡C ¥¦¥i¥Î©ó¡u©R¥O¤¤¤ß¡v(¡u¥æ½Í¦¡¡v¼ÐÅÒ)¡B¡u±±¨î¤¤ ¤ß¡v(¡u«Ø¥ß·§²¤ªí¡v¤Î¡u«Ø¥ßIJµo¨ç¦¡¡v¹ï¸Ü®Ø)¡B Àx¦sµ{§Ç«Ø¸m¾¹ (¡u´¡¤J SQL Àx¦sµ{§Ç¡vºëÆF) ¤Î¡u¸ê®Æ­ÜÀx¤¤¤ß¡v(SQL ³B²z¨BÆJ)¡C ------------------------------------------------------------------------ 42.35 Linux ¤Wªº DB2 ªº Gnome ©M KDE ®à­±¾ã¦X DB2 ²{¦b´£¨Ñ¤@²Õ¤½¥Îµ{¦¡¨Ó«Ø¥ß DB2 ®à¤WºÞ²zµ{¦¡¸ê®Æ§¨©M¹Ï¥Ü¡A ¥Î¥H¦b Gnome ©M KDE ®à¤WºÞ²zµ{¦¡¤W±Ò°Ê³Ì±`¥Îªº DB2 ¤u¨ã¡A ¨Ñ¥H Intel ¬°°ò¦ªº Linux ¤À°e µ{¦¡¨Ï¥Î¡C DB2 Version 7.2 ¨Ì¹w³]­È·|¦w¸Ë³o¨Ç¤u¨ã¡A ¥B¥i©ó¦w¸Ë¤§«á¥Î¨Ó«Ø¥ß ©M°£¥h¤@©Î¦h­Ó¨Ï¥ÎªÌªº®à¤WºÞ²zµ{¦¡¹Ï¥Ü¡C ±ý·s¼W¤@²Õ®à¤WºÞ²zµ{¦¡¹Ï¥Üµ¹¤@©Î¦h­Ó¨Ï¥ÎªÌ¡A½Ð¨Ï¥Î¤U¦C«ü¥O¡G db2icons [ ...] µù: ½Ðª`·N¡A­Y¦b Gnome ©Î KDE ®à¤WºÞ²zµ{¦¡Àô¹Ò°õ¦æ®É²£¥Í¹Ï¥Ü¡A ¨Ï¥ÎªÌ¥i¯à »Ý­n¤â°Ê´_·s®à¤WºÞ²zµ{¦¡¤~¯à¬Ý¨£·s¹Ï¥Ü¡C ±ý°£¥h¤@©Î¦h­Ó¨Ï¥ÎªÌªº¤@²Õ®à¤WºÞ²zµ{¦¡¹Ï¥Ü¡A½Ð¨Ï¥Î¤U¦C«ü¥O¡G db2rmicons [ ...] µù: ±z¥²¶·¨ã³Æ¨¬°÷ªºÅv­­¤~¯à²£¥Í©Î°£¥h¨ä¥L¨Ï¥ÎªÌªº¹Ï¥Ü¡C ³q±`¡A¦pªG±z¬O¤@ ¯ë¨Ï¥ÎªÌªº¸Ü¡Adb2icons ©M db2rmicons ¥i¥Î¨Ó«Ø¥ß©Î°£¥h±z¦Û¤vªº¹Ï¥Ü¡A¦ý °ß¦³±z¬O root ¨Ï¥ÎªÌ©Î¬O¨ã¦³Åv­­¼g¤J«ü©w¤§¨Ï¥ÎªÌ°_©l¥Ø¿ýªº¥t¤@­Ó¨Ï¥Î ªÌ¡A±z¤~¯à°÷¥Î³o¨â­Ó«ü¥O¨Ó«Ø¥ß©Î°£¥h§O¤Hªº¹Ï¥Ü¡C ------------------------------------------------------------------------ 42.36 ¦b Windows 2000 Terminal Server ºÞ²z¼Ò¦¡¤U°õ¦æ DB2 ¹ï©ó DB2 UDB Version 7.1¡AFixPak 3 ¤Î§ó°ªªºª©¥»¡ADB2 ¥i¦b Windows 2000 Terminal Server ºÞ²z¼Ò¦¡¤U°õ¦æ¡C¦b¦¹¤§«e¡A±zµLªk¦b Windows 2000 Terminal Server ºÞ²z¼Ò¦¡ªº±qÄݯ¸¶¥¬q§@·~¤U°õ¦æ DB2¡C ------------------------------------------------------------------------ 42.37 ³Æ¥÷»P´_¸m«ü¥Oªº½u¤W»¡©ú Incorrect information appears when you type db2 ? backup. ¥¿½Tªº¿é¥X¬°¡G BACKUP DATABASE database-alias [USER username [USING password]] [TABLESPACE (tblspace-name [ {,tblspace-name} ... ])] [ONLINE] [INCREMENTAL [DELTA]] [USE TSM [OPEN num-sess SESSIONS]] | TO dir/dev [ {,dir/dev} ... ] | LOAD lib-name [OPEN num-sess SESSIONS]] [WITH num-buff BUFFERS] [BUFFER buffer-size] [PARALLELISM n] [WITHOUT PROMPTING] ·í±zÁä¤J db2 ? restore ®É¡A¥X²{¤£¥¿½T¸ê°T¡C¥¿½Tªº¿é¥X¬°¡G RESTORE DATABASE source-database-alias { restore-options | CONTINUE | ABORT }"; restore-options:"; [USER username [USING password]] [{TABLESPACE [ONLINE] |"; TABLESPACE (tblspace-name [ {,tblspace-name} ... ]) [ONLINE] |"; HISTORY FILE [ONLINE]}] [INCREMENTAL [ABORT]]"; [{USE TSM [OPEN num-sess SESSIONS] |"; FROM dir/dev [ {,dir/dev} ... ] | LOAD shared-lib"; [OPEN num-sess SESSIONS]}] [TAKEN AT date-time] [TO target-directory]"; [INTO target-database-alias] [NEWLOGPATH directory]"; [WITH num-buff BUFFERS] [BUFFER buffer-size]"; [DLREPORT file-name] [REPLACE EXISTING] [REDIRECT] [PARALLELISM n]"; [WITHOUT ROLLING FORWARD] [WITHOUT DATALINK] [WITHOUT PROMPTING]"; ------------------------------------------------------------------------ 42.38 "Warehouse Manager" À³¬° "DB2 Warehouse Manager" ©Ò¦³¥X²{¦b²£«~¿Ã¹õ©M²£«~¤å¥óªº "Warehouse Manager" ³£À³Åª¬° "DB2 Warehouse Manager"¡C ------------------------------------------------------------------------ ªþ¥[¸ê°T ------------------------------------------------------------------------ ªþ¥[¸ê°T ------------------------------------------------------------------------ 43.1 DB2 Universal Database ©M DB2 Connect ½u¤W¤ä´© DB2 ¸ê°Tªº§¹¾ã©M«O«ù³Ì·s¨Ó·½¡A¥]¬A¦³Ãö¦¹¤å¥ó¥Xª©«á°ÝÃD±´¯Áªº¸ê°T¡A ½Ð¨Ï¥Î DB2 Universal Database & DB2 Connect ½u¤W¤ä´©ºô¯¸¡G http://www.ibm.com/software/data/db2/udb/winos2unix/support¡C ------------------------------------------------------------------------ 43.2 DB2 Magazine ¦³Ãö DB2 ²£«~¨t¦Cªº³Ì·s¸ê°T¡A±z¥i¥H­q¾\§K¶Oªº DB2 Magazine¡C ½u¤Wª©ªºÂø»x¥i ©ó http://www.db2mag.com ¨ú±o¡F ¦bºô­¶¤W¤]¦³­q¾\Âø»xªº«ü¥Ü¡C ------------------------------------------------------------------------ ªþ¿ý ------------------------------------------------------------------------ ªþ¿ý A. ª`·N¨Æ¶µ ¦Ó¦b¨ä¥¦°ê®a¤¤¡AIBM ¤£¨£±o¦³´£¨Ñ¥»®Ñ¤¤©Ò´£ªº¦U¶µ²£«~¡BªA°È©Î¥\¯à¡C ­nª¾¹D¦b ±z©Ò¦b¤§°Ï¬O§_¥i¥Î¨ì³o¨Ç²£«~»PªA°È®É¡A½Ð¦V·í¦aªº IBM ªA°È¥Nªí¬d¸ß¡C¥»®Ñ¦b´£ ¤Î IBM ²£«~¡Bµ{¦¡©ÎªA°È®É¡A¤£ªí¥Ü©Î·t¥Ü¥u¯à¨Ï¥Î IBM ªº²£«~¡Bµ{¦¡©ÎªA°È¡C¥u ­n¥¼«I¥Ç IBM ªº´¼¼z°]²£Åv¡A¥ô¦ó¥\¯à¬Û·íªº²£«~¡Bµ{¦¡©ÎªA°È³£¥i¥H¨ú¥N IBM ªº ²£«~¡Bµ{¦¡©ÎªA°È¡C¤£¹L¡A¨ä¥¦«D IBM ²£«~¡Bµ{¦¡¡B©ÎªA°È¦b¹B§@¤Wªºµû»ù»PÅçÃÒ¡A ¨ä³d¥ôÄÝ©ó¨Ï¥ÎªÌ¡C ¦b³o¥»®Ñ©Î¤å¥ó¤¤¥i¯à¥]§tµÛ IBM ©Ò¾Ö¦³¤§±M§Q©Î±M§Q¥Ó½Ð®×¡C ¥»®Ñ¨Ï¥ÎªÌ¨Ã¤£¨É ¦³«e­z±M§Q¤§¥ô¦ó±ÂÅv¡C ±z¥i¥H¥Î®Ñ­±¤è¦¡¨Ó¬d¸ß±ÂÅv¡A¨Ó¨ç½Ð±H¨ì¡G IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. ­Y­n¬d¸ß¦³Ãö¤G¦ì¤¸²Õ (DBCS) ¸ê°Tªº¯S³\Åv­­¨Æ©y¡A ½ÐÁpµ¸±z°ê®aªº IBM ´¼¼z°] ²£³¡ªù¡A©ÎªÌ¥Î®Ñ­±¤è¦¡±H¨ì¡G IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan ¤U¦C¬q¸¨­Y»P¸Ó°ê¤§ªk«ß±ø´Ú©èIJ¡A§Yµø¬°¤£¾A¥Î¡G IBM ¶È¥H²{ª¬´£¨Ñ¥»®Ñ¡A¦Ó¤£´£ ¨Ñ¥ô¦ó©ú¥Ü©ÎÀq¥Ü¤§«OÃÒ (¥]¬A¦ý¤£­­©ó¥i°â ©Ê©Î²Å¦X¯S©w®Ä¥Îªº«OÃÒ)¡C­Y¦³¨Ç¦a °Ï¦b¬Y¨Ç¥æ©ö¤W¨Ã¤£¤¹³\±Æ°£¤W­z«OÃÒ¡A «h¸Ó±Æ°£µL®Ä¡C ¥»®Ñ¤¤¥i¯à·|¦³§Þ³N¤W©Î±Æª©¦L¨ê¤Wªº³_»~¡C¦]¦¹¡AIBM ·|©w´Á­×­q¡F ¨Ã±N­×­q«áªº ¤º®e¯Ç¤J·sª©¤¤¡C¦P®É¡AIBM ±oÀH®É§ï¶i¨Ã (©Î) ÅÜ°Ê¥»®Ñ¤¤©Ò´£¤Îªº²£«~¤Î (©Î) µ{¦¡¡C ¥»®Ñ¹ï©ó«D IBM ºô¯¸ªº´©¤Þ¥u¬O¬°¤F¤è«K¦Ó´£¨Ñ¡A¨Ã¤£¹ï³o¨Çºô¯¸§@¥ô¦ó»{¥i¡C¸Ó¨Ç ºô¯¸¤Wªº¤º®e¨Ã«D¥» IBM ²£«~¤º®eªº¤@³¡¥÷¡A¥Î¤á¨Ï¥Î¸Óºô¯¸®ÉÀ³¦Û¦æ©Ó¾á­·ÀI¡C ·í±z´£¨Ñ¸ê°Tµ¹ IBM ®É¡A±z§Y±ÂÅv¤© IBM ¥H¨ä»{¬°¾A·íªº¤è¦¡¨Ó¨Ï¥Î©Î¤À°e¸ê°T¡A ¦Ó¤£¥²¹ï±z­t°_¥ô¦ó³d¥ô¡C ¥»µ{¦¡¤§Àò±ÂÅvªÌ­Y§Æ±æ¨ú±o¬ÛÃö¸ê®Æ¡A ¥H«K¨Ï¥Î¤U¦C¸ê°TªÌ¥i¬¢¸ß IBM¡C ¨ä¤U¦C ¸ê°T«üªº¬O¡G (1) ¿W¥ß«Ø¥ßªºµ{¦¡»P¨ä¥¦µ{¦¡ (¥]¬A¦¹µ{¦¡) ¤§¶¡§ó´«¸ê°Tªº¤è¦¡ (2) ¬Û¤¬¨Ï¥Î¤w¥æ´«¤§¸ê°T¤èªk¡C ­Y¦³¥ô¦ó°ÝÃD½ÐÁpµ¸¡G IBM Canada Limited Office of the Lab Director 1150 Eglinton Ave. East North York, Ontario M3C 1H7 CANADA ¤W­z¸ê®Æªº¨ú±o¦³¨ä¯S®í­n¥ó¡A¦b¬Y¨Ç±¡ªp¤U¥²¶·¥I¶O¤è±o¨Ï¥Î¡C ¥»®Ñ©Ò´y­zªº¥ô¦óµ{¦¡¤Î¨ä©Ò¦³¥i¥Îªº±ÂÅvµÛ§@¬O¥Ñ IBM ©Ò´£¨Ñ¡A¨Ã¨ü¨ì¡uIBM «È¤á ¦X¬ù¡v¡B¡u°ê»Úµ{¦¡±ÂÅv¦X¬ù¡v©ÎÂù¤è¤§¶¡¥ô¦ó¦Pµ¥¦X¬ù±ø´Ú¤§³W½d¡C ¦¹¶¡©Ò§t¤§¥ô¦ó®Ä¯à¸ê®Æ¡A¬Ò¬O±o¦Û±±¨îªºÀô¹Ò¤§¤U¡F¦]¦¹¤£¦P§@·~Àô¹Ò¤§¤U©Ò±oªº µ²ªG¡A¥i¯à·|¦³«Ü¤jªº®t²§¡C³¡¥÷´ú¶q¥i¯à¬O¦b¶}µo¤¤ªº¨t²Î¤W°õ¦æ¡A¦]¦¹¤£«OÃÒ¥i ¥H±q¤@¯ëªº¨t²ÎÀò­P¬Û¦Pªºµ²ªG¡C ¬Æ¦Ü¦³³¡¥÷ªº´ú¶q¡A¬O§Q¥Î´¡¸Éªk¦Ó±oªº¦ô­p­È¡A ¨ä¹ê»Úµ²ªG¥i¯à·|¦³©Ò¤£¦P¡C¥»®Ñªº¨Ï¥ÎªÌÀ³®Ú¾Ú¨ä¯S¦³ªºÀô¹Ò¡AÅçÃÒ¥X¾A¥Îªº¸ê ®Æ¡C ¥»®Ñ©Ò´£¤Î¤§«D IBM ²£«~¸ê°T¡A«Y¤@¥Ñ²£«~ªº¨ÑÀ³°Ó¡A©Î¨ä¥Xª©ªºÁn©ú©Î¨ä¥¦ ¤½¶} ºÞ¹D¨ú±o¡CIBM ¨Ã¥¼´ú¸Õ¹L³o¨Ç²£«~¡A¤]µLªk½T»{³o¨Ç«D IBM ²£«~ªº°õ¦æ®Ä¯à¡B ¬Û ®e©Ê¡B©Î¥ô¦ó¹ï²£«~ªº¨ä¥¦¥D±i¬O§_§¹¥þµL»~¡C ¦pªG±z¹ï«D IBM ²£«~ªº©Ê¯à¦³¥ô¦ó ªººÃ°Ý¡A½Ð³w¦V¸Ó²£«~ªº¨ÑÀ³°Ó¬d¸ß¡C ¦³Ãö IBM ¥¼¨Ó°Ê¦Vªº¥ô¦ó³¯­z¡A¶È¥Nªí IBM ªº¥Ø¼Ð¦Ó¤w¡A¨Ã¥i¯à©ó¥¼¨Æ¥ýÁn©úªº±¡ ªp¤U¦³©ÒÅܰʩκM¦^¡C ¥»®Ñ¤¤§t¦³¤é±`°Ó·~¬¡°Ê©Ò¥Îªº¸ê®Æ¤Î³ø§i½d¨Ò¡C¬°¤F´£¨Ñ§¹¾ãªº»¡©ú¡A ³o¨Ç½d¨Ò¥] ¬A­Ó¤H¡B¤½¥q¡B¼tµP©M²£«~ªº¦WºÙ¡C³o¨Ç¦WºÙ¥þÄݵêºc¡A ­Y»P¥ô¦ó¤½¥qªº¦WºÙ©M¦í§} ¹p¦P¡A¯ÂÄÝ¥©¦X¡C µÛ§@Åv±ÂÅv¡G ¥»®Ñ¥]§t­ì©l»y¨¥ªº½d¨ÒÀ³¥Îµ{¦¡¡A¥Î¥H»¡©ú¦UºØ§@·~¥­¥x¤Wªºµ{¦¡³]­p§Þ³N¡C±z¥i ¥H°ò©ó¬ãµo¡B¨Ï¥Î¡B¾P°â©Î´²§G²Å¦X§@·~¥­¥x (¥Î©ó°õ¦æ©Ò¼¶¼gªº½d¨Òµ{¦¡) ¤§À³¥Î µ{¦¡³]­p¤¶­±ªºÀ³¥Îµ{¦¡µ¥¥Ø ªº¡A¥H¥ô¦ó§Î¦¡½Æ»s¡B­×§ï¤Î´²§G³o¨Ç½d¨Òµ{¦¡¡A¦ÓµL »Ý¥I¶Oµ¹ IBM¡C¦ý³o¨Ç½d¨Ò¬Ò¥¼¸g¹L§¹¾ãªº´ú¸Õ¡C ¦]¦¹¡AIBM ¤£·|«OÃҩηt¥Ü³o¨Çµ{ ¦¡ªºÃ­©w©Ê¡BªA°È¯à¤O©Î¥\¯à¡C ³o¨Ç½d¨Òµ{¦¡©Î¬O¥ô¦ó­l¥ÍµÛ§@ªº¨C¤@¥÷«þ¨©©Î¥ô¦ó³¡¥÷¡A³£¥²¶·¨ã¦³¤U¦CªºµÛ§@Åv Án©ú¡G (c) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (c) Copyright IBM Corp. _enter the year or years_. All rights reserved. ------------------------------------------------------------------------ A.1 °Ó¼Ð ¤U¦C³N»y (¥H¬P¸¹ (*) ¼Ð¥Ü) ¬O IBM ¤½¥q¦b¬ü°ê¡B¨ä¥¦°ê®a©Î¨âªÌªº°Ó¼Ð¡C ACF/VTAM IBM AISPO IMS AIX IMS/ESA AIX/6000 LAN DistanceMVS AIXwindows MVS/ESA AnyNet MVS/XA APPN Net.Data AS/400 OS/2 BookManager OS/390 CICS OS/400 C Set++ PowerPC C/370 QBIC DATABASE 2 QMF DataHub RACF DataJoiner RISC System/6000 DataPropagator RS/6000 DataRefresher S/370 DB2 SP DB2 Connect SQL/DS DB2 Extenders SQL/400 DB2 OLAP Server System/370 DB2 Universal Database System/390 Distributed Relational SystemView Database Architecture VisualAge DRDA VM/ESA eNetwork VSE/ESA Extended Services VTAM FFST WebExplorer First Failure Support TechnologyWIN-OS/2 ¤U¦C³N»y¬O¨ä¥¦¤½¥qªº°Ó¼Ð©Îµù¥U°Ó¼Ð¡G Microsoft¡BWindows¡BWindows NT ¬O·L³n¤½¥qªº°Ó¼Ð©Îµù¥U°Ó¼Ð¡C Java ¥H¤Î©Ò¦³»P Java ¦³Ãöªº°Ó¼Ð»P¼Ð³¹¡A¥H¤Î Solaris ¬O Sun Microsystems, Inc. ¦b¬ü°ê¡B¨ä¥¦°ê®a©Î¨âªÌªº°Ó¼Ð¡C Tivoli »P NetView ¬O Tivoli Systems Inc. ¦b¬ü°ê¡B¨ä¥¦°ê®a©Î¨âªÌªº°Ó¼Ð¡C UNIX ¬O X/Open Company Limited ¦b¬ü°ê¡B¨ä¥¦°ê®a©Î¨âªÌªºµù¥U°Ó¼Ð¡A¶·¸g¸Ó¤½¥q ±ÂÅv©l¥i¨Ï¥Î¡C ¨ä¥¦¤½¥q¡B²£«~©ÎªA°È¦WºÙ (¥H¨âÁû¬P¸¹ (**) ¼Ð¥Ü) ¥i¯à¬O¨ä¥¦¤½¥qªº°Ó¼Ð©ÎªA°È ¼Ð»x¡C ------------------------------------------------------------------------ 1 A new level is initiated each time a trigger, function, or stored procedure is invoked. 2 Unless the automatic commit is turned off, interfaces that automatically commit after each statement will return a null value when the function is invoked in separate statements. 3 This applies to both FOR EACH ROW and FOR EACH STATEMENT after insert triggers. 4 A Service Policy defines a set of quality of service options that should be applied to this messaging operation. These options include message priority and message persistence. See the MQSeries Application Messaging Interface manual for further details. 5 A character string with a subtype of BIT DATA is not allowed. 6 A common-table-expression may precede the fullselect 7 A common-table-expression may precede a fullselect. 8 There is no casting of the previous value to the source type prior to the computation.