The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



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

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 Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2006
Posts: 54
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
Ik heb ook geprobeerd:

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;
Maar ik ben gebleven, Please help .....
  #2 (permalink)  
Old 08-24-2006
mukundranjan mukundranjan is offline
Geregistreerde gebruiker
  
 

Join Date: Jul 2006
Posts: 20
Ik denk dat het redelijk makkelijk te gebruiken sql loader voor uw doel.
  #3 (permalink)  
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2006
Posts: 54
Dankzij Mukund

Atleast Ik heb een richting ...

Bedankt
Amruta
  #4 (permalink)  
Old 08-24-2006
blowtorch's Avatar
steekvlam blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: december 2004
Locatie: Singapore
Berichten: 2350
Amruta, kunt u gebruik maken van de dop te doen dat heel gemakkelijk:
Code:
#####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: houd de 14de en 15de velden, rest_of_the_fields: bevat de velden van 17 tot het einde van de lijn. Alles gaat naar de gepaste naam variabelen.
  #5 (permalink)  
Old 08-25-2006
Amruta Pitkar Amruta Pitkar is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2006
Posts: 54
Thumbs up SQL Loader te Append Data

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
)
En weer .. Thanks guys ....

Amruta Pitkar
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 02:41 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0