DELETEQ TD用於刪除intrapartition TDQ中的所有臨時數據,換句話說,所有intrapartition TDQ中的記錄都將被移除。
參閱:
5. TSQ的APIs
TSQ的APIs與TDQ類似,只是有另外一些選項。不同於TDQ,沒有必要為TSQ添加類型定義——TSQ會在 WRITEQ TS命令第一次使用時被創建。所以首先向用戶介紹如何向TSQ中寫入數據。
(1)向TSQ寫入
語法
WRITEQ TS QUEUE”<TSQName>” FROM(<dataSet>) LENGTH(<lengthOfData>) [ITEM(<recordIndex>)] [AUXILIARY|MAIN]
選項
<TSQName>: 將要被寫入的TSQ的名稱。在C程序中,名稱的長度滿8個字符,例如”ABCDEFGH“和”ABCD “。如果名稱的長度小於8,一些意外的字符會出現在指定的字符之後。
<lengthOfData>: 指定數據的長度。
<recordIndex>: 這個變量的值會自動更新為將要寫入TSQ的記錄的索引數。如果一個新的TSQ被創建,值從1開始。不能通過<recordIndex>指定寫入位置,因為記錄是順序追加到TSQ中的。
AUXILIARY: 指定TSQ在輔存中。如果不指定,這是默認選項。
MAIN: 指定TSQ在內存中。
參閱:
(2)更新TSQ
除了向TSQ中寫入新記錄,還可以通過使用WRITEQ TS並添加REWRITE選項來更新一條指定記錄。
語法
WRITEQ TS QUEUE”<TSQName>” FROM(<dataSet>) LENGTH(<lengthOfData>) ITEM(<recordIndex>) REWRITE
選項
<dataSet>: 用於更新記錄的數據。
<recordIndex>: 指定將要被更新的記錄的索引。必須是一個已存在的記錄索引。
參閱:
(3)從 TSQ讀取
通過使用READQ TS命令,不僅可以順序讀取記錄,也可以從指定索引處讀取一條記錄。
語法
READQ TS QUEUE”<TSQName>” INTO(<dataSet>) LENGTH(<lengthOfData>) [NEXT| ITEM(<recordIndex>)]
選項
<TSQName>: 指定一個存在的TSQ來讀取。
NEXT: 命令將會讀取最後一次被讀取記錄的下一條記錄。例如,如果已經讀取了第15條記錄,在執行指定了NEXT選項的READQ TS命令後,我們將會從<dataSet>中獲得第16條記錄。如果沒有指定,那麼這是默認選項。
<recordIndex> :指定讀取哪條記錄的索引。
參閱:
(4)刪除TSQ
內存和輔存中的TSQ都可以通過DELETEQ TS命令完全刪除。
語法
DELETEQ TS QUEUE(“<TSQName>”)
參閱:
6. 練習
本部分的練習可以分為兩組,一是關於TDQ的操作,一是關於TSQ的操作。
一組
(1)在region“queue“中添加一個名為ITDQ的intrapartition TDQ。
(2)在region“queue“中添加一個名為TTDQ的intrapartition TDQ,觸發水平為3,觸發交易id為TDQA。
(3)在region“queue“中添加一個名為ETDQ的extrapartition TDQ,extrapartition文件名稱是”ExtrapartitionFile.txt“,可變長度。
(4)實現一個可以向ITDQ 和TTDQ寫入記錄的名為TDQA的交易。另外,它可以向ETDQ中寫入程序中寫操作的日誌。
(5)實現一個名為TDQB的交易,它可以從ITDQ中讀取數據,還可以向ETDQ中寫入程序中讀操作的日誌。
(6)實現一個名為TDQC的交易,它可以從TTDQ讀取數據,當被TDQA的第三次寫操作觸發時會刪除TTDQ。另外,它可以向ETDQ寫入程序中讀操作和刪除操作的日誌。
二組
(1)實現一個名為TSQA的交易,它可以向名為”TSQ1“的TSQ中寫入3條記錄(在內存或輔存中)。
(2)實現一個名為TSQB的交易,它可以讀取第3條記錄,更新第2條記錄並刪除TSQ1。
7. 答案
一組
(1)在region“queue“中添加一個名為ITDQ的intrapartition TDQ。
cicsadd -c tdd -r queue ITDQ DestType=intrapartition RSLKey=public
(2)在region“queue“中添加一個名為TTDQ的intrapartition TDQ,觸發水平為3,觸發交易id為TDQA。
cicsadd -c tdd -r queue TTDQ TriggerLevel=3 TriggeredTransId=”TDQC” DestType=intrapartition RSLKey=public
(3)在region“queue“中添加一個名為ETDQ的extrapartition TDQ,extrapartition文件名稱是”ExtrapartitionFile.txt“,可變長度。
cicsadd -c tdd -r queue ETDQ DestType=extrapartition RSLKey=public ExtrapartitionFile=”ExtrapartitionFile.txt” RecordType=variable_length
(4)實現一個可以向ITDQ 和TTDQ寫入記錄的名為TDQA的交易。另外,它可以向ETDQ中寫入程序中寫操作的日誌。
查看Unit3/Part2 TDQTSQ/TDQ_A.ccs
(5)實現一個名為TDQB的交易,它可以從ITDQ中讀取數據,還可以向ETDQ中寫入程序中讀操作的日誌。
查看Unit3/Part2 TDQTSQ/TDQ_B.ccs
(6)實現一個名為TDQC的交易,它可以從TTDQ讀取數據,當被TDQA的第三次寫操作觸發時會刪除TTDQ。另外,它可以向ETDQ寫入程序中讀操作和刪除操作的日誌。
查看Unit3/Part2 TDQTSQ/TDQ_B.ccs
二組
(1)實現一個名為TSQA的交易,它可以向名為”TSQ1“的TSQ中寫入3條記錄(在內存或輔存中)。
查看Unit3/Part2 TDQTSQ/TSQ_A.ccs
(2)實現一個名為TSQB的交易,它可以讀取第3條記錄,更新第2條記錄並刪除TSQ1。
查看Unit3/Part2 TDQTSQ/TSQ_B.ccs
TXSeries入門系列文章–單元三
數據管理
四部分 WebSphere MQ
三單元 數據管理
第四部分 WebSphere MQ
關於本部分
正如本單元上一部分看到的,用戶可以使用TDQ/TSQ在region間和應用程序間傳遞數據。但是如果需要和多種不同的計算環境通信呢?IBM提供的WebSphere MQ將會是最好的選擇。下面是從Knowledge Center獲取的關於WebSphere MQ的簡短介紹:WebSphere MQ可以以消息的形式傳輸任何類型的數據,使企業可以建立靈活的,可重用的架構,例如面向服務的體系架構(SOA)等環境。它可以和廣泛的計算平台、應用程序、網絡服務和通信協議協同工作來安全豐富地傳遞消息。WebSphere MQ提供一個通信層來控制系統內部和外部的信息和數據流。
以下文章點擊率最高
Loading…