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

Я пытаюсь импортировать данные в таблицы из файла, используя импорт BTEQ.

я сталкиваюсь со странными ошибками при этом

как:

если я использую текстовый файл в качестве файла входных данных с ',' в качестве разделителя в качестве разделительного поля, то получаю ошибку, как показано ниже:

*** Сбой 2673 Длина исходного участка не соответствует данным, которые были определены.

или

если я использую EXCEL-файл в качестве файла входных данных, я получаю сообщение об ошибке, как показано ниже:

* Увеличение буфера до 53200 * Ошибка: размер импортируемых данных не соответствует длине байта. Причиной может быть: 1) ИМПОРТ ДАННЫХ против ИМПОРТА ОТЧЕТ 2) неверные входящие данные 3) файл импорта достиг конца файла. *** Предупреждение: нет данных.

, пожалуйста, помогите мне, указав синтаксис для импорта BTEQ с использованием файла txt в качестве файла входных данных, а также синтаксис, если мы используем файл EXCEL в качестве файла входных данных

Также существует ли какой-либо определенный формат для файла входных данных для правильного считывания данных из него. если да, пожалуйста, дайте мне информацию об этом.

Заранее спасибо :)


EDIT

извините, что не опубликовал скрипт первым. Я новичок в teradata и все же, чтобы изучить другие инструменты. Меня попросили написать скрипт для импорта BTEQ

.LOGON TDPD / XXXXXXX, XXXXXX
.import VARTEXT ',' FILE = D: \ cc \ PDATA.TXT
.QIET ON
.REPEAT *
ИСПОЛЬЗОВАНИЕ
COL1 (VARCHAR (2))
, COL2 (VARCHAR (1))
, COL3 (VARCHAR (56))

INSERT INTO
(COL1
, COL2
, COL3)
ЗНАЧЕНИЯ (: COL1
,: COL2
,: COL3);
.QUIT
Я выполнил вышеупомянутый скрипт, и он успешно использует файл txt (разделяя поля через запятую) и передавая тип данных как varchar.

образец входного текстового файла:
1, б, HelloWorld1
2, б, HelloWorld2 * +1057 * 3, D, HelloWorld1
12, б, HelloWorld1

Я также пытался сделать то же самое, используя табуляцию (\ t) в качестве разделителя полей, но он выдавал ту же старую ошибку.
Q) Работает ли это только для текстовых файлов, разделенных запятыми?

Пожалуйста, не могли бы вы сказать мне, где я могу найти руководство по BTEQ ...

Большое спасибо

1 Ответ

3 голосов
/ 28 августа 2009

Можете ли вы опубликовать свой BTEQ скрипт? Могу ли я также спросить, почему вы используете BTEQ вместо FastLoad или MultiLoad?

Ошибка текстового файла, возможно, из-за типов данных, объявленных в предложении using. Я считаю, что они должны быть объявлены как VARCHAR при чтении ввода с разделителями (например, объявить как VARCHAR (10) для полей INTEGER).

Что касается Excel, я не могу найти ничего в руководстве BTEQ, в котором говорится, что BTEQ может обрабатывать файлы .xls.


Для файлов с разделителями табуляции вы это делаете (это символ табуляции ниже)?

.import vartext '   '

Или это?

.import vartext '\t'

Первое работает, второе - нет.

Инструкция BTEQ, которая у меня есть, находится на моей рабочей машине. Один из первых результатов Google для «Руководства BTEQ» должен дать один в Интернете.

...