The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2006
Сообщений: 54
Сценарий не выполняет Вставить Заявление

Привет

У меня есть текстовый файл, содержание
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;
Но ч. безуспешными, Пожалуйста, помогите .....
Old 08-24-2006
mukundranjan mukundranjan is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2006
Сообщений: 20
Я считаю его очень прост в использовании SQL-погрузчик для вашего назначения.
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2006
Сообщений: 54
Благодаря Mukund

Atleast я получил направление ...

Спасибо
Amruta
Old 08-24-2006
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Supporter
  
 

Регистрация: Dec 2004
Место проведения: Сингапур
Сообщений: 2350
Amruta, вы можете использовать оболочку для этого достаточно просто:
Код:
#####Connecting sqlplus to check the connectivity
sqlplus -s /nolog <<EOF>/dev/null
connect ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME}
oldIFS=$IFS
IFS=,
while read acctno salutation name billdate totaldue billdeductiondate billduedate templatecode billid emailid brnno billsummaryid batchno field14 field15 emailfile rest_of_the_fields; do
    echo "Insert into table"
# insert into whatever table, whichever values that you want
# after you are done, go ahead
    echo "Table Appended"
    commit;
    spool off;
    exit;
    EOF
done
field14, field15: проведение 14-й и 15-го поля, rest_of_the_fields: содержит поля от 17 до конца строки. Все остальное идет в надлежащее назвали переменными.
Old 08-25-2006
Amruta Pitkar Amruta Pitkar is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2006
Сообщений: 54
Thumbs up SQL Погрузчик для Дозапись данных

Привет там
Я работал на 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
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 11:15 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0