The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Bruke Shell Script for å få data fra tekstfil jermaine4ever Shell programmering og Skripting 1 03-13-2009 08:58
shell script for å lese data fra en tekstfil og laste det inn i en tabell i padde pallavishetty Shell programmering og Skripting 1 10-31-2008 04:15
Hvordan hente data fra en tekstfil i Unix shikhakaul Shell programmering og Skripting 4 01-25-2008 11:20
Trenger Shell Script for å laste opp data fra tekstfil til Oracle database chandrashekharj Shell programmering og Skripting 6 03-26-2007 04:21
Slik skriving brukernavn på tekstfil i finger-kommandoen på shell script Micz Shell programmering og Skripting 3 11-08-2005 02:38

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 07-01-2009
rdhanek rdhanek is offline
Registrert bruker
  
 

Bli Dato: juni 2009
Innlegg: 74
hvordan bruke data i unix tekstfil som innspill til en SQL-spørring fra Shell

Hei,
Jeg har data i en tekstfil noe sånt som dette.

Code:
adams
robert
ahmed
gibbs

Jeg vil bruke disse dataene linje for linje som input til en SQL-spørring som jeg løpe ved å koble til en Oracle-database fra shell.
Hvis du har koden for liknende scenario, vennligst ehlp.
Jeg ønsker utgangen av sql spørring for å bli oppdatert i en tekst føles slik at jeg kan sende det samme som en rapport.
output forventet:

Code:
Name   subject  marks
adams  maths   79
Robert Sceience 67
gibbs   maths    81

Takk på forhånd

Sist endret av Yogesh Sawant; 07-01-2009 på 08:37.. Årsak: lagt til kode tags
  #2 (permalink)  
Old 07-01-2009
jayan_jay jayan_jay is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Beliggenhet: Chennai
Innlegg: 40
Prøv denne ...
for i in `cat tekstfil`
gjøre
SH <dbscript-name> "$ line"
ferdig

koder for dbscript:
--------------------
sqlplus-s '<user-name> / <password>'> / dev / null <<EOF
exec <din egen DB prosess command> ( '$ 1');
commit;
EOF

Sist endret av jayan_jay; 07-01-2009 kl 07:11..
  #3 (permalink)  
Old 07-01-2009
Ramesh_srk Ramesh_srk is offline
Registrert bruker
  
 

Bli Dato: juni 2009
Beliggenhet: Chennai, India
Innlegg: 20
Prøv dette,

#! / bin / bash

exec <InputFilename
mens du leser linje
gjøre
$ ORACLE_HOME / bin / sqlplus-s brukernavn / passord <<!
select * from TABLENAME der Fieldname \u003d '$ linje "
/
!
ferdig
  #4 (permalink)  
Old 07-01-2009
rdhanek rdhanek is offline
Registrert bruker
  
 

Bli Dato: juni 2009
Innlegg: 74
Takk Jay og Ramesh for wuick respons.
Trenger jeg å spole dataene for adresselisten på slutten? I så fall hvordan kan jeg gjøre det?
Jeg er ny på unix .. så behage dont mind.

---------- Post oppdatert kl 06:43 ---------- forrige oppdatering var ved 06:34 ----------

Jeg prøver som dette. Kan du sjekke om denne er fin?


Code:
#!/bin/ksh



sqlplus -s $prodUser/$prodPasswd@$prodDatabase <<SQL


spool $LOG


select 'student name,subject,marks' from dual;

set serveroutput on size 1000000;
SELECT
 student name,subject,markst(*) count1
FROM
 student
WHERE
  student_name='$line'


if student_name is null then
null;
else
dbms_output.put_line(student_name||','||subject||','||marks);
end if;
end;
/
!
done


spool off

SQL

mailx -s "$message" rdhanek@yahoo.com

  #5 (permalink)  
Old 07-01-2009
jayan_jay jayan_jay is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Beliggenhet: Chennai
Innlegg: 40
Gjør endringer på denne linjen som
$ ORACLE_HOME / bin / sqlplus-s brukernavn / passord>> TmpOutputFile <<!

da det vil legge resultatet av alle linjene ... Endelig ta i bruk dette navnet for å sende post.
  #6 (permalink)  
Old 07-01-2009
rdhanek rdhanek is offline
Registrert bruker
  
 

Bli Dato: juni 2009
Innlegg: 74
Jeg prøvde noe slikt

Code:
#!/bin/bash

exec<inputfilename
while read line
do
sqlplus -s username/passwd@$dbname >> output file <<!
select * from table where fieldname='$line'
/
!
done

Men utdatafilen bare inneholder detaljer om sqlplus kommandoen. Må jeg bruke sppol her?

---------- Post oppdatert kl 07:21 ---------- forrige oppdatering var ved 07:11 ----------

Jeg prøvde noe slikt

Code:
#!/bin/bash

exec<inputfilename
while read line
do
sqlplus -s username/passwd@$dbname >> output file <<!
select * from table where fieldname='$line'
/
!
done

Men effekten føler bare inneholder detaljer om sqlplus kommando og ingenting annet. Trenger jeg å bruke spole her?
  #7 (permalink)  
Old 07-01-2009
Ramesh_srk Ramesh_srk is offline
Registrert bruker
  
 

Bli Dato: juni 2009
Beliggenhet: Chennai, India
Innlegg: 20
Jeg håper problemet i filnavn, plz endre filen nedenfor linjen som følger

sqlplus-s brukernavn / passwd @ $ dbname>> utdatafil <<!
Reply

Hugseliste

Tags
shell, sql, UNIX

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 08:32.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0