GET_CONFIG存储过程

GET_CONFIG存储过程用于检索数据服务器配置信息。

开始通用编程接口信息。

数据服务器配置信息包括:
  • 数据共享组信息
  • Db2 子系统状态信息
  • Db2 子系统参数、DSNHDECP或用户指定的应用程序默认模块,以及IFCID 106第5部分中的 参数 IRLM
  • Db2 分布式访问信息
  • 活动日志数据集信息
  • 上次重启的时间是 Db2
  • 资源限制设施信息
  • 连接的 Db2 子系统信息

更改开始GET_CONFIG存储过程仅支持SBCS CCSID。 也就是说,所有数据(输入和输出)必须以Unicode CCSID 367格式存在。更改结束

更改开始对片假名CCSID 290的支持有限。 xml_input文档中指定的任何用户特定信息(例如 DB2 Data Sharing Group Members 的字符串输入)必须仅包含有效的EBCDIC CCSID 37字符,且这些EBCDIC字符必须在Unicode CCSID 367中存在。 同样,任何转换为Unicode CCSID 367并写入xml_output文档的请求信息也必须仅包含有效的EBCDIC CCSID 37字符,且这些EBCDIC字符必须在Unicode CCSID 367中存在。更改结束

环境

GET_CONFIG存储过程在WLM建立的存储过程地址空间中运行。

授权

要执行CALL语句,包含CALL语句的程序包或计划的所有者必须拥有以下一项或多项权限:
  • GET_CONFIG存储过程中的EXECUTE权限
  • 存储过程的所有权
  • 更改开始为下列其中一种权限:
    • 系统 DBADM
    • 系统管理员
    • SYSCTRL
    • SYSADM
    更改结束

语法

阅读语法图跳过可视化语法图 CALL GET_CONFIG ( MAJOR_VERSIONNULL , MINOR_VERSIONNULL , requested_localeNULL , xml_inputNULL , xml_filterNULL , xml_output , xml_message )

模式为 SYSPROC。

选项说明

MAJOR_VERSION
一个整数类型的输入和输出参数,用于指示主要文档版本。 在输入时,此参数指示您为存储过程 (xml_input 、xml_output 和xml_message )中作为参数传递的XML文档所支持的主要文档版本。 存储过程处理指定版本的所有XML文档,如果版本无效,则返回错误(-20457)。

在输出方面,此参数指定了程序所支持的最高主要文档版本。 要确定所支持的文档版本,请将此输入参数和所有其他必需参数指定为 NULL。 目前,支持的最高主要文档版本是2。 还支持主要文档版本1。

如果 xml_input参数中的 XML文档指定了 Document Type Major Version 键,则该键的值必须等于 major_version参数中提供的值,否则将引发错误(+20458)。

此参数与minor_version参数结合使用。 因此,您必须同时指定这两个参数。 例如,您必须将两者指定为 NULL 或非 NULL。

MINOR_VERSION
一个整数类型的输入和输出参数,用于指示次要文档版本。 在输入时,此参数指定您为作为此存储过程参数传递的XML文档 (xml_input 、xml_outputxml_message )所支持的次要文档版本。 存储过程处理指定版本的所有XML文档,如果版本无效,则返回错误(-20457)。

在输出方面,此参数表示最高支持的主要版本所支持的次要文档的最高版本。 要确定所支持的文档版本,请将此输入参数和所有其他必需参数指定为 NULL。 目前,支持的最高且唯一的次要文档版本是0(零)。

如果 xml_input参数中的 XML文档指定了 Document Type Minor Version 键,则该键的值必须等于 minor_version参数中提供的值,否则将引发错误(+20458)。

此参数与major_version参数结合使用。 因此,您必须同时指定这两个参数。 例如,您必须将两者指定为 NULL 或非 NULL。

requested_locale
一个VARCHAR(33)类型的输入参数,用于指定区域设置。 如果服务器支持指定的语言,则翻译后的内容将以 xml_output 和xml_message参数的形式返回。 否则,内容将以默认语言返回。 仅使用语言和可能来自区域设置的信息。 区域设置不用于设置数字格式或影响文档编码。 例如,关键名称不予翻译。 XML输出和XML消息文档中唯一翻译的部分是 Display NameDisplay UnitHint。 在适用的情况下,价值可能会全球化。 您应该始终将所请求的语言与XML输出文档中使用的语言进行比较(请参阅XML输出文档中的 Document Locale 条目)。

目前 ,requested_locale 支持的值为en_US和NULL。 如果指定空值,结果与指定en_US相同。

xml_input
一个BLOB类型的输入参数( 2G ),用于指定 UTF-8 中数据服务器配置输入类型的XML输入文档,其中包含存储过程的输入值。

要将XML输入文档传递给存储过程,必须将 major_version参数指定为2,将 minor_version参数指定为0(零)。

对于非数据共享系统,版本 2.0 XML输入文档的示例如下:
  <plist version="1.0"> 
  <?xml version="1.0" encoding="UTF-8" ?> 
  <dict>
    <key>Document Type Name</key>    
    <string>Data Server Configuration Input</string>
    <key>Document Type Major Version</key>
    <integer>2</integer>
    <key>Document Type Minor Version</key>
    <integer>0</integer>
    <key>Document Locale</key>
    <string>en_US</string>
    <key>Complete</key><false/>
    <key>Optional Parameters</key>
    <dict>
      <key>Include</key>
      <dict>
        <key>Value</key>
        <array>
          <string>DB2 Subsystem Status Information</string>
          <string>DB2 Subsystem Parameters</string>
          <string>DB2 Distributed Access Information</string>
          <string>Active Log Data Set Information</string>
          <string>Time of Last DB2 Restart</string>
          <string>Resource Limit Facility Information</string>
          <string>Connected DB2 Subsystem</string>
        </array>
      </dict>
    </dict>
  </dict>
  </plist>
