![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| (SED) parseren voegen verklaring kolom die kruizen meerdere lijnen | jjordan | Programmeren en Shell Scripting | 3 | 10-09-2007 01:23 |
| Nodig hebben voor dezelfde verklaring | Legend986 | Programmeren en Shell Scripting | 8 | 10-01-2007 05:59 PM |
| Hoe kan ik uitvoeren in IF ELSE Statement | laknar | Programmeren en Shell Scripting | 1 | 06-08-2007 03:54 |
| Tabblad Invoegen in echo verklaring | sunils27 | Programmeren en Shell Scripting | 5 | 08-26-2005 04:36 |
| awk commando voor INSERT verklaring | nattynatty | Programmeren en Shell Scripting | 4 | 05-10-2002 03:11 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Script niet uitvoeren Plaats Statement
Hoi
Ik heb een tekst bestand, inhoud Lijn1: veld1, field2, field3, field4, field5, field6 ....... field20 Lijn 2: veld1, field2, field3, field4, field5, field6 ....... field20 Lijn3: veld1, field2, field3, field4, field5, field6 ....... field20 .... en zo verder ... Ik wil om dit bestand te lezen en plaats de gegevens in tabel. Hoe kan ik dat doen ... kan iemand helpen? Ik probeerde te lezen van de tekst-bestand, elke regel, knippen de velden, maak verbinding met database en vervolgens de uitvoering van de Verklaring invoegen .... Maar toen ik dit het invoegen verklaring niet uitvoeren. Kan iemand mij leiden hoe kan ik dat bereiken? Code:
#####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
Code:
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;
|
|
||||
|
Hi there
Ik werkte op Mukund de suggestie te gebruiken sqlloader ... het werkte goed. dit is de belangrijkste shellscript LoadMain.sh Code:
#!/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"
data \u003d mlist.txt is de Input tekst bestand bevat gegevens met scheidingstekens. controle \u003d tryloader.ctl is de controle-bestand dat informatie bevat over hoe de gegevens zullen worden toegevoegd aan de tabel ... Mijn tryloader.ctl bevat: Code:
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 |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|