![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
| UNIX-skript för att ta de gamla data från en txt-fil och tryck ihop dem till nya filen | vpandey | Shell-programmering och Skript | 2 | 03-05-2008 11:10 |
| 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 |
| Shell Script för Data laddas i Oracle | raghuraja_r | Shell-programmering och Skript | 3 | 07-21-2006 11:00 |
| Shell Script att ladda data i databasen med en. Csv-fil och. CTL fil | Csmani | Shell-programmering och Skript | 3 | 05-24-2006 09:09 |
| UNIX-skript för att exportera data från csv-fil till Oracle databas | vinayagan | Shell-programmering och Skript | 3 | 07-20-2005 05:16 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
UNIX-script för att ladda ett data från en fil i databas
Hej Alla,
Jag försöker att ladda ett data från ett register i en viss katalog till en databas .. cd $ SCC isql metdb>> $ (LOGDATA) / LOAD.LOG <! last "$ (LDATA) / $ (form). ld" Sätt in $ LOADTABLE ! Men det visar fel "syntax error på rad 46:" << "oöverträffade" Kanna fullständig plz hjälpa mig ... |
|
||||
|
Citat:
Det verkar som din här dokumentet behöver en mer mindre än tecken första delen ... <<! kommandon ... ! |
|
||||
|
Ladda pipe-avgränsade filer med Informix
Detta är ett script jag skrev som gör lastningen
pipe-avgränsade filer väldigt enkelt. Du behöver inte komma skapa kommandot ärende eftersom det gör det för du. Det kontrollerar första raden i filen som du är Laddar för att se till att antalet fält och antalet kolumner i tabellen match. Syntax: dbload.sh databasename tablename filename Här är den: ###--- klippa här ---### #! / bin / ksh # Manus: dbload.sh # Freeware # Verktyget körs Informix dbload utility skapa den nödvändiga kommandot # Fil som används av dbload automatiskt. Det tar tre parametrar, # Databas tablename, och rörsystem avgränsas datafile. # Det kontroller 1: a raden i datafile att göra Kontrollera att den innehåller # Samma antal områden som tabellen är det laddas in innan # En belastning kan äga rum. # Parametrarna: # $ 1 \u003d databasnamn # $ 2 \u003d namn # $ 3 \u003d datafile namn # $ 4 \u003d nocheck (frivilligt, för att undvika kontroll av antal rör i fil och tabell) ANVÄNDNING \u003d "\ n \ nUsage: dbload.sh databas tablename datafile [nocheck] \ n " if (($ # <3)) # Tre parametrar nödvändig sedan print "Ett verktyg för att ladda ett rörsystem avgränsas datafile i en databas tabellen " print $ ANVÄNDNING exit 1 fi DATABASE \u003d $ 1 TABLENAME \u003d $ 2 DATAFILE \u003d $ 3 NOCHECK \u003d $ 4 # Returnera antal kolumner i databasen tabellen TBLCOLS \u003d $ (dbschema-d $ (DATABAS)-t $ (TABLENAME) | Grep "antalet kolumner" | sed 's / ^ .* kolumner \u003d / / '| sed 's / index .*$//') om [[-z $ TBLCOLS]] sedan print "Fel: tabell som inte finns i databasen" exit 1 fi # echo "TABELL COLUMNS \u003d" $ TBLCOLS om [[$ NOCHECK! \u003d "nocheck"]] sedan # Returnera antal kolumner i datafile - måste matcha tabellen kolumn räkna #Sed passerar 1:a uppgifter rad sed tar bort alla utom rörledningar och tilldela strängen PIPESTR \u003d "sed -n "1, 1p" $ (DATAFILE) | sed är /[^|]*// g "" # Längden av strängen kommer att antalet datakolumner i filen DATCOLS \u003d $ (# PIPESTR) annan # Ingen kontroll, antar antalet kolumner korrekt DATCOLS \u003d $ TBLCOLS fi om [$ TBLCOLS \u003d $ DATCOLS] sedan # echo "Bordsdruvor och datafile kolumn räknas är samma " print "Processing ... Please wait ... " ERRSALLOWED \u003d 10 Loggfil \u003d load_ $ (TABLENAME). Logga # bygga kommando fil med unik tidsstämpel Timestamp \u003d "datum +% Y% m% d_% H% M% S" CMDFILE \u003d / tmp / loadcmd. $ TIMESTAMP echo "FILE "'"'${ DATAFILE)" avgränsare "|" "$ (TBLCOLS)", "> $ (CMDFILE) echo "infoga i" $ (TABLENAME) ",">> $ (CMDFILE) dbload-d $ (DATABAS)-c $ (CMDFILE)-l $ (Loggfil)-e $ (ERRSALLOWED) rm $ (CMDFILE) print "Laddar Kompl." annan echo "Bordsdruvor och Datafile Antal kolumner göra inte stämmer överens: "$ (TBLCOLS)" och "$ (DATCOLS) fi ###--- Klippa här ---### Vad du kan göra är att ha ett script som gör det något i stil med följande: echo 'drop tabellen mytable "| dbaccess mydatabase dbaccess mydatabase mycreatetablescript.sql dbload.sh mydatabase mytable mydatafile Jag hoppas det hjälper. |