TXSeries入门系列文章16

d. 添加符号链接

当连接switch load file时,需要用到共享库”libclntsh.so“,但是在路径”/usr/local/oracle“下只有libclntsh.so.12.1。所以需要通过如下命令创建一个符号链接:

#ln -s /usr/local/oracle/libclntsh.so.12.1 /usr/local/oracle/libclntsh.so

e.运行oracle的环境变量文件

#. /home/oracle/.bash_profile

    因为其中包含编译时必需的一些环境变量。

f.运行下列命令编译switch load file

#make -f oracle1pc.mk oracle

如果一切顺利,将在当前目录下发现名为oracle1pcswitch load file

3)添加XAD

注意XAD中的XAOpen字符串,可能需要修改的内容以”<>“标记。

cicsadd -c xad -r <region name> <XAD entry name> SwitchLoadFile=”<path of switch load file>”

XAOpen=”Oracle_XA+SQLNET=<local database name>+Acc=P/<user

name>/<password>+SesTm=35+LogDir=/tmp/cics/oracle+DbgFl=1″

<local database name> 是你添加在tnsnames.ora文件中的。

在本部分的示例中,<user name>scott<password>tiger

例如:

cicsadd -c xad -r oracle oraxa SwitchLoadFile=”oracle1pc”

XAOpen=”Oracle_XA+SQLNET=MYDB+Acc=P/scott/tiger+SesTm=35+LogDir=/tmp/cics/oracle+DbgFl=1″

4)修改region环境变量文件

环境变量文件(environment)在region的根目录下,下面的变量应该根据实际情况添加到文件中。

ORACLE_HOME=/usr/local/oracle

ORACLE_SID=MYDB

5)编译示例应用程序

oracletest.pcoracletest.mkenv_c.def文件位于”/Unit 3/Part5 Oracle/“目录下。用户可以随意修改oracletest.pc中的嵌入式SQL命令。

oracletest.mkoracletest.pc中的源代码预编译为C代码,将后缀改为”.ccs“,然后运行”cicstcl“来翻译、编译和连接应用程序,类似于DB2示例中的makefile

运行下列命令生成示例应用程序:

make -f oracletest.mk

6)添加PDTD

#cicsadd -cpd -r oracle oratest PathName=oracletest RSLKey=public

#cicsadd -ctd -r oracle ORA1 ProgName=oratest

现在就可以通过运行交易ORA1来测试应用程序,并查看返回值是否正确。

7)冷启动region

首先,确保所有的oracle环境变量是有效的。

#. /home/oracle/.bash_profile

然后运行冷启动命令。

#cicscp -v start region oracle StartType=cold

如果一切运行正常,将在console.nnnnnn文件中看到下列日志:

ERZ080088I/0801 10/29/14 22:29:17.870013000 oracle 13774/0001 : XA OPEN submitted for Server 101 connected to ‘Oracle Single Phase’ using XA_OPEN string ‘Oracle_XA+SQLNET=MYDB+Acc=P/scott/######+SesTm=35+LogDir=/tmp/cics/oracle+DbgFl=1’

ERZ080006I/0801 10/29/14 22:29:20.358823000 oracle 13774/0001 : XA_OPEN succeeded:

Application Server 101 connected to ‘Oracle Single Phase’ using XA_OPEN string ‘Oracle_XA+SQLNET=MYDB+Acc=P/scott/######+SesTm=35+LogDir=/tmp/cics/oracle+DbgFl=1’

ERZ080089I/0801 10/29/14 22:29:20.358895000 oracle 13774/0001 : XA OPEN completed for Server 101 connected to ‘Oracle Single Phase’ using XA_OPEN string ‘Oracle_XA+SQLNET=MYDB+Acc=P/scott/######+SesTm=35+LogDir=/tmp/cics/oracle+DbgFl=1’

4. 注意

1)在通过sqlplus命令更新、删除和插入数据后,应该执行提交命令 。否则,应用程序不能修改那些数据,因为在修改被提交前它们是锁定的。

2)时刻注意,在执行需要Oracle环境变量支持的操作之前运行”/home/oracle/.bash_profile“文件。

5. 练习

根据本部分中的步骤配置TXSeries 连接Oracle,并通过执行应用程序进行测试。

TXSeries入门系列文章单元四 TXSeries客户端

四单元 TXSeries客户端

关于本单元

在一单元中,用户已经学习了如何通过”cicslterm“使用3270终端模拟器这类TXSeries客户端。但是大多数情况下,用户可能更倾向在自己不同环境的应用程序中调用TXSeries的交易。所以本单元将介绍CTGCICS交易网关),这是一个使客户端应用程序能够访问CICS服务器的连接器,内容涵盖如何配置TXSeriesCTG连接的本地模式和远程模式、使用ECI(外部调用接口)进行客户端编程。

参阅:

http://www-01.ibm.com/support/knowledgecenter/SSZHFX_9.1.0/overview/topics/ctg_full.html?lang=en

1. CTG介绍

CTG使得位于不同平台的本地或远程客户端,能够通过一组丰富的APIs访问CICS应用程序,并通过commarea在客户端和服务器之间传输数据。它支持标准的网络协议并能保证高质量的服务。

用户可以在GUI模式下通过命令”ctgcfg“启动CTG配置工具,或者直接编辑CICSCLI环境变量指定的配置文件。稍后将介绍配置步骤。

本单元中,有两个CTG的主要组件用户需要知道——网关守护进程(gateway daemon)和客户端守护进程(client daemon)。

1)网关守护进程

网关守护进程用于监听远程客户端发来的请求,支持TCP/IPSSL协议。当客户端和CTG位于不同的机器上时,必须配置和启动网关守护进程来接收请求。用户可以在前台使用”ctgstart“来运行网关守护进程,或者使用”ctgd“作为后台任务运行。

2)客户端守护进程

客户端守护进程提供一个本地接口, 使用CC++.NetCOBOL等编程的客户端应用程序可以通过这个接口连接到CICS。命令”cicscli“用于控制客户端守护进程的状态。

3)本地模式和远程模式

CTG的运行模式决定于客户端应用程序和CTG的拓扑结构。如果客户端应用程序和CTG位于同一机器,就叫做本地模式;否则,就是远程模式。两种模式的配置是不同的,例如,远程模式中网关守护进程和客户端守护进程都要配置,而本地模式中只有客户端守护进程需要配置 

下面两张图片展示了本地模式和远程模式的拓扑结构:


CTG有用于连接主机CICSCICS TS)的版本,也有用于连接TXSeries的版本。本单元后续内容都以TXSeries为例。

2. 配置本地模式

在本地模式中,客户端应用程序通过客户端守护进程直接连接TXSeries。但是首先TXSeries服务器和客户端守护进程需要配置才能彼此通信。

1TXSeries端配置

在这种拓扑结构中,CTG(客户端守护进程)将被配置连接到指定的regionCTG可以和TXSeries位于同一机器,也可以位于不同机器。这两种情况的差异会在稍后提及。

a. /etc/services文件中添加一个服务

region需要在指定端口监听来自守护进程的请求,所以需要在TXSeries端的”/etc/services“文件中添加一个服务,并确保这个端口能够通过防火墙。

例如:

port_43211 43211/tcp

b.region中添加LD

为了监听指定的端口,应该向region中添加一条LD(监听器定义)记录来实现一个监听器。

语法

以下文章点击率最高

Loading…

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注