对于数据共享系统,版本 2.0 XML输入文档的示例如下:
  <plist version="1.0"> 
  <?xml version="1.0" encoding="UTF-8" ?>
  <dict>
    <key>Document Type Name</key>
    <string>Data Server Configuration Input</string>
    <key>Document Type Major Version</key>
    <integer>2</integer>
    <key>Document Type Minor Version</key>
    <integer>0</integer>
    <key>Document Locale</key>
    <string>en_US</string>
    <key>Complete</key><false/>
    <key>Optional Parameters</key>
    <dict>
      <key>Include</key>
      <dict>
        <key>Value</key>
        <array>
          <string>Common Data Sharing Group Information</string>
          <string>DB2 Subsystem Status Information</string>
          <string>DB2 Subsystem Parameters</string>
          <string>DB2 Distributed Access Information</string>
          <string>Active Log Data Set Information</string>
          <string>Time of Last DB2 Restart</string>
          <string>Resource Limit Facility Information</string>
          <string>Connected DB2 Subsystem</string>
        </array>
      </dict>
      <key>DB2 Data Sharing Group Members</key>
      <dict>
        <key>Value</key>
        <array>
          <string>DB2A</string>
          <string>DB2B</string>
        </array>
      </dict>
    </dict>
  </dict>
  </plist>
当将XML输入文档传递给存储过程时,必须指定 Document Type Name 键。 在非数据共享系统中,您必须指定 Include 参数。 在数据共享系统中,您必须至少指定以下参数之一:
  • Include
  • DB2 Data Sharing Group Members
如果没有将XML输入文档传递给存储过程,并且您将 major_version参数指定为2,将 minor_version参数指定为0(零),则存储过程将默认在Version 2.0 XML输出文档中为非数据共享系统返回以下参数:
  • DB2 Subsystem Status Information
  • DB2 Subsystem Parameters
  • DB2 Distributed Access Information
  • Active Log Data Set Information
  • Time of Last DB2 Restart
  • Resource Limit Facility Information
  • Connected DB2 Subsystem
对于数据共享系统,数据共享组中的每个成员都会收到相同的信息,以及 Common Data Sharing Group Information 参数。
如果您将一个版本为 2.0 的XML输入文档传递给存储过程,存储过程将以版本为 2.0 的XML输出文档的形式返回信息。 返回的信息取决于您在 Include 数组和 DB2 Data Sharing Group Members 数组(如果适用)中指定的内容。 对于非数据共享系统,将返回 Include 数组中指定的项目。 对于数据共享系统,返回以下信息:
  • 如果同时指定了 IncludeDB2 Data Sharing Group Members 参数,则 DB2 Data Sharing Group Members 数组中指定的每个 Db2 成员在 Include 数组中指定的项目。
  • 如果仅指定了 Include 参数,则数据共享组中每个 Db2 成员在 Include 数组中指定的项目。
  • 如果仅指定了 DB2 Data Sharing Group Members 参数,则 DB2 Data Sharing Group Members 数组中指定的每位成员的 Common Data Sharing Group Information 和以下项目:
    • DB2 Subsystem Status Information
    • DB2 Subsystem Parameters
    • DB2 Distributed Access Information
    • Active Log Data Set Information
    • Time of Last DB2 Restart
    • Resource Limit Facility Information
    • Connected DB2 Subsystem
注意: 如果 Include 数组中指定了 Common Data Sharing Group Information 项,则该信息仅针对数据共享组返回一次。 此信息不会针对每个 Db2 会员重复返回。

完整模式 :在非数据共享系统中,当存储过程在完整模式下运行时, xml_output参数返回的 2.0 XML输入文档示例,请参阅示例部分中的示例4。 在数据共享系统中,当存储过程以完整模式运行时, xml_output参数返回的版本 2.0 XML输入文档的示例,其中包含两个 Db2 成员, DB2A 和 DB2B ,请参见示例5

xml_filter
UTF-8 中类型为BLOB( 4K )的输入参数,用于指定有效的XPath查询字符串。 当您想从XML输出文档中检索单个值时,请使用过滤器。 更多信息,请参阅用于过滤输出的XPath表达式
以下示例从XML输出文档中选择数据服务器产品版本的值:
/plist/dict/key[.='Data Server Product Version']/following-sibling::string[1]
如果键后没有指定的同级,则返回错误。
xml_output
一个名为BLOB( 2G )的输出参数,用于返回一个完整的XML输出文档,其类型为Data Server Configuration Output,位于 UTF-8。 如果指定了过滤器,则此参数将返回一个字符串值。 如果存储过程无法返回完整的输出文档(例如,如果发生导致 SQL 警告或错误的处理错误),则此参数设置为 NULL。

xml_output参数可以根据您指定的 major_versionminor_version参数返回Version 1.0 或Version 2.0 XML输出文档。 有关版本 2.0 XML输出文档的内容信息,请参阅 xml_input参数的选项说明。

如需查看示例版本 1.0 XML 输出文档,请参阅示例部分中的示例 1

有关非数据共享系统中的示例版本 2.0 XML 输出文档,请参见示例 6

如需查看数据共享系统中的 2.0 XML输出文档示例,请参见示例7

xml_message
一个名为BLOB( 64K )的输出参数,用于返回一个完整的XML输出文档,该文档的类型为 UTF-8 中的数据服务器消息,用于提供有关SQL警告条件的详细信息。 当调用存储过程时出现SQL警告,且警告消息指示在XML消息输出文档中返回了附加信息时,将返回此文档。 如果警告信息未指示返回其他信息,则此参数设置为 NULL。

xml_message参数可以根据您指定的 major_versionminor_version参数返回Version 1.0 或Version 2.0 XML消息文档。

XML消息文档示例,请参见示例2

如果GET_CONFIG存储过程正在处理数据共享系统中的多个 Db2 成员,并且在处理其中一个 Db2 成员时遇到错误,则存储过程会将导致错误的 Db2 成员的名称指定为XML消息文档中 DB2 Object 键的值。 Short Message Text 密钥的权限适用于指定的 Db2 会员。

