The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
(SED) Parsing INSERT-Anweisung der Kolonne, die über mehrere Zeilen jjordan Shell Programmierung und Scripting 3 10-09-2007 01:23 AM
Benötigen Sie für die Durchführung der gleichen Erklärung Legend986 Shell Programmierung und Scripting 8 10-01-2007 05:59 PM
Wie kann ich ausführen, in IF-ELSE-Anweisung laknar Shell Programmierung und Scripting 1 06-08-2007 03:54 AM
Registerkarte Einfügen in der echo-Anweisung sunils27 Shell Programmierung und Scripting 5 08-26-2005 04:36 AM
awk Befehl für die INSERT-Anweisung nattynatty Shell Programmierung und 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Registrierte Nutzer
  
 

Join Date: Aug 2006
Beiträge: 54
Skript nicht ausführen, INSERT-Anweisung

Hi

Ich habe eine Textdatei, die Inhalte sind
Line1: Feld1, Feld2, Feld3, Feld4, Feld5, field6 ....... field20
Line2: Feld1, Feld2, Feld3, Feld4, Feld5, field6 ....... field20
Line3: Feld1, Feld2, Feld3, Feld4, Feld5, field6 ....... field20
.... und so weiter ...

Ich möchte lesen Sie diese Datei und fügen Sie die Daten in die Tabelle.

Wie kann ich das machen ... kann jemand helfen?
Ich habe versucht, lesen Sie bitte die Text-Datei, jede Zeile, schneiden Sie die Felder aus, die Verbindung zur Datenbank und führen Sie die INSERT-Anweisung ....
Aber wenn ich das der INSERT-Anweisung nicht ausgeführt.
Kann jemand mich, wie kann ich das erreichen?

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
Ich habe auch versucht:

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;
Aber am erfolglos, Bitte helfen .....
  #2 (permalink)  
Old 08-24-2006
mukundranjan mukundranjan is offline
Registrierte Nutzer
  
 

Join Date: Jul 2006
Beiträge: 20
Ich glaube, seine sehr einfach zu verwenden SQL-Loader für Ihre Zwecke.
  #3 (permalink)  
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Registrierte Nutzer
  
 

Join Date: Aug 2006
Beiträge: 54
Dank MUKUND

Ich habe mindestens eine Richtung ...

Danke
Amruta
  #4 (permalink)  
Old 08-24-2006
blowtorch's Avatar
Lötlampe blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Ort: Singapur
Beiträge: 2.350
Amruta, können Sie die Shell, um dies ganz einfach:
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: Halten Sie den 14. und 15. Felder, rest_of_the_fields: hält den Bereichen von 17 bis Ende der Zeile. Alles andere geht in den entsprechenden Variablen Namen.
  #5 (permalink)  
Old 08-25-2006
Amruta Pitkar Amruta Pitkar is offline
Registrierte Nutzer
  
 

Join Date: Aug 2006
Beiträge: 54
Thumbs up SQL-Loader auf Daten anhängen

Hi there
Ich arbeitete auf MUKUND den Vorschlag zur Verwendung sqlloader ... es erfolgreich.
Dies ist die wichtigste 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 ist die Text-Datei enthält die Daten mit Trennzeichen.
Kontrolle \u003d tryloader.ctl ist die Control-Datei, die Informationen enthält, wie die Daten werden an den Tisch ...
Mein tryloader.ctl enthält:
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
)
Und wieder .. Danke Leute ....

Amruta Pitkar
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 11:43 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0