![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| (削除するsed )の解析は、複数行のINSERT文の列を渡る | jjordan | シェルプログラミングとスクリプティング | 3 | 2007年10月9日 01:23午前 |
| 同じ文を実行する必要があります | Legend986 | シェルプログラミングとスクリプティング | 8 | 2007年10月1日 05:59午後 |
| else文の場合はどうすれば実行する | laknar | シェルプログラミングとスクリプティング | 1 | 2007年6月8日 03:54午前 |
| タブを挿入するエコーの声明 | sunils27 | シェルプログラミングとスクリプティング | 5 | 2005年8月26日 04:36午前 |
| INSERTステートメントのAwkのコマンド | nattynatty | シェルプログラミングとスクリプティング | 4 | 2002年5月10日 03:11午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
スクリプトを挿入ステートメントを実行していません
やあ
私は、テキストファイルが、内容は 行1 :フィールド、フィールド、 field3 、 field4 、 field5 、 field6 ....... field20 行:フィールド、フィールド、 field3 、 field4 、 field5 、 field6 ....... field20 行:フィールド、フィールド、 field3 、 field4 、 field5 、 field6 ....... field20 ....のように... 私はこのファイルを読む際に、テーブルにデータを挿入します。 どのように行うことができます...誰ですか? 私は、それぞれの行がテキストファイルの読み込みを、試したのフィールド切ると、データベースへの接続をすると、 INSERTステートメントを実行して.... しかし、私はこれは、 INSERTステートメントを実行していません。 誰も私ガイドどうすればいいかを達成することはできますか? コード:
#####Connecting sqlplus to check the connectivity
sqlplus -s /nolog <<EOF>/dev/null
connect ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME}
cat /$FILEPATH/$FILENAME | while read LINE
do
echo ${LINE}
acctno=`echo $LINE | cut -f1 -d','`
echo $acctno
salutation=`echo $LINE | cut -f2 -d','`
name=`echo $LINE | cut -f3 -d','`
billdate=`echo $LINE | cut -f4 -d','`
totaldue=`echo $LINE | cut -f5 -d','`
billdeductiondate=`echo $LINE | cut -f6 -d','`
billduedate=`echo $LINE | cut -f7 -d','`
templatecode=`echo $LINE | cut -f8 -d','`
billid=`echo $LINE | cut -f9 -d','`
emailid=`echo $LINE | cut -f10 -d','`
brnno=`echo $LINE | cut -f11 -d','`
billsummaryid=`echo $LINE | cut -f12 -d','`
batchno=`echo $LINE | cut -f13 -d','`
emailfile=`echo $LINE | cut -f16 -d','`
echo "Insert into table"
spool ${SYS_TEMP_DIR}/${JOB_ID}_db_sql.log
INSERT INTO SendMailDetails (acctno) values ('${acctno}');
echo "Table Appended"
commit;
spool off;
exit;
EOF
done
コード:
MYCOMMAND=`awk '$1' ${FILEPATH}${FILENAME}`
sqlplus -s /nolog <<EOF>/dev/null
connect ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME}
spool my.log
Insert into SendMailDetails(acctno) values($MYCOMMAND);
spool off
commit;
exit
EOF;
|
|
||||
|
こんにちは
私Mukundの提案にsqlloaderを使用するように...それが正常に働いている。 これは、メインシェルスクリプトです LoadMain.sh コード:
#!/usr/bin/ksh
DB_LOGIN=SOMESYSTEM
DB_PASSWORD=SOMEPASSWD
DB_NAME=SOMENAME
FILENAME="$1"
sqlldr ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME} control=tryloader log=mlist2.log data=mlist2.txt
echo "I am done"
データ\u003d mlist.txtは、区切り文字でデータが含まれている入力テキストファイルです。 コントロール\u003d tryloader.ctlどのようにデータをテーブルに追加されるの情報が含まれているコントロールファイルです... マイtryloader.ctl含まれています: コード:
LOAD DATA APPEND INTO TABLE SendMailDetails ( AcctNo CHAR TERMINATED BY ",", Salutation CHAR TERMINATED BY ",", Name CHAR TERMINATED BY ",", BillDate CHAR TERMINATED BY ",", TotalDue DECIMAL EXTERNAL TERMINATED BY ",", ...and other fields ) Amruta Pitkar |