用户指南

在 DB2 通用数据库 OS/390 版上实现对方付费记帐

许多 DB2 通用数据库 OS/390 版安装能实现资源监控活动, 允许系统管理员将资源使用情况与个别用户存取关联起来。 这可以用来对个别用户或他们的部门所消耗的资源进行收费。 此实践通常称为对方付费记帐

DB2 Connect 产品允许系统管理员监控那些通过 DB2 Connect 来存取数据库的用户所消耗的大型主机资源。可以使用计帐字符串来将记帐数据从 DB2 Connect 发送到数据库服务器的 DB2 中。 计帐字符串将系统生成的数据和用户提供的数据组合在一起。 此数据允许系统管理员将资源使用情况与每个用户的存取关联起来, 并相应地对用户收费。

计帐字符串是使用 DRDA 参数 PRDDTA 来发送的。 因为此参数的内容不是采用 DRDA 体系结构, 所以,不能保证应用程序服务器将能够识别作为记帐数据的数据。 目前,仅在 MVS 和 OS/390 系统上支持 PRDDTA。 字符串被存储为记帐记录。

计帐字符串由 DB2 Connect 生成的 56 个字节(前缀)、 后接由用户指定的 199 个字节(后缀)组成,最大长度为 255 个字节。

表 3显示了由系统生成的字段。 这些字段中的每一个都用空白将右边填满。

表 3. 由 DB2 Connect 生成的计帐字符串字段
字段名 长度 说明。
acct_str_len 1 是一个十六进制值,表示计帐字符串的长度减 1。 例如,X'3C'。
client_prdid 8 客户机软件的产品 ID。例如, DB2 通用数据库 版本 7 的产品 ID 为 SQL07010
client_platform 18 客户机所采用的平台,例如,AIXOS/2DOSWindows
client_appl_name 20 用户的应用程序名的前 20 个字符,例如,payroll
client_authid 8 用户的应用程序的作者ID,例如,SMITH
suffix_len 1 是一个十六进制值,表示用户提供的后缀的长度。 X'00' 意味着没有用户提供的后缀。

用户定义的后缀是下列项目之一:

若后缀长于 199 个字符,则它将被截断。 为了确保当计帐字符串传送至主机或 AS/400 数据库服务器时得到正确地转换, 应该只使用字符 A 到 Z、0 到 9 和下划线 (_)。

建议使用 API 方法来设置计帐字符串。 应用程序应该在连接至数据库之前调用该 API。 若想更改应用程序内的计帐字符串(例如,当与不同的数据库相连时发送不同的字符串),  则再次调用 API。否则,此值保持有效,直到应用程序结束为止。

若在第一个数据库连接请求之前未调用 sqlesact() API, 则读取 DB2ACCOUNT 环境变量。此值保持有效, 直到应用程序或者后台命令行处理器进程结束为止。 在第一个数据库连接之后,要指定新的记帐字符串后缀, 可使用 sqlesact() API,或者结束应用程序或后台 CLP 进程, 再重新启动它,并将 DB2ACCOUNT 设置为新值。

若不存在 DB2ACCOUNT 值,则使用 DFT_ACCOUNT_STR 系统配置参数的值。 对于不能将计帐字符串转发至 DB2 Connect 的数据库客户机, 此缺省值很有用。若不存在记帐字符串,则使用空字符串。

下列是计帐字符串的一些示例:

 
   x'3C'SQL07010OS/2              cheque              SMITH   x'05'DEPT1
 
   x'37'SQL07010OS/2              cheque              SMITH   x'00'
 

在第一个示例中,用户定义的后缀的是 DEPT1。 在第二个示例中,后缀为一个空字符串。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]