![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| UNIX script til tager de gamle data fra en txt-fil og komprimere dem til nye fil | vpandey | Shell Programmering og Scripting | 2 | 03-05-2008 11:10 AM |
| Behov Shell Script til at overføre data fra Tekstfil til Oracle database | chandrashekharj | Shell Programmering og Scripting | 6 | 03-26-2007 03:21 AM |
| Shell Script for Data lastning i Oracle | raghuraja_r | Shell Programmering og Scripting | 3 | 07-21-2006 10:00 AM |
| Shell Script til Indlæs data i databasen ved hjælp af en. Csv-fil og. CTL fil | Csmani | Shell Programmering og Scripting | 3 | 05-24-2006 08:09 AM |
| UNIX-script til at eksportere data fra csv-fil til Oracle Database | vinayagan | Shell Programmering og Scripting | 3 | 07-20-2005 04:16 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
UNIX script for lastning en data fra en fil i databasen
Hi All,
Jeg forsøger at indlæse et data fra en filer i en bestemt mappe til en database .. cd $ SCC isql metdb>> $ (LOGDATA) / LOAD.LOG <! belastning fra "$ (LDATA) / $ (FORM). ld" indsætte i $ LOADTABLE ! Men det viser fejl "syntaksfejl i linje 46:` << 'umatchede " Kan u plz hjælp mig ... |
|
||||
|
Citat:
Det ser ud til din her dokument behov en mere mindre end tegn første del ... <<! kommandoer ... ! |
|
||||
|
Load pipe-afgrænset filer via Informix
Dette er et script jeg skrev, der gør lastning
pipe-afgrænset filer meget let. Du behøver ikke at skabe de kommando fil, fordi den gør det for du. Det kontroller den første linje i den fil, du lastning for at sikre, at antallet af områder og antallet af kolonner i tabellen match. Syntaks: dbload.sh databasename tablename Filnavn Her er det: ###--- skære her ---### #! / bin / ksh # Script: dbload.sh # Freeware # Dette hjælpeværktøj kører Informix dbload utility skabe den nødvendige kommando # Fil bruges af dbload automatisk. Det tager tre parametre, # Database, tablename, og pipe-afgrænset datafile. # Det kontrollerer 1. linje i datafile at gøre sikker på, at det indeholder # Det samme antal felter, som det fremgår af tabellen er det blive påfyldt før # En belastning kan finde sted. # Parameters: # $ 1 \u003d databasenavn # $ 2 \u003d tabellen navn # $ 3 \u003d datafile navn # $ 4 \u003d nocheck (frivilligt, for at undgå kontrol af antallet af rør i filen og tabel) USAGE \u003d "\ n \ nUsage: dbload.sh database tablename datafile [nocheck] \ n " if (($ # <3)) # Tre parametre påkrævet så print "A forsyningsværk til at indlæse et pipe-afgrænset datafile i en database tabel " print $ USAGE exit 1 fi DATABASE \u003d $ 1 TABLENAME \u003d $ 2 DATAFILE \u003d $ 3 NOCHECK \u003d $ 4 # Aflever # af kolonner i den database, tabel TBLCOLS \u003d $ (dbschema-d $ (DATABASE)-t $ (TABLENAME) | Grep "antal kolonner" | sed 's / ^ .* kolonner \u003d / / '| sed 's / indeks .*$//') hvis [[-z $ TBLCOLS]] så print "Fejl: Tabel ikke fundet i databasen" exit 1 fi # echo "TABELPOSITION KOLONNER \u003d" $ TBLCOLS hvis [[$ NOCHECK! \u003d "nocheck"]] så # Retur # kolonner i datafile - skal svare Det tabelkolonne count #Sed passerer 1. data rækken til sed fjerne alle, men rør og tildele string PIPESTR \u003d `sed -n'1, 1p '$ (DATAFILE) | sed 's /[^|]*// g' ` # Længden af strengen vil være antallet af datakolonner i filen DATCOLS \u003d $ (# PIPESTR) anden # Nr. kontrol antages, at antallet af kolonner korrekt DATCOLS \u003d $ TBLCOLS fi hvis [$ TBLCOLS \u003d $ DATCOLS] så # echo "Spisedruer og datafile kolonne tæller er samme " print "Processing ... Vent venligst ... « ERRSALLOWED \u003d 10 Logfile \u003d load_ $ (TABLENAME). Log # bygge kommando fil med enestående tidsstempel Tidsstempel \u003d `dato +% y% m% d_% H% M% S` CMDFILE \u003d / tmp / loadcmd. $ Timestamp echo "FILE "'"'${ DATAFILE) '" DELIMITER "|" '$ (TBLCOLS)'; '> $ (CMDFILE) echo "INSERT INTO" $ (TABLENAME) ';'>> $ (CMDFILE) dbload-d $ (DATABASE)-c $ (CMDFILE)-l $ (Logfile)-e $ (ERRSALLOWED) rm $ (CMDFILE) print "Indlæsning afsluttet." anden echo "Spisedruer og Datafile Antal kolonner gøre ikke stemmer overens: "$ (TBLCOLS)" og "$ (DATCOLS) fi ###--- Skære her ---### Hvad du kan gøre, er at have et script, der gør det noget i stil med følgende: echo 'drop tabellen mytable' | dbaccess mydatabase dbaccess mydatabase mycreatetablescript.sql dbload.sh mydatabase mytable mydatafile Jeg håber, at det hjælper. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|