Empress 資料一覧

DBのデータをテキストとしてファイルに出力する、あるいはテキストファイルの内容をDBに取り込む方法

2007/11/18更新

対応バージョン: 6.10

empsdump/empsldvを使用する。

デフォルトのセパレータは「^V ([Ctrl]+[v])」であるが、環境変数MSVALSEPでセパレータを変更できるので、例えばCSV形式で出力する場合は以下のようにする。

% setenv MSVALSEP ","
% empsdump <出力ファイル名> <DB名> <テーブル名>

参考までに、DBの全テーブルのunloadファイルを作成したい場合は以下のようなスクリプトを作っておくと便利である。

#!/bin/sh

if [ $# != 1 ]; then
  echo "usage: "`basename $0`" DB"
  exit
fi

MSVALSEP=","                         # セパレータ
export MSVALSEP

Sub=`date +"%Y%m%d%H%M%S"`

DB=$1
TableList=`empcmd ${HOME}/${DB} "display db" | grep -v '*'`

for Table in $TableList
do
  echo "unload : "${Table}
  empsdump ${Table}.csv.${Sub} ${HOME}/${DB} ${Table}
done

また、同様にCSVファイルからDBにデータを取り込むには以下のようにする。

% setenv MSVALSEP ","
% empsldv <入力ファイル名> <DB名> <テーブル名>

関連資料・記事