Как импортировать данные из файла Excel в таблицу Teradata с помощью скриптов BTEQ? - PullRequest
0 голосов
/ 26 августа 2009

Мне удалось заполнить таблицы данными из файла Excel или текстовых файлов с помощью утилиты графического интерфейса Teradata Sql assistant. Но теперь у меня есть требование импортировать данные в таблицы teradata из файла Excel с помощью скрипта bteq. Я пытался сделать это с помощью

. ИМПОРТНЫЙ ОТЧЕТ

. ИМПОРТНЫЕ ДАННЫЕ

. ИМПОРТ ВАРТЕКСТ и я пробовали и другие вещи, но бесполезные. Я сослался на некоторые ответы в teradataforum и погуглил на то же самое, но мой сценарий не работает. Пожалуйста, помогите мне со скриптом, который будет импортировать данные из файла Excel или, по крайней мере, текстового файла, используя скрипт BTEQ. Мой скрипт выглядит следующим образом ...

.LOGON XXXX/XXXXXX,XXXX
.import data FILE = D:\XX\XXXX.xls ;
.QUIET ON 
.REPEAT * 
USING COL1  (CHAR(1))
     ,COL2  (CHAR(1))
     ,COL3 (VARCHAR(100))

INSERT INTO DATABASE.TABLE
    ( COL1
     ,COL2
     ,COL3)
VALUES ( :COL1
        ,:COL2
        ,:COL3);
.QUIT

EDIT:

До сих пор я приходил так долго. Я успешно загрузил данные из текстового файла, разделенного запятыми, используя следующий код. Но как это сделать в Excel?

.LOGON xxxx/xxxx,xxxx
.IMPORT VARTEXT ',' FILE=xxxxx.TXT;
.QUIET ON 
.REPEAT * 
USING 
(   col1 VARCHAR(2)
    ,col2 VARCHAR(1)
    ,col3 VARCHAR(60)
)        
INSERT INTO database.table
    ( col1
     ,col2
     ,col3)
VALUES ( :col1
    ,:col2
    ,:col3);
.QUIT

Пример текстового файла, разделенного запятыми:

1,B,status1
2,B,status2
3,B,status3

и т.д.
Пожалуйста, помогите мне, если это возможно, загрузить то же самое с файлом Excel.

1 Ответ

1 голос
/ 03 сентября 2009

Это невозможно - Excel представляет собой двоичный формат. Вы должны сохранить его как файл значений, разделенных запятыми (.CSV) из Excel. Вы также можете придумать какое-нибудь замысловатое решение, используя базу данных Access, которая связывается с таблицей Teradata и электронной таблицей.

...