程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2數據提取轉化的一個腳本

DB2數據提取轉化的一個腳本

編輯:DB2教程

 為把數據從大型機遷移到AIX平台上的DB2 UDB , 其過程通常事實這樣的:登錄到大型機,提取數據到一個文件中,FTP文件到AIX機器上, 然後將數據裝載到DB2 UDB。 這需要兩個不同的工作環境。

替代方案是:通過只使用一個腳本,在DB2 UDB的AIX環境下我可以完成整個過程。這個過程非常快, 不會加重大型機或AIX環境的負擔。

你所需要做的是使用大型機連接,再用EXPORT命令來聽取數據。 例如:

db2 connect to DB2S390 USER xxxxxx USING yyyy

db2 "export to exportfile.ixf of IXF select * from SYSIBM.SAMPLE"

你可以再將輸出的文件導入裝有AIX系統的DB2 UDB中。我已經寫了一個在AIX上的Korn shell腳本, 只需給出圖表名稱,用戶名和密碼,就可用一個命令從大型機上提取和加載數據。同時值得提出的是使用db2look命令,你可以用大型機的DB2 Connect連接作為數據提取DDL。

#!/bin/ksh

#  Extract data from Mainframe and Load into the

#  SpecifIEd Table in the DDHAP00 Database

#

export LOADFILE="/udb/db2aix01/file/file1/$1"

export USERID=$2

export PSWD=$3

export CurrentPWD=$PWD  # Save current directory

echo 'date'

# Connect to mainframe

db2 CONNECT TO DB2S390 USER $USERID using $PSWD

echo "Extracting data from mainframe..."

# Extract data from mainframe

db2 "export to $LOADFILE.ixf of IXF select * from DBDEV.$1"

echo 'date'

echo "Extract completed"

# Disconnect from mainframe

db2 DISCONNECT DB2S390;

# Connect to database on AIX

db2 CONNECT TO DDHAP00 USER xxxxx USING xxxxxx;

# Clear load messages file

cp /dev/nul /udb/db2aix01/file/file1/Load_$1.msg

echo 'date'

echo "Loading data..."

# Load data from flat file

db2 "LOAD FROM $LOADFILE.ixf OF IXF MODIFIED BY pagefreespace=0

totalfreespace=0 ROWCOUNT 999999999 WARNINGCOUNT 9 MESSAGES Load_$1.msg

REPLACE INTO DBO.$1 STATISTICS NO INDEXING MODE AUTOSELECT"

echo 'date'

echo "End of Load"

db2 DISCONNECT DDHAP00;

# Reset to previous directory

cd $PWD

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved