![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| (SED) парсинга включить заявление колонке, что пересекает несколько строк | jjordan | Shell программирование и сценарии | 3 | 10-09-2007 01:23 AM |
| Необходимо выполнить то же заявление, | Legend986 | Shell программирование и сценарии | 8 | 10-01-2007 05:59 PM |
| Как я могу выполнить, если ELSE Заявление | laknar | Shell программирование и сценарии | 1 | 06-08-2007 03:54 AM |
| Установите на вкладке эхо заявление | sunils27 | Shell программирование и сценарии | 5 | 08-26-2005 04:36 AM |
| AWK команда INSERT заявление | nattynatty | Shell программирование и сценарии | 4 | 05-10-2002 03:11 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Сценарий не выполняет Вставить Заявление
Привет
У меня есть текстовый файл, содержание LINE1: Field1, Field2, field3, field4, field5, field6 ....... field20 LINE2: Field1, Field2, field3, field4, field5, field6 ....... field20 Line3: Field1, Field2, field3, field4, field5, field6 ....... field20 .... и так далее ... Я хочу посмотреть этот файл, и вставить данные в таблицу. Как я могу сделать, что ... может кто-нибудь помочь? Я пытался прочитать текстовый файл, каждая строка, сокращение поля, сделать соединение с базой данных, а затем выполните Вставить Заявление .... Но когда я это Вставить заявление не исполнять. Может ли кто-нибудь мне руководство как мне достичь этого? Код:
#####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;
|
|
||||
|
Я считаю его очень прост в использовании SQL-погрузчик для вашего назначения.
|
|
||||
|
Благодаря Mukund
Atleast я получил направление ... Спасибо Amruta |
|
||||
|
Привет там
Я работал на Mukund предложение использовать sqlloader ... она работала успешно. Это основная shellscript 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 |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|