以下示例显示了版本 2.0 XML 消息文档的片段,其中指定了 DB2 Object 键:
<key>Short Message Text</key> 
  <dict>
     <key>Display Name</key>
     <string>Short Message Text</string>
     <key>Value</key>
     <string>DSNA6xxI DSNADMGC .....</string>
     <key>DB2 Object</key>
     <string>DB2B</string>
     <key>Hint</key>
     <string />
  </dict>

示例

示例 1
以下示例显示了数据共享成员存储过程GET_CONFIG的 1.0 XML输出文档片段。 对于非数据共享会员, DB2 Distributed Access Information 项中的以下条目不包括在内: Resynchronization DomainAlias ListMember IPv4 AddressMember IPv6 AddressLocation Server List
XML输出文档中始终包含的两个主要部分是 Common Data Sharing Group InformationDB2 Subsystem Specific Information。 在这个例子中,省略号(……)代表一个由 Display NameValueHint 组成的字典条目,例如:
<dict>
  <key>Display Name</key>
  <string>DDF Status</string>
  <key>Value</key>
  <string>STARTD</string>
  <key>Hint</key>
  <string />
</dict>
更改开始
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
  <key>Document Type Name</key>
  <string>Data Server Configuration Output</string>
  <key>Document Type Major Version</key>
  <integer>1</integer>
  <key>Document Type Minor Version</key>
  <integer>0</integer>
  <key>Data Server Product Name</key>
  <string>DSN</string>
  <key>Data Server Product Version</key>
  <string>12.1.5</string>
  <key>Data Server Major Version</key>
  <integer>12</integer>
  <key>Data Server Minor Version</key>
  <integer>1</integer>
  <key>Data Server Platform</key>
  <string>z/OS</string>
  <key>Document Locale</key>
  <string>en_US</string>

  <key>Common Data Sharing Group Information</key>
  <dict>
    <key>Display Name</key>
    <string>Common Data Sharing Group Information</string>
    <key>Data Sharing Group Name</key>
    ...
    <key>Data Sharing Group Catalog Level</key>
    ...
    <key>Data Sharing Group Current Function Level</key>
    ...
    <key>Data Sharing Group Highest Activated Function Level</key>
    ...
    <key>Data Sharing Group Highest Possible Function Level</key>
    ...
    <key>Data Sharing Group Protocol Level</key>
    ...
    <key>Data Sharing Group Attach Name</key>
    ...
    <key>Data Sharing Group Encryption Key Label</key>
    ...
    <key>Migration Readiness Status</key>
    ...
    <key>Migration Readiness Reason</key>
    ...
    <key>SCA Structure Size</key>
    ...
    <key>SCA Status</key>
    ...
    <key>SCA in Use</key>
    ...
    <key>LOCK1 Structure Size</key>
    ...
    <key>Number of Lock Entries</key>
    ...
    <key>Number of List Entries</key>
    ...
    <key>List Entries in Use</key>
    ...
    <key>Hint</key><string></string>
  </dict>

  <key>DB2 Subsystem Specific Information</key>
  <dict>
    <key>Display Name</key>
    <string>DB2 Subsystem Specific Information</string>
    <key>V91A</key>
    <dict>
      <key>Display Name</key>
      <string>V91A</string>
      <key>DB2 Subsystem Status Information</key>
      <dict>
        <key>Display Name</key>
        <string>DB2 Subsystem Status Information</string>
        <key>DB2 Member Identifier</key>
        ...
        <key>DB2 Member Name</key>
        ...
        <key>DB2 Command Prefix</key>
        ...
        <key>DB2 Status</key>
        ...
        <key>DB2 System Level</key>
        ...
        <key>System Name</key>
        ...
        <key>IRLM Subsystem Name</key>
        ...
        <key>IRLM Procedure Name</key>
        ...
        <key>Code Level</key>
        ...
        <key>SPE Apar</key>
        ...
        <key>Migration Eligible</key>
        ...
        <key>Hint</key>
      </dict>
      
      <key>DB2 Subsystem Parameters</key>
      <dict>
        <key>Display Name</key>
        <string>DB2 Subsystem Parameters</string>
        <key>DSNHDECP</key>
        <dict>
          <key>Display Name</key>
          <string>DSNHDECP</string>
          <key>AGCCSID</key>
          <dict>
            <key>Display Name</key>
            <string>AGCCSID</string>
            <key>Installation Panel Name</key>
            ...
            <key>Installation Panel Field Name</key>
            ...
            <key>Location on Installation Panel</key>
            ...
            <key>Subsystem Parameter Value</key>
            ...
            <key>Online Update</key>
            ...
            <key>Hint</key><string></string>
          </dict>
          
          --- This is only a fragment of the 
             DSNHDECP parameters that are returned 
             by the GET_CONFIG stored procedure. ---
          
          <key>Hint</key><string></string>
        </dict>

        --- This is only a fragment of the 
             DB2 subsystem parameters that are returned 
             by the GET_CONFIG stored procedure. ---

        <key>Hint</key><string></string>
      </dict>

      <key>DB2 Distributed Access Information</key>
      <dict>
        <key>Display Name</key>
        <string>DB2 Distributed Access Information</string>
        <key>DDF Status</key>
        ...
        <key>Location Name</key>
        ...
        <key>LU Name</key>
        ...
        <key>Generic LU Name</key>
        ...
        <key>TCP/IP Port</key>
        ...
        <key>Secure Port</key>
        ...
        <key>Resynchronization Port</key>
        ...
        <key>IP Name</key>
        ...
        <key>IPv4 Address</key>
        ...
        <key>IPv6 Address</key>
        ...
        <key>SQL Domain</key>
        ...
        <key>Resynchronization Domain</key>
        ...
        <key>Alias List</key>           
        <dict>                          
           <key>Display Name</key>      
           <string>Alias List</string>  
           <key>1</key>                 
           <dict>                       
              <key>Display Name</key>   
              <string>1</string>        
              <key>Name</key> 
              ...       
              <key>Port</key> 
              ...       
              <key>Secure Port</key> 
              ...
              <key>Hint</key><string /> 
           </dict>                      
           <key>2</key>                 
           <dict>                       
              <key>Display Name</key>   
              <string>2</string>        
              <key>Name</key> 
              ...       
              <key>Port</key> 
              ...       
              <key>Secure Port</key> 
              ...
              <key>Hint</key><string />
           </dict>                          
           <key>Hint</key><string />        
        </dict>                             
        <key>Member IPv4 Address</key> 
        ...  
        <key>Member IPv6 Address</key>
        ...
        <key>DT - DDF Thread Value</key>
        ...
        <key>CONDBAT - Maximum Inbound Connections</key>
        ...
        <key>MDBAT - Maximum Concurrent Active DBATs</key>
        ...
        <key>ADBAT - Active DBATs</key>
        ...
        <key>QUEDBAT - Times that ADBAT Reached MDBAT Limit</key>
        ...
        <key>INADBAT - Inactive DBATs (Type 1)</key>
        ...
        <key>CONQUED - Queued Connections</key>
        ...
        <key>DSCDBAT - Pooled DBATs</key>
        ...
        <key>INACONN - Inactive Connections (Type 2)</key>
        ...
        <key>Location Server List</key>                       
        <dict>                                                
           <key>Display Name</key>                            
           <string>Location Server List</string>              
           <key>1</key>                                       
           <dict>                                             
              <key>Display Name</key>                         
              <string>1</string>                              
              <key>Weight</key>
              ...                           
              <key>IPv4 Address</key> 
              ...                     
              <key>IPv6 Address</key> 
              ...                     
              <key>Hint</key><string />                       
           </dict> 
           <key>2</key>                                       
           <dict>                                             
              <key>Display Name</key>                         
              <string>2</string>                              
              <key>Weight</key> 
              ...                           
              <key>IPv4 Address</key> 
              ...                     
              <key>IPv6 Address</key> 
              ...                     
              <key>Hint</key><string />                       
           </dict>
           <key>Hint</key><string></string>  
        </dict> 
        <key>Hint</key><string></string>
      </dict>
 
      <key>Active Log Data Set Information</key>
      <dict>
        <key>Display Name</key>
        <string>Active Log Data Set Information</string>
        <key>Active Log Copy 01</key>
        <dict>
          <key>Display Name</key>
          <string>Active Log Copy 01</string>
          <key>Data Set Name</key>
          ...
          <key>Data Set Volumes</key>
          <dict>
            <key>Display Name</key>
            <string>Data Set Volumes</string>
            <key>Value</key>
            <array>
              <string>CATLGJ</string>
            </array>
            <key>Hint</key><string></string>
          </dict>
          <key>Key Label</key>
          ...
          <key>Hint</key><string></string>
        </dict>
        <key>Active Log Copy 02</key>
        <dict>
          --- The format of this dictionary entry is 
             the same as that of Active Log Copy 01. ---
        </dict>
        <key>Hint</key><string></string>
      </dict>
 
      <key>Time of Last DB2 Restart</key>
      ...
 
      <key>Resource Limit Facility Information</key>
      <dict>
        <key>Display Name</key>
        <string>Resource Limit Facility Information</string>
        <key>RLF Table Names</key>
        <dict>
          <key>Display Name</key>
          <string>RLF Table Names</string>
          <key>Value</key>
          <array>
            <string>SYSADM.DSNRLST01</string>
          </array>
          <key>Hint</key><string></string>
        </dict>
        <key>Hint</key><string></string>
      </dict>
 
      <key>Connected DB2 Subsystem</key>
      ...
      <key>Hint</key><string></string>
    </dict>
    <key>Hint</key><string></string>
  </dict>
  <key>Hint</key><string></string>
