The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Använda Shell Script för att få data från textfil jermaine4ever Shell-programmering och Skript 1 03-13-2009 08:58
shell script för att läsa data från textfil och sedan läsa in den i en tabell i TOAD pallavishetty Shell-programmering och Skript 1 10-31-2008 04:15
Hur man hämtar data från en textfil i Unix shikhakaul Shell-programmering och Skript 4 01-25-2008 11:20
Behöver Shell Script för att ladda upp data från Textfil till Oracle databas chandrashekharj Shell-programmering och Skript 6 03-26-2007 04:21
Hur ska lägga in användarnamn på textfil i fingret kommando på shell script Micz Shell-programmering och Skript 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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-01-2009
rdhanek rdhanek is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 74
hur man använder data i UNIX textfil som indata till en SQL-förfrågan från shell

Hej,
Jag har data i min textfil något sådant.

Kod:
adams
robert
ahmed
gibbs

Jag vill använda dessa data rad för rad som underlag till en SQL-fråga som jag kör genom att ansluta till en Oracle-databas från skal.
Om du har kod för liknande scenario, vänligen ehlp.
Jag vill att produktionen av SQL-frågan ska uppdateras i en text känner mig så att jag kan maila samma som en rapport.
produktionen förväntas:

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

Tack på förhand

Senast redigerad av Yogesh Sawant; 07-01-2009 vid 08:37.. Orsak: lagt till kod taggar
  #2 (permalänk)  
Old 07-01-2009
jayan_jay jayan_jay is offline
Registered User
  
 

Join Date: Jul 2008
Plats: Chennai
Inlägg: 40
Prova detta ...
for i in `cat textfil`
göra
sh <dbscript-name> "$ line"
gjord

kodar för dbscript:
--------------------
sqlplus-s '<user-name> / <password>'> / dev / null <<EOF
exec <ditt egen BF processen command> ( '$ 1');
engagera;
EOF

Senast redigerad av jayan_jay; 07-01-2009 at 07:11..
  #3 (permalänk)  
Old 07-01-2009
Ramesh_srk Ramesh_srk is offline
Registered User
  
 

Join Date: juni 2009
Plats: Chennai, Indien
Inlägg: 20
Prova detta,

#! / bin / bash

exec <InputFilename
samtidigt läsa linje
göra
$ ORACLE_HOME / bin / sqlplus-s användarnamn / lösenord <<!
SELECT * FROM tabellnamn där fältnamn \u003d '$ line "
/
!
gjord
  #4 (permalänk)  
Old 07-01-2009
rdhanek rdhanek is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 74
Tack Jay och Ramesh för wuick svar.
Behöver jag spool uppgifterna för utskick i slutet? Om så hur kan jag göra det?
Jag är nybörjare i Unix .. so please dont sinne.

---------- Post updated at 06:43 ---------- Föregående uppdatering var vid 06:34 ----------

Jag försöker så här. Skulle ni kunna undersöka om detta är bra?


Kod:
#!/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 (permalänk)  
Old 07-01-2009
jayan_jay jayan_jay is offline
Registered User
  
 

Join Date: Jul 2008
Plats: Chennai
Inlägg: 40
Gör ändringar i denna linje som
$ ORACLE_HOME / bin / sqlplus-s användarnamn / lösenord>> TmpOutputFile <<!

så kommer det att lägga produktionen i alla rader ... Slutligen använda detta namn för att skicka e-post.
  #6 (permalänk)  
Old 07-01-2009
rdhanek rdhanek is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 74
Jag försökte något sådant

Kod:
#!/bin/bash

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

Men utdatafilen innehåller bara information om sqlplus kommandot. Måste jag använda sppol här?

---------- Post updated at 07:21 ---------- Föregående uppdatering var vid 07:11 ----------

Jag försökte något sådant

Kod:
#!/bin/bash

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

Men produktionen känner bara innehåller uppgifter om sqlplus kommando och ingenting annat. Måste jag använda spool här?
  #7 (permalänk)  
Old 07-01-2009
Ramesh_srk Ramesh_srk is offline
Registered User
  
 

Join Date: juni 2009
Plats: Chennai, Indien
Inlägg: 20
Jag hoppas att problemet i filnamnet, plz ändra filen nedan linje som följer

sqlplus-s användarnamn / passwd @ $ dbname>> utdatafil <<!
Reply

Komihåglista

Taggar
skal, sql, UNIX

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 01:16.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0