缺省情况下,DB2 Connect 将每个 IBM 主机或 AS/400 数据库服务器的 SQLCODE 和记号映射至适当的 DB2 UDB SQLCODE。 下列文件是缺省 SQLCODE 映射的副本:
基于 OS/2 和 UNIX 的 DB2 系统不需要映射。
若想覆盖缺省 SQLCODE 映射,或者您正在使用一个没有 SQLCODE 映射的主机或 AS/400 数据库服务器(非 IBM 数据库服务器), 则可以复制这些文件的其中一个,并将它用作新的 SQLCODE 映射文件的基础。 通过复制文件而不是直接编辑它, 可以确保您在需要时一直参考原始的 SQLCODE 映射。
在“DCS 目录”或 DCE 路由选择信息对象的参数字符串中指定新的 SQLCODE 映射文件的文件名。 有关更新 DCS 目录的信息,参见更新数据库目录。 有关使用的 DCE 的信息,参见附录 D, 使用 DCE 目录服务。
每个映射文件都是 ASCII 文件,它们是通过使用 ASCII 编辑器来创建和编辑的。 在最初安装时,该文件存储在安装路径的 map 目录中。
该文件可以包含下列特殊类型的行:
&& 之后的其他所有行必须为空白或采用下列格式的映射语句:
input_code [、output_code [、token_list]]
input_code 表示下列内容之一:
指定的 output_code 用于映射文件中未显式指定的、 具有此类代码的所有 SQLCODE。 若在此行中没有指定 output_code, 则原始的 SQLCODE 映射至它本身,并且不复制记号。
字符 cc 必须小写。
若在映射文件中多次出现同一 input_code,则使用第一个出现的代码。
output_code 表示输出 SQLCODE。 若没有指定任何值,则使用原始的 SQLCODE。
若您指定了输出代码,则还可以指定下列项之一:
原始的 SQLCODE 是返回的唯一记号。 此选项被设计用来处理未定义的 SQLCODE,但 +965 和 -969 除外。 若 +965 或 -969 是 output_code, 则在 SQLCA 的 SQLERRMC 字段中返回的记号列表包括原始 SQLCODE,后接产品标识符,再后接原始记号列表。
字符 s 必须小写。
每个记号都具有数字格式 (n), 可选择在其前面添加 c, 也可以选择后接 c 或 i。 对记号的解释如下:
例如,主机或 AS/400 数据库服务器可能返回两个记号,即 1 和 2。 若想在输出 SQLCA 中记号 2 出现在记号 1 前面,则应指定 (2,1)。
用句点将多个记号数字连接起来, 可以将多个记号数字组合成一个 CHAR 输出记号。
用逗号来将输出记号隔开。 若在逗号前面没有指定任何记号, 则在 SQLCA 中该位置不包括输出记号。 在输出 SQLCA 中, 在指定的最后一个记号后面出现的任何记号都将被映射为空记号。
图 6显示一个样本 SQLCODE 映射文件。
&& -007 , -007 , (1) -010 -060 , -171 , (2) ... -204 , -204 , (c1.2c) ... -633 , -206 , (,c1i) -30021 , -30021 , (c1c,c2c) cc00 , +000 ... U , -969 , (s) P , +965 , (s) |
对文件中的每个映射语句的描述如下: