2016-03-26 7 views
0

T-PUMP çalışırken DML hatası alıyorum.T-PUMP DML HATA

.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; 
Ben aşağıdaki linke sevk
ERROR: 
**** 10:18:50 UTY2832 A .DML statement must be entered before any SQL 

:

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

cevap

0

Size bir kısmını eksik olduğunu görünüyor Burada bir tablo infa_source12 bir dosyadan veriyi yükleyen benim senaryom .DML komutu için komut sözdizimi. Net olmayan şey, SERIALIZEON'u kullanıp kullanmayacağınız olup olmadığına bakmak değildir.

.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; 

Teradata Kılavuzları here T-Pompa komut sözdizimi hakkında daha fazla bilgi bulunmaktadır.

+0

Teşekkür Rob :) Teradata'ya yeniyim, biraz yardım alabilirmiyim. Zaman kazandıracak, bu kılavuz Anlamak çok uzun sürecek –

1

Senaryonuz (yani web sitesinden kopyalanmış) synax hatalarla dolu:

.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; 
Eğer kılavuzları bulunan örnekler izlediğinizde daha fazla zaman kazandıracak

... çabuk tepki için