2017-11-10 18 views
0

csvファイルからデータをピックアップし、Oracleのdbにバルク・コピー(bcp)するシェル・スクリプトを作成しようとしています。 シェルスクリプトを書くことはできますが、sql bcpの仕組みはわかりません。バルク・コピーからcsvファイルをシェル・スクリプトを使用してOracleDBにコピー

ここ

を続行する方法で私をアドバイスしてください、私のファイルを想定すると、スクリプトのスニペット

#!/bin/bash 
echo "Now processing step: LOAD_" 
DB_CONNECT="USER/[email protected]" 
SPOOLFILE=/home/log.txt 
echo "Now processing step:" $DB_CONNECT 
sqlplus -s ${DB_CONNECT} <<EOF 
spool ${SPOOLFILE} 
file="/etc/hosts" 
if [ -f "$file" ] 
    then 
echo "$file found." 
TRUNCATE TABLE ; 
else 
echo "$file not found." 
fi 

は、以下のデータをcsvファイル

1,2,3,4 
5,6,7,8 
10,11,12,13 

おかげ

答えて

1

BCPは、SQL Serverのものです。

あなたは今Oracleの土地にいます。

ただし、スクリプトを使用してCSVからテーブルをロードする場合は、いくつかのツールがあります。

は、大量のデータを処理するのに最適です。何百万行も問題はありません。柔軟性があり、データを入力ストリームからテーブルに定義/マップすることができます。これはOracleクライアントの一部です。使用するには、マシンに$ ORACLE_HOMEが必要です。

列が表と同じ順序で一致し、数千の行だけであるCSVがある場合は、ちょうどuse the LOAD command in SQLclでもかまいません。これはSQL Developerの一部(/ binディレクトリ内)で、別途ダウンロードして入手できます。実行するにはJREが必要です。

関連する問題