2016-03-26 2 views
0

Während T-PUMP laufen bekomme ich DML-Fehler. Hier ist mein Skript, das Daten aus einer Datei in eine Tabelle infa_source12 wird geladen:T-PUMP DML-FEHLER

.LOGTABLE etlt5.EMP_TPUMP_LOG; 
.logon ttdbia/USR/PASSWRD; 
.BEGIN LOAD; 
PACK 5 
RATE 10 
ERROR TABLE Etlt5.TPUMPERROR; 
.LAYOUT RECLAYOUT; 
.FIELD id  * varchar(10); 
.FIELD name  * varchar(20); 
.FIELD country * varCHAR(30); 

.DML label INST; 

INSERT INTO etlt5.infa_source12 
(id,name,country) 
VALUES 
(:id, :name, :country) 
.IMPORT INFINE /home/a0c9sx/SQLAExport.txt; 
LAYOUT RECLAYOUT 
APPLY INST ; 
.END LOAD; 
.LOGOFF; 
ERROR: 
**** 10:18:50 UTY2832 A .DML statement must be entered before any SQL 

ich auf den folgenden Link genannt:

http://www.teradatawiki.net/2013/10/Teradatautilities-tpump.html

Antwort

0

Es scheint, dass Sie ein Teil fehlen von die Befehlssyntax für den Befehl .DML. Was nicht klar ist, ist, ob Sie SERIALIZEON verwenden müssen oder nicht.

.LOGTABLE etlt5.EMP_TPUMP_LOG; 
.logon ttdbia/USR/PASSWRD; 
.BEGIN LOAD; 
PACK 5 
RATE 10 
ERROR TABLE Etlt5.TPUMPERROR; 
.LAYOUT RECLAYOUT; 
.FIELD id  * varchar(10); 
.FIELD name  * varchar(20); 
.FIELD country * varCHAR(30); 

.DML LABEL INST 
    DO INSERT FOR; 

INSERT INTO etlt5.infa_source12 
(id,name,country) 
VALUES 
(:id, :name, :country) 
.IMPORT INFINE /home/a0c9sx/SQLAExport.txt; 
LAYOUT RECLAYOUT 
APPLY INST ; 
.END LOAD; 
.LOGOFF; 

Es gibt mehr Informationen über die T-Pump-Befehlssyntax in dem Teradata Manuals here.

+0

Danke für die schnelle Antwort Rob :) Ich bin neu in Teradata, wenn ich eine schnelle Hilfe bekommen kann. Es wird Zeit sparen, wird dieses Handbuch zu lange dauern, um zu verstehen –

1

Ihr Skript ist voll von SYNAX-Fehler (von dieser Website kopiert):

.LOGTABLE etlt5.EMP_TPUMP_LOG; 
.logon ttdbia/USR/PASSWRD; 
.BEGIN LOAD; -- no semicolon, the next keywords are part of BEGIN LOAD 
     -- SESSIONS is missing 
PACK 5 
RATE 10 
ERROR TABLE Etlt5.TPUMPERROR; -- no space between ERROR and TABLE 
.LAYOUT RECLAYOUT; 
.FIELD id  * varchar(10); 
.FIELD name  * varchar(20); 
.FIELD country * varCHAR(30); 

.DML label INST; 

INSERT INTO etlt5.infa_source12 
(id,name,country) 
VALUES 
(:id, :name, :country) -- missing semicolon, needed for each SQL statement 
.IMPORT INFINE /home/a0c9sx/SQLAExport.txt; -- no semicolon, the next keywords are part of IMPORT 
LAYOUT RECLAYOUT 
APPLY INST ; 
.END LOAD; 
.LOGOFF; 

Es wird mehr Zeit sparen, wenn Sie die Beispiele folgen in den Handbüchern ...