新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 操作系统 > Unix系统 > AS400教程 > 正文:AS/400如何监控ODBC的数据传输?

AS/400如何监控ODBC的数据传输?

新客网 XKER.COM 2008-02-21 来源:新客网Unix系统 佚名 收藏本文

  【新客网AS400教程】ODBC为异种OS访问AS/400提供接口,但是,安全方面的问题也接踵而来,如何有效监控ODBC对AS/400数据的传输?本文将通过Exit Program的方式来进行监控。

  QIBM_QTF_TRANSFER(程序1)

PGM PARM(&RC &STRU)

DCL VAR(&RC) TYPE(*CHAR) LEN(1)

DCL VAR(&STRU) TYPE(*CHAR) LEN(80)

DCL VAR(&USER) TYPE(*CHAR) LEN(10) /* user profile*/

DCL VAR(&APP1) TYPE(*CHAR) LEN(10) /* function */

DCL VAR(&APP2) TYPE(*CHAR) LEN(10) /* sub function*/

DCL VAR(&TFOBJ) TYPE(*CHAR) LEN(10) /* file name */

DCL VAR(&TFLIB) TYPE(*CHAR) LEN(10) /*library */

DCL VAR(&TFMBR) TYPE(*CHAR) LEN(10) /* member */

DCL VAR(&TFFMT) TYPE(*CHAR) LEN(10) /* format */

DCL VAR(&TYPE) TYPE(*CHAR) LEN(2) /* journaltype */

MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(EXIT))

CHGVAR &RC VALUE(''1'') /* set return code to

allow request unless rejected by program */

CHGVAR &USER VALUE(%SST(&STRU 1 10)) /*user */

CHGVAR &APP2 VALUE(%SST(&STRU 21 10)) /*funct*/

CHGVAR &TFOBJ VALUE(%SST(&STRU 31 10)) /*file */

CHGVAR &TFLIB VALUE(%SST(&STRU 41 10)) /*libr */

CHGVAR &TFMBR VALUE(%SST(&STRU 51 10)) /*mbr */

CHGVAR &TFFMT VALUE(%SST(&STRU 61 10)) /*fmt */

LOG: CHGVAR VAR(&TYPE) VALUE(''X'' *CAT &RC)

SNDJRNE JRN(QAUDJRN) TYPE(&TYPE) ENTDTA(&STRU)

EXIT:ENDPGM

  QIBM_QZDA_NDB1(程序2)

PGM PARM(&RC &REQUEST)

DCL VAR(&RC) TYPE(*CHAR) LEN(1) VALUE(''1'')

DCL VAR(&REQUEST) TYPE(*CHAR) LEN(700)

DCL VAR(&TYPE) TYPE(*CHAR) LEN(2)

DCL &X1800 *CHAR 4 VALUE(X''00001800'') /*create database file*/

DCL &X1801 *CHAR 4 VALUE(X''00001801'') /*create source file*/

DCL &X1802 *CHAR 4 VALUE(X''00001802'') /*add member */

DCL &X1803 *CHAR 4 VALUE(X''00001803'') /*clear member */

DCL &X1804 *CHAR 4 VALUE(X''00001804'') /*delete member */

DCL &X1805 *CHAR 4 VALUE(X''00001805'') /*file override */

DCL &X1806 *CHAR 4 VALUE(X''00001806'') /*delete file override*/

DCL &X1807 *CHAR 4 VALUE(X''00001807'') /*create save file */

DCL &X1808 *CHAR 4 VALUE(X''00001808'') /*clear save file */

DCL &X1809 *CHAR 4 VALUE(X''00001809'') /*delete file */

/* OPTIMIZED DATABASE SERVER DECLARES */

DCL &DBFMT *CHAR 8 /* format name */

DCL &DBFID *CHAR 4 /* function identifier */

/* FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAD0100 */

DCL &DBFILE *CHAR 128 /* file name */

DCL &DBLIB *CHAR 10 /* library name */

DCL &DBMBR *CHAR 10 /* member name */

DCL &DBAUT *CHAR 10 /* authority to file */

DCL &DBBFIL *CHAR 128 /* based on file name */

DCL &DBBLIB *CHAR 10 /* based on library name */

DCL &DBOFIL *CHAR 10 /* override file name */

DCL &DBOLIB *CHAR 10 /* override library name */

DCL &DBOMBR *CHAR 10 /* override member name */

MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(EXIT))

/* allow request unless rejected by program */

CHGVAR VAR(&RC) VALUE(''1'')

/* set variables from request description */

CHGVAR VAR(&DBFMT) VALUE(%SST(&REQUEST 21 8))

CHGVAR VAR(&DBLIB) VALUE(%SST(&REQUEST 161 10))

CHGVAR VAR(&DBMBR) VALUE(%SST(&REQUEST 171 10))

CHGVAR VAR(&DBOFIL) VALUE(%SST(&REQUEST 329 10))

CHGVAR VAR(&DBOLIB) VALUE(%SST(&REQUEST 339 10))

CHGVAR VAR(&DBOMBR) VALUE(%SST(&REQUEST 349 10))

LOG:

CHGVAR VAR(&TYPE) VALUE(''Z'' *CAT &RC)

SNDJRNE JRN(QAUDJRN) TYPE(&TYPE) ENTDTA(&REQUEST)

EXIT: ENDPGM

  ☆具体实施方法:

  1、将上述2个程序编译,Owner改为QSECOFR,并使用继续权限。

  2、CHGNETA PCSACC(*REGFAC)。

  3、使用ADDEXITPGM命令把程序添加到相应的Exit point。

  4、可以给这2个程序设置一个权限列表,凡是在权限列表内有权限执行此程序的人才可以利用ODBC下传数据

  5、用DSPJRN JRN(QAUDJRN) ENTTYP(Z1)就可以查看下传的数据情况了。

  6、可以用WRKREGINF查看Exit program设置情况。

  注:需要有QAUDJRN,如没有需先WRKSYSVAL修改系统值QAUDCTL、QAUDLVL,然后CRTJRN创建QAUDJRN和创建QAUDJRN。

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