附录 B, 目录定制工作表显示了您需要收集的信息。 您可能会发现制作该工作表的一个副本并输入系统值会更方便。
格式:1 到 8 个单字节字母数字字符, 包括正负符号 (#)、at 符号 (@)、美元符号 ($) 和下划线 (_)。 它不能以下划线或数字开头。
对于“DB2 OS/390 版”远程主机, 当启动“分布式数据设施”(DDF) 时,主机名将出现在 DSNL004I 信息中 (DOMAIN=hostname)。
对于“DB2 OS/390 版”远程主机,在“引导数据集”(BSDS) 中将端口号定义为 PORT, 并且,当启动“分布式数据设施”(DDF) 时,还在 DSNL004I 信息中提供了端口号 (TCPPORT=portnumber)。
注意: | 服务器指定用于基于 TCP/IP 连接的两阶段落实的重新同步操作的第二个端口。 例如,DB2 通用数据库 OS/390 版引导数据集将指定一个端口号 (RESPORT), 该端口号只用于 DB2 通用数据库 OS/390 版入站连接的重新同步。 这不需要定义服务名。 |
格式:1 到 8 个单字节字母数字字符, 包括正负符号 (#)、at 符号 (@)、美元符号 ($) 和下划线 (_)。 它不能以下划线或数字开头。
通过向 TSO 注册,并使用其中一个可用的查询工具发出以下 SQL 查询, 就可以确定 LOCATION NAME:
select current server from sysibm.sysdummy1
在“MVS/ESA 引导数据集”(BSDS) 和 DSNL004I 信息中也定义了 LOCATION NAME (LOCATION=location), 它是在启动“分布式数据设施”(DDF) 时写入的。
通过向 TSO 注册,并使用其中一个可用的查询工具发出以下 SQL 查询, 就可以确定 LOCATION NAME:
select current server from sysibm.sysdummy1
在“引导数据集”(BSDS) 和 DSNL004I 信息 中也定义了 LOCATION NAME (LOCATION=location),它是在启动“分布式数据设施”(DDF) 时写入的。
格式:AR <application_requester_name>
缺省值为 DB2 Connect 应用程序请求器。
SQL30000N SQL30040N SQL30050N SQL30051N SQL30053N SQL30060N SQL30070N SQL30071N SQL30072N SQL30073N SQL30074N SQL30090N
当未指定断开连接参数 ,D 时, 仅当返回下列 SQLCODE 时,才将执行断开连接:
SQL30020N SQL30021N SQL30041N SQL30061N SQL30081N
有关这些代码的说明,参考信息参考。
注意: | 若 DB2 Connect 由于发生错误而断开连接, 则将自动执行回滚。 |
应用程序将接收到 sqlcode (-30081), 它指示已经终止了与服务器的连接。因此,应用程序必须与 主机或 AS/400 数据库服务器建立新的连接,以便处理其他数据库请求。 在 AIX V4.1 和更高版本、SNA 服务器 V3.1 和更高版本、OS/2、 Windows NT 和 Windows 2000 之外的其他平台上,DB2 Connect 不支持这样的选项: 当应用程序使用该选项来接收中断请求时将自动断开连接。
注意: | 在任何平台上,此支持都可用于 TCP/IP 连接。 客户机可能断开套接字,但是根据服务器实现,可能有也可能没有未完成接收。 DB2 通用数据库 OS/390 版利用了异步套接字调用,因此,可以检测到连接的丢失, 并且回滚正在进行的任何长时间运行的 SQL 语句。 |
还引进了称为 DB2SYSPLEX_SERVER 的新的简要表(环境或注册表)变量, 可以使用该变量来禁用工作站级别的 SYSPLEX 支持。
假定您发出下列 CLP(命令行处理器)语句:
catalog appc node nynode remote nycpic security program catalog dcs database nydb1 as new_york catalog database nydb1 as newyork1 at node nynode authentication dcs
数据库别名 newyork1 将用于存取主机数据库, 而不进行日期变换,因为尚未指定日期时间标志。
然而,借助新的日期格式化支持, 您现在可以使用下列 CLP 命令。在此情况下, 因为使用了 CLP,并且参数字符串本身是使用双引号指定的, 所以,必须在两对双引号内指定 LOCALDATE 值。 注意使用操作系统转义字符 "\"(反斜杠),以确保在 LOCALDATE 规范中不会拆散双引号。另见指定参数字符串。
catalog dcs database nydb2 as new_york parms \",,,,,,LOCALDATE=\"\"YYYYMMDD\"\"\" catalog database nydb2 as newyork2 at node nynode authentication dcs
数据库别名 "newyork2" 为您提供了对相同主机数据库的存取权, 但是,它还指定了日期格式时间标志。 此示例说明日期格式时间标志是使用关键字 LOCALDATE 指定的, 并且,它是 DCS 目录项的 PARMS 字段中的第七个位置参数。
要使日期时间标志有效,下列各项都必须为真:
例如,以下是所有有效的日期时间标志:
"YYyyMmDd" - Y、M 和 D 位是区分大小写的 "MM+DD+YYYY" - 允许具有多于 10 个字节的时间标志, 并且在时间标志中可以具有不是 Y、M 和 D 的字符 "abcYY+MM" - 可以没有 D 序列
下列是所有无效的日期时间标志:
"YYYYyMMDD" - 无效,因为在一个序列中有 5 个 Y "YYYYMDDM" - 无效,因为有 2 个 M 序列
若日期格式时间标志无效,将不会发出错误。只是将忽略它。 日期时间标志有效并不意味着将使用它。 仅当下列各项“全部”为真时,才会根据有效日期时间标志来执行日期格式转换:
更改 MVS 口令显示了通过使用 CHGPWD_SDN 来编目 DCS 数据库目录的示例,如下所示:
catalog dcs database db1 as dsn_db_1 parms ",,,,,,,CHGPWD_SDN=pempgm"
",,,,,,,,BIDI=xyz"
其中, xyz 表示 CCSID 覆盖(参见(BIDI_NOTE1))。
要获得受支持的 BiDi CCSID 及其字符串类型的列表, 参考管理指南。
要正确地处理不同平台上的 BiDi 数据,下列 BiDi 属性是必需的:
因为不同平台上的缺省值不一样, 因此在将 DB2 数据从一个平台发送到另一个平台时会出现问题。 例如,Windows 平台使用 LOGICAL UNSHAPED 数据, 而 MVS 和 OS/390 上的数据通常采用 SHAPED VISUAL 格式。 因此,若没有提供对 BiDi 属性的任何支持, 则将数据从“DB2 MVS 版”或“DB2 OS/390 版”发送至 Windows 上的 DB2 Connect 时, 显示的数据将是错误的。
当在 DB2 Connect 与服务器上的数据库之间交换数据时, 通常是接收方对输入数据执行转换。同一约定通常还将适用于 BiDi 布局转换, 该转换是对常用的代码页转换的补充。然而,目前没有主机 DB2 产品支持 BiDi 特定的 CCSID 或 BiDi 布局转换。 因此,已经用可选功能增强了 DB2 Connect, 以便对要发送到服务器数据库的数据、以及从服务器数据库中接收的数据执行 BiDi 布局转换。
要使 DB2 Connect 对发送至服务器数据库数据执行 BiDi 布局转换, 一定要覆盖该服务器数据库的 BiDi CCSID(参见(BIDI_NOTE2))。 这是通过在服务器数据库的 DCS 数据库目录项的 PARMS 字段中使用 BIDI 参数来完成的。
最好用一个示例来说明此功能部件的使用。
假定 Hebrew DB2 客户机正在运行 CCSID 62213(BiDi 字符串类型 5), 而您想存取正在运行 CCSID 424(BiDi 字符串类型 4)的 DB2 主机数据库。 然而,您知道 DB2 主机数据库中包含的数据却是基于 CCSID 8616(BiDi 字符串类型 6)的。
在此情况下存在两个问题。第一个问题就是 DB2 主机数据库不知道 CCSID 424 和 CCSID 8616 BiDi 字符串类型之间的区别。第二个问题就是 DB2 主机数据库不识别 DB2 客户机 CCSID 62213。它只支持与 CCSID 62213 基于同一代码页的 CCSID 862。
您将需要确保发送到 DB2 主机数据库的数据是以 BiDi 字符串类型 6 格式开头,并且还应该让 DB2 Connect 知道它必须对从 DB2 主机数据库中接收的数据执行 BiDi 布局转换。将对 DB2 主机数据库使用下列编目:
catalog dcs database nydb1 as TELAVIV parms ",,,,,,,,BIDI=8616"
这告诉 DB2 Connect 要用 CCSID 8616 来覆盖 DB2 主机数据库 CCSID 424。 此覆盖包括下列处理:
记录:
若特定的双向 CCSID 导致了通过使用下面这些建议措施无法校正的问题, 则应该将环境变量或注册表值 DB2BIDI 设置为“否”。
下面是您可以指定的一些参数字符串的示例。
例如,您可以指定下列任何内容, 其中,"\"(反斜杠)是操作系统转义字符:
在 AIX 上:
NOMAP /u/username/sqllib/map/dcs1new.map,D ,D ,,INTERRUPT_ENABLED NOMAP,D,INTERRUPT_ENABLED,,,SYSPLEX,LOCALDATE=\"\"YYMMDD\"\",,
在 OS/2、Windows NT 或 Windows 2000 上:
NOMAP d:\sqllib\map\dcs1new.map,D ,,INTERRUPT_ENABLED NOMAP,D,INTERRUPT_ENABLED,,,SYSPLEX,LOCALDATE=\"\"YYMMDD\"\",,
另外,若不指定参数字符串,也可以接受缺省值。
注意: | 因为在参数字符串中指定 LOCALDATE 时间标志时需要指定两对双引号,
所以您必须使用操作系统转义字符 "\"(反斜杠),例如:
db2 catalog dcs db x as y parms \",,,,,,LOCALDATE=\"\"YYMMDD\"\"\"这将生成下列 DCS 目录项: DCS 1 项: 本地数据库名 = X 目标数据库名 = Y 应用程序请求器名 = DCS 参数 = ,,,,,,LOCALDATE="YYMMDD" 注解 = DCS 目录发行版级别 = 0x0100 |
格式:1 到 8 个单字节字母数字字符, 包括正负符号 (#)、at 符号 (@)、美元符号 ($) 和下划线 (_)。 它不能以下划线或数字开头。
对于每个数据库,必须在三个目录(节点目录、DCS 目录和系统数据库目录)的每个目录中至少定义一个项目。 在某些情况下,您可能想为数据库定义多个项目。
例如,若从主机或 AS/400 数据库服务器中移植了应用程序, 但是却接受了为客户机/服务器环境开发的应用程序的缺省映射, 则您可能想对这些应用程序关闭 SQLCODE 映射。 您将按下列步骤执行此操作:
两个别名存取同一个数据库,一个别名具有 SQLCODE 映射, 另一个没有 SQLCODE 映射。