</dict>
</plist>
更改结束
示例 2
以下示例显示了存储过程GET_CONFIG的XML消息文档示例。 与XML输出文档类似,SQL警告条件的详细信息封装在一个字典条目中,该条目由 Display NameValueHint 组成。
  <?xml version="1.0" encoding="UTF-8" ?> 
  <plist version="1.0">
  <dict>
     <key>Document Type Name</key><string>Data Server Message</string> 
     <key>Document Type Major Version</key><integer>1</integer> 
     <key>Document Type Minor Version</key><integer>0</integer> 
     <key>Data Server Product Name</key><string>DSN</string> 
     <key>Data Server Product Version</key><string>12.1.5</string> 
     <key>Data Server Major Version</key><integer>12</integer> 
     <key>Data Server Minor Version</key><integer>1</integer> 
     <key>Data Server Platform</key><string>z/OS</string> 
     <key>Document Locale</key><string>en_US</string> 
     <key>Short Message Text</key> 
     <dict>
        <key>Display Name</key><string>Short Message Text</string> 
        <key>Value</key> 
        <string>DSNA630I DSNADMGC A PARAMETER FORMAT OR CONTENT ERROR WAS FOUND. 
                The XML input document must be empty or NULL.</string> 
        <key>Hint</key><string /> 
     </dict>
  </dict>
  </plist>
示例 3
这个示例展示了一个简单静态的Java™程序,它使用XPath调用存储过程GET_CONFIG,查询数据服务器IP地址的值。 XPath由程序静态创建为字符串对象,然后转换为BLOB,作为 xml_filter参数的输入。 调用存储过程后, xml_output参数只包含一个字符串,而没有XML文档。 输出结果以名为 xml_output.xml 的文件的形式实现,该文件与 GetConfDriver 类所在的目录相同。
//***************************************************************************
// Licensed Materials - Property of IBM
// 5635-DB2
// (C) COPYRIGHT 1982, 2006 IBM Corp. All Rights Reserved.
//
// STATUS = Version 9
//***************************************************************************
// Source file name: GetConfDriver.java
//
// Sample: How to call SYSPROC.GET_CONFIG with a valid XPath to extract the
// IP Address.
//
//The user runs the program by issuing:
//java GetConfDriver <alias or //server/database> <userid> <password>
//
//The arguments are:
//<alias> - DB2 subsystem alias for type 2 or //server/database for type 4
// connectivity
//<userid> - user ID to connect as
//<password> - password to connect with
//***************************************************************************
import java.io.*;
import java.sql.*;
public class GetConfDriver
{

   public static void main (String[] args)
  {
    Connection con = null;
    CallableStatement cstmt = null;
    String driver = "com.ibm.db2.jcc.DB2Driver";
    String url = "jdbc:db2:";
    String userid = null;
    String password = null;

    // Parse arguments
    if (args.length != 3)
    {
      System.err.println("Usage: GetConfDriver <alias or //server/database> 
<userid> <password>");
      System.err.println("where <alias or //server/database> is DB2 
subsystem alias or //server/database for type 4 connectivity");
      System.err.println(" <userid> is user ID to connect as");
      System.err.println(" <password> is password to connect with");
      return;
    }
    url += args[0];
    userid = args[1];
    password = args[2];

    try {

      byte[] xml_input;
      String str_xmlfilter = new String(
       "/plist/dict/key[.='DB2 Subsystem Specific Information']/following-
sibling::dict[1]" +
       "/key[.='V91A']/following-sibling::dict[1]" +
       "/key[.='DB2 Distributed Access Information']/following-sibling::dict[1]" +
       "/key[.='IP Address']/following-sibling::dict[1]" +
       "/key[.='Value']/following-sibling::string[1]");


      /* Convert XML_FILTER to byte array to pass as BLOB */
      byte[] xml_filter = str_xmlfilter.getBytes("UTF-8");

      // Load the DB2 Universal JDBC Driver
      Class.forName(driver);

      // Connect to database
      con = DriverManager.getConnection(url, userid, password);
      con.setAutoCommit(false);
     
      cstmt = con.prepareCall("CALL SYSPROC.GET_CONFIG(?,?,?,?,?,?,?)");

      // Major / Minor Version / Requested Locale
      cstmt.setInt(1, 1);
      cstmt.setInt(2, 0);
      cstmt.setString(3, "en_US");
      // No Input document
      cstmt.setObject(4, null, Types.BLOB);
      cstmt.setObject(5, xml_filter, Types.BLOB);

      // Output Parms
      cstmt.registerOutParameter(1, Types.INTEGER);
      cstmt.registerOutParameter(2, Types.INTEGER);
      cstmt.registerOutParameter(6, Types.BLOB);
      cstmt.registerOutParameter(7, Types.BLOB);

      cstmt.execute();
      con.commit();

      SQLWarning ctstmt_warning = cstmt.getWarnings();
      if (ctstmt_warning != null) {
        System.out.println("SQL Warning: " + ctstmt_warning.getMessage());
      }
      else {
        System.out.println("SQL Warning: None\r\n");
      }

      System.out.println("Major Version returned " + cstmt.getInt(1) );
      System.out.println("Minor Version returned " + cstmt.getInt(2) );

      /* get output BLOBs */
      Blob b_out = cstmt.getBlob(6);

      if(b_out != null)
      {
        int out_length = (int)b_out.length();
        byte[] bxml_output = new byte[out_length];

        /* open an inputstream on BLOB data */
        InputStream instr_out = b_out.getBinaryStream();

        /* copy from inputstream into byte array */
        int out_len = instr_out.read(bxml_output, 0, out_length);

        /* write byte array into FileOutputStream */
        FileOutputStream fxml_out = new FileOutputStream("xml_output.xml");

        /* write byte array content into FileOutputStream */
        fxml_out.write(bxml_output, 0, out_length );

        //Close streams
        instr_out.close();
        fxml_out.close();
      }

      Blob b_msg = cstmt.getBlob(7);
      if(b_msg != null)
      {
        int msg_length = (int)b_msg.length();
        byte[] bxml_message = new byte[msg_length];

        /* open an inputstream on BLOB data */
        InputStream instr_msg = b_msg.getBinaryStream();

        /* copy from inputstream into byte array */
        int msg_len = instr_msg.read(bxml_message, 0, msg_length);

        /* write byte array content into FileOutputStream */
      FileOutputStream fxml_msg = new FileOutputStream(new File
("xml_message.xml"));
        fxml_msg.write(bxml_message, 0, msg_length);

        //Close streams
        instr_msg.close();
        fxml_msg.close();
      }
   }
   catch (SQLException sqle) {
      System.out.println("Error during CALL "
            + " SQLSTATE = " + sqle.getSQLState()
            + " SQLCODE = " + sqle.getErrorCode()
            + " : " + sqle.getMessage());
    }
    catch (Exception e) {
       System.out.println("Internal Error " + e.toString());
    }
    finally
    {
       if(cstmt != null)
          try { cstmt.close(); } catch ( SQLException sqle) 
{ sqle.printStackTrace(); }
       if(con != null)
          try { con.close(); } catch ( SQLException sqle) 
{ sqle.printStackTrace(); }
    }
  }
}
示例 4
以下示例显示了一个版本 2.0 XML输入文档,当存储过程在非数据共享系统中以完整模式运行时, xml_output参数将返回该文档:
  <plist version="1.0"> 
  <?xml version="1.0" encoding="UTF-8" ?>  
  <dict> 
    <key>Document Type Name</key> 
    <string>Data Server Configuration Input</string> 
    <key>Document Type Major Version</key> 
    <integer>2</integer> 
    <key>Document Type Minor Version</key> 
    <integer>0</integer> 
    <key>Document Locale</key> 
    <string>en_US</string> 
    <key>Optional Parameters</key> 
    <dict> 
      <key>Display Name</key> 
      <string>Optional Parameters</string> 
      <key>Include</key> 
      <dict> 
        <key>Display Name</key> 
        <string>Include</string> 
        <key>Value</key> 
        <array> 
          <string>DB2 Subsystem Status Information</string> 
          <string>DB2 Subsystem Parameters</string> 
          <string>DB2 Distributed Access Information</string> 
          <string>Active Log Data Set Information</string> 
          <string>Time of Last DB2 Restart</string> 
          <string>Resource Limit Facility Information</string> 
          <string>Connected DB2 Subsystem</string>
        </array>  
        <key>Hint</key><string /> 
      </dict>  
      <key>Hint</key><string />
    </dict> 
  </dict> 
  </plist>
示例 5
以下示例显示了一个版本 2.0 XML输入文档,当存储过程在数据共享系统中以完整模式运行时, xml_output参数会返回该文档,该系统中有两个 Db2 成员,即 DB2A 和 DB2B:
  <plist version="1.0"> 
  <?xml version="1.0" encoding="UTF-8" ?> 
  <dict>     
    <key>Document Type Name</key>
    <string>Data Server Configuration Input</string>   
    <key>Document Type Major Version</key>     
    <integer>2</integer>        
    <key>Document Type Minor Version</key>     
    <integer>0</integer>   
    <key>Document Locale</key>  
    <string>en_US</string>  
    <key>Optional Parameters</key>  
    <dict>   
      <key>Display Name</key>   
      <string>Optional Parameters</string>   
      <key>Include</key>  
      <dict>        
        <key>Display Name</key>   
        <string>Include</string>   
        <key>Value</key>     
        <array>       
          <string>Common Data Sharing Group Information</string> 
          <string>DB2 Subsystem Status Information</string>  
          <string>DB2 Subsystem Parameters</string>     
          <string>DB2 Distributed Access Information</string>  
          <string>Active Log Data Set Information</string>  
          <string>Time of Last DB2 Restart</string>  
          <string>Resource Limit Facility Information</string> 
          <string>Connected DB2 Subsystem</string>   
        </array>           
        <key>Hint</key><string />     
      </dict>     
      <key>DB2 Data Sharing Group Members</key>    
      <dict>                  
        <key>Display Name</key>   
        <string>DB2 Data Sharing Group Members</string> 
        <key>Value</key>    
        <array>      
          <string>DB2A</string>     
          <string>DB2B</string>      
        </array>            
        <key>Hint</key><string /> 
      </dict>      
      <key>Hint</key><string />     
     </dict>      
  </dict>       
  </plist>
示例 6
该示例显示了非数据共享系统中存储过程 GET_CONFIG 的 2.0 XML 输出文档的片段。 XML输入文档不会传递给存储过程。 省略号(……)代表一个由 Display NameValueHint 组成的字典条目,如下例所示,或者代表一个与版本 1.0 XML输出文档中对应条目相同的条目:
<dict>
  <key>Display Name</key>
  <string>DDF Status</string>
  <key>Value</key>
  <string>STARTD</string>
  <key>Hint</key>
  <string />
</dict>
  <?xml version="1.0" encoding="UTF-8" ?>                                       
  <plist version="1.0">                                                         
  <dict>                                                                        
    <key>Document Type Name</key>                                               
    <string>Data Server Configuration Output</string>                           
    <key>Document Type Major Version</key>                                      
    <integer>2</integer>                                                        
    <key>Document Type Minor Version</key>                                      
    <integer>0</integer>                                                        
    <key>Data Server Product Name</key>                                         
    <string>DSN</string>                                                        
    <key>Data Server Product Version</key>                                      
    <string>12.1.5</string>                                                      
    <key>Data Server Major Version</key>                                        
    <integer>12</integer>                                                        
    <key>Data Server Minor Version</key>                                        
    <integer>1</integer>                                                        
    <key>Data Server Platform</key>                                             
    <string>z/OS</string>                                                       
    <key>Document Locale</key>                                                  
    <string>en_US</string>                                                      
    <key>DB2 Subsystem Specific Information</key>                               
    <dict>                                                                      
      <key>Display Name</key>                                                   
      <string>DB2 Subsystem Specific Information</string>                       
      <key>DB2A</key>                                                           
      <dict>                                                                    
        <key>Display Name</key>                                                 
        <string>DB2A</string>                                                   
        <key>DB2 Subsystem Status Information</key>                             
        <dict>
          <key>Display Name</key>
          <string>DB2 Subsystem Status Information</string>
          <key>DB2 Member Identifier</key>
          ...
          <key>DB2 Member Name</key>
          ...
          <key>DB2 Command Prefix</key>
          ...
          <key>DB2 Status</key>
          ...
          <key>DB2 System Level</key>
          ...
          <key>System Name</key>
          ...
          <key>IRLM Subsystem Name</key>
          ...
          <key>IRLM Procedure Name</key>
          ...
          <key>Code Level</key>
          ...
          <key>SPE Apar</key>
          ...
          <key>Migration Eligible</key>
          ...
          <key>Migration Readiness Status</key>
          ...
          <key>Migration Readiness Reason</key>
          ...
          <key>Hint</key>
          ...
        </dict>
        <key>DB2 Subsystem Parameters</key>                                     
        <dict>...</dict>                                                        
        <key>DB2 Distributed Access Information</key>                           
        <dict>                                                                  
          <key>Display Name</key>                                               
          <string>DB2 Distributed Access Information</string>                   
          <key>DDF Status</key> ...                                             
          <key>Location Name</key> ...                                          
          <key>LU Name</key> ...                                                
          <key>Generic LU Name</key> ...                                        
          <key>TCP/IP Port</key> ...                                            
          <key>Secure Port</key> ...                                            
          <key>Resynchronization Port</key> ...                                 
          <key>IP Name</key> ...                                                
          <key>IPv4 Address</key> ...                                           
          <key>IPv6 Address</key> ...                                           
          <key>SQL Domain</key> ...                                             
          <key>DT - DDF Thread Value</key> ...                                  
          <key>CONDBAT - Maximum Inbound Connections</key> ...                  
          <key>MDBAT - Maximum Concurrent Active DBATs</key> ...                
          <key>ADBAT - Active DBATs</key> ...                                   
          <key>QUEDBAT - Times that ADBAT Reached MDBAT Limit</key> ...         
          <key>INADBAT - Inactive DBATs (Type 1)</key> ...                      
          <key>CONQUED - Queued Connections</key> ...                           
          <key>DSCDBAT - Pooled DBATs</key> ...                                 
          <key>INACONN - Inactive Connections (Type 2)</key> ...                
          <key>Hint</key><string></string>                                      
        </dict>                                                                 
        <key>Active Log Data Set Information</key>                              
        <dict>...</dict>                                                        
        <key>Time of Last DB2 Restart</key>                                     
        <dict>...</dict>                                                        
        <key>Resource Limit Facility Information</key>                          
        <dict>                                                                  
          <key>Display Name</key>                                               
          <string>Resource Limit Facility Information</string>                  
          <key>RLF Status</key>                                                 
          <dict>                                                                
             <key>Display Name</key>                                            
             <string>RLF Status</string>                                        
             <key>Value</key><string>Active</string>                            
             <key>Hint</key><string />                                          
          </dict>                                                               
          <key>RLF Table Names</key>                                            
          <dict>                                                                
             <key>Display Name</key>                                            
             <string>RLF Table Names</string>                                   
             <key>Value</key>                                                   
             <array>                                                            
                <string>SYSADM.DSNRLST01</string>                               
             </array>                                                           
             <key>Hint</key><string />                                          
          </dict>                                                               
          <key>Hint</key><string />                                             
        </dict>                                                                 
        <key>Connected DB2 Subsystem</key>                                      
        <dict>...</dict>                                                        
        <key>Hint</key><string />                                               
      </dict>                                                                   
      <key>Hint</key><string />                                                 
    </dict>                                                                     
  </dict>                                                                       
  </plist>
示例 7
本示例显示了数据共享系统中存储过程GET_CONFIG的 2.0 XML输出文档片段,该系统中有两个 Db2 成员: DB2A 和 DB2B。 XML输入文档不会传递给存储过程。 省略号(……)代表一个由 Display NameValueHint 组成的字典条目,如下例所示,或者代表一个与版本 1.0 XML输出文档中对应条目相同的条目:
<dict>
  <key>Display Name</key>
  <string>DDF Status</string>
  <key>Value</key>
  <string>STARTD</string>
  <key>Hint</key>
  <string />
</dict>
  <?xml version="1.0" encoding="UTF-8" ?>                                       
  <plist version="1.0">                                                         
  <dict>                                                                        
    <key>Document Type Name</key>                                               
    <string>Data Server Configuration Output</string>                           
    <key>Document Type Major Version</key>                                      
    <integer>2</integer>                                                        
    <key>Document Type Minor Version</key>                                      
    <integer>0</integer>                                                        
    <key>Data Server Product Name</key>                                         
    <string>DSN</string>                                                        
    <key>Data Server Product Version</key>                                      
    <string>12.1.5</string>                                                      
    <key>Data Server Major Version</key>                                        
    <integer>12</integer>                                                        
    <key>Data Server Minor Version</key>                                        
    <integer>1</integer>                                                        
    <key>Data Server Platform</key>                                             
    <string>z/OS</string>                                                       
    <key>Document Locale</key>                                                  
    <string>en_US</string>                                                      
    <key>Common Data Sharing Group Information</key>                            
    <dict>                                                                      
      <key>Display Name</key>                                                   
      <string>Common Data Sharing Group Information</string>                    
      <key>Data Sharing Group Name</key>                                        
      <dict>...</dict>                                                          
      <key>Data Sharing Group Catalog Level</key>                                       
      <dict>...</dict>                                                          
      <key>Data Sharing Group Current Function Level</key>
      <dict>...</dict>
      <key>Data Sharing Group Highest Activated Function Level</key>
      <dict>...</dict>
      <key>Data Sharing Group Highest Possible Function Level</key>                                       
      <dict>...</dict>                                                          
      <key>Data Sharing Group Protocol Level</key>                              
      <dict>...</dict>                                                          
      <key>Data Sharing Group Attach Name</key>                                 
      <dict>...</dict>                                                          
      <key>Data Sharing Group Encryption Key Label</key>
      <dict>...</dict>                                                          
      <key>Migration Readiness Status</key>
      <dict>...</dict>                                                          
      <key>Migration Readiness Reason</key>
      <dict>...</dict>                                                          
      <key>SCA Structure Size</key>                                             
      <dict>...</dict>                                                          
      <key>SCA Status</key>                                                     
      <dict>...</dict>                                                          
      <key>SCA in Use</key>                                                     
      <dict>...</dict>                                                          
      <key>LOCK1 Structure Size</key>                                           
      <dict>...</dict>                                                          
      <key>Number of Lock Entries</key>                                         
      <dict>...</dict>                                                          
      <key>Number of List Entries</key>                                         
      <dict>...</dict>                                                          
      <key>List Entries in Use</key>                                            
      <dict>...</dict>                                                          
      <key>Hint</key><string />                                                 
    </dict>                                                                     
    <key>DB2 Subsystem Specific Information</key>                               
    <dict>                                                                      
      <key>Display Name</key>                                                   
      <string>DB2 Subsystem Specific Information</string>                       
      <key>DB2A</key>                                                           
      <dict>                                                                    
        <key>Display Name</key>                                                 
        <string>DB2A</string>                                                   
        <key>DB2 Subsystem Status Information</key>                             
          <key>Display Name</key>
          <string>DB2 Subsystem Status Information</string>
          <key>DB2 Member Identifier</key>
          ...
          <key>DB2 Member Name</key>
          ...
          <key>DB2 Command Prefix</key>
          ...
          <key>DB2 Status</key>
          ...
          <key>DB2 System Level</key>
          ...
          <key>System Name</key>
          ...
          <key>IRLM Subsystem Name</key>
          ...
          <key>IRLM Procedure Name</key>
          ...
          <key>Code Level</key>
          ...
          <key>SPE Apar</key>
          ...
          <key>Migration Eligible</key>
          ...
          <key>Hint</key>
          ...
        <key>DB2 Subsystem Parameters</key>                                     
        <dict>...</dict>                                                        
        <key>DB2 Distributed Access Information</key>                           
        <dict>                                                                  
          <key>Display Name</key>                                               
          <string>DB2 Distributed Access Information</string>                   
          <key>DDF Status</key> ...                                             
          <key>Location Name</key> ...                                          
          <key>LU Name</key> ...                                                
          <key>Generic LU Name</key> ...                                        
          <key>TCP/IP Port</key> ...                                            
          <key>Secure Port</key> ...                                            
          <key>Resynchronization Port</key> ...                                 
          <key>IP Name</key> ...                                                
          <key>IPv4 Address</key> ...                                           
          <key>IPv6 Address</key> ...                                           
          <key>SQL Domain</key> ...                                             
          <key>Resynchronization Domain</key> ...                               
          <key>Alias List</key>                                                 
          <dict>                                                                
             <key>Display Name</key>                                            
             <string>Alias List</string>                                        
             <key>1</key>                                                       
             <dict>                                                             
                <key>Display Name</key>                                         
                <string>1</string>                                              
                <key>Name</key> ...                                             
                <key>Port</key> ...                                             
                <key>Secure Port</key> ...                                      
                <key>Hint</key><string />                                       
             </dict>                                                            
             <key>2</key>                                                       
             <dict>                                                             
                <key>Display Name</key>                                         
                <string>2</string>                                              
                <key>Name</key> ...                                             
                <key>Port</key> ...                                             
                <key>Secure Port</key> ...                                      
                <key>Hint</key><string />                                       
             </dict>                                                            
             <key>Hint</key><string />                                          
          </dict>                                                               
          <key>Member IPv4 Address</key> ...                                    
          <key>Member IPv6 Address</key> ...                                    
          <key>DT - DDF Thread Value</key> ...                                  
          <key>CONDBAT - Maximum Inbound Connections</key> ...                  
          <key>MDBAT - Maximum Concurrent Active DBATs</key> ...                
          <key>ADBAT - Active DBATs</key> ...                                   
          <key>QUEDBAT - Times that ADBAT Reached MDBAT Limit</key> ... 
          <key>INADBAT - Inactive DBATs (Type 1)</key> ...                      
          <key>CONQUED - Queued Connections</key> ...                           
          <key>DSCDBAT - Pooled DBATs</key> ...                                 
          <key>INACONN - Inactive Connections (Type 2)</key> ...                
          <key>Location Server List</key>                                       
          <dict>                                                                
             <key>Display Name</key>                                            
             <string>Location Server List</string>                              
             <key>1</key>                                                       
             <dict>                                                             
                <key>Display Name</key>                                         
                <string>1</string>                                              
                <key>Weight</key> ...                                           
                <key>IPv4 Address</key> ...                                     
                <key>IPv6 Address</key> ...                                     
                <key>Hint</key><string />                                       
             </dict>                                                            
             <key>2</key>                                                       
             <dict>                                                             
                <key>Display Name</key>                                         
                <string>1</string>                                              
                <key>Weight</key> ...                                           
                <key>IPv4 Address</key> ...                                     
                <key>IPv6 Address</key> ...                                     
                <key>Hint</key><string />                                       
             </dict>                                                            
             <key>Hint</key><string />                                          
          </dict>                                                               
          <key>Hint</key><string></string>                                      
        </dict>                                                                 
        <key>Active Log Data Set Information</key>                              
        <dict>...</dict>                                                        
        <key>Time of Last DB2 Restart</key>                                     
        <dict>...</dict>                                                        
        <key>Resource Limit Facility Information</key>                          
        <dict>                                                                  
          <key>Display Name</key>                                               
          <string>Resource Limit Facility Information</string>                  
          <key>RLF Status</key>                                                 
          <dict>                                                                
             <key>Display Name</key>                                            
             <string>RLF Status</string>                                        
             <key>Value</key><string>Active</string>                            
             <key>Hint</key><string />                                          
          </dict>                                                               
          <key>RLF Table Names</key>                                            
          <dict>                                                                
             <key>Display Name</key>                                            
             <string>RLF Table Names</string>                                   
             <key>Value</key>                                                   
             <array>                                                            
                <string>SYSADM.DSNRLST01</string>                               
             </array>                                                           
             <key>Hint</key><string />                                          
          </dict>                                                               
          <key>Hint</key><string />                                             
        </dict>                                                                 
        <key>Connected DB2 Subsystem</key>                                      
        <dict>...</dict>                                                        
        <key>Hint</key><string />                                               
      </dict>                                                                   
      <key>DB2B</key>                                                           
      <dict>                                                                    
         --- This dictionary entry describes the second DB2                     
             member: DB2B. Its format is the same as that                   
             of member DB2A. ---                                          
      </dict>                                                                   
      <key>Hint</key><string />                                                 
    </dict>                                                                     
  </dict>                                                                       
  </plist>
<key>Data Sharing Group Level</key>
<dict>
<key>Display Name</key> 
  <string>Data Sharing Group Level</string><key>Value</key>
  <string>V12R1M500</string>
  <key>Hint</key><string/>
</dict>
<key>Data Sharing Group Current Function Level</key>
<dict>
  <key>Display Name</key>
  <string>Data Sharing Group Current Function Level</string>
  <key>Value</key><string>V12R1M100</string>
  <key>Hint</key><string/>
</dict>
<key>Data Sharing Group Highest Activated Function Level</key>
<dict>
  <key>Display Name</key>
  <string>Data Sharing Group Highest Activated Function Level</string>
  <key>Value</key><string>V12R1M100</string>
  <key>Hint</key><string/>
</dict>
<key>Data Sharing Group Highest Possible Function Level</key>
<dict>
  <key>Display Name</key>
  <string>Data Sharing Group Highest Possible Function Level</string>
  <key>Value</key><string>V12R1M100</string>
  <key>Hint</key><string/>
</dict>

通用编程接口信息结束。