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…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營