2016-04-12 11 views
2

TeradataのFastloadスクリプトを使用してCSVファイルをTeradataにインポートしようとしています。 また、自動インクリメント列を追加しようとしました。 これは私のCSVファイルです:私が得たTeradata create table自動インクリメント列エラー

Word,country,sale,week 
hi,USA,26.17,11/22/15-11/28/15 
bye,USA,16.5,11/22/15-11/28/15 

コードスニペット

String tableName = "my_db.mytable"; 
    String createTable = "CREATE TABLE " + tableName + "," + 
          "NO FALLBACK," + 
          "NO BEFORE JOURNAL," + 
          "NO AFTER JOURNAL," + 
          "CHECKSUM = DEFAULT" + 
          "(" + 
          " id decimal(10,0) NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 NO CYCLE),"+ 
          " word VARCHAR(500) CHARACTER SET UNICODE," + 
          " country VARCHAR(50)," + 
          " sale FLOAT," + 
          " week VARCHAR(30)" + 
          ") " + 
          "PRIMARY INDEX (id)"; 

    // INSERT statement 
    String insertTable = "INSERT INTO " + tableName + " VALUES(?,?,?,?,?)"; 

エラー:

Row 1 in FastLoad table my_db.mytable_ERR_1 contains the following data: 
ErrorCode=2673 
ErrorFieldName=F_id 
ActualDataParcelLength=55 
DataParcel: byte array length 55 (0x37), offset 0 (0x0), dump length 55 (0x37) 

答えて

0

これは、FastLoadのスクリプトのようには見えませんが、JDBCのこの部分です-FastLoad?

2673ソースパーセルの長さが、定義されたデータと一致しません。

入力データはカンマ区切りのテキストなので、すべての列をVARCHARとして定義する必要があります。

そして、そこ列は、入力ファイル内にありますが、あなたはINSERTにを指定します。名前の通り、GENERATED ALWAYSというシーケンスが自動的に作成されます。

関連する問題