我需要将excel文件加载到已有数据的teradata表中。我已经使用TPT插件运算符来加载CSV文件的数据。我不知道如何使用TPT插件直接加载excel文件。 当我试图提供了Excel与TextDelimiter =“TAB”文件,解析器抛出一个错误使用tpt将excel文件导入到teradata中
data_connector: TPT19134 !ERROR! Fatal data error processing file 'd:\sample_dat a.csv'. Delimited Data Parsing error: Too few columns in row 1.
1)有人能解释什么是所需的选项,而直接导入Excel文件的Teradata
2)如何加载使用tptLoad/tptInserter
,我已经使用这个脚本在Teradata的制表符分隔的文件是:
define job insert_data
description 'Load from Excel to TD table'
(
define operator insert_operator
type inserter
schema *
attributes
(
varchar logonmech='LDAP',
varchar username='username',
varchar userpassword='password',
varchar tdpid='tdpid',
varchar targettable='excel_to_table'
);
define schema upload_schema
(
quarter varchar(20),
cust_type varchar(20)
);
define operator data_connector
type dataconnector producer
schema upload_schema
attributes
(
varchar filename='d:\sample_data.xlsx',
varchar format='delimited',
varchar textdelimiter='TAB',
varchar openmode='Read'
);
apply ('insert into excel_to_table(quarter, cust_type) values(:quarter, :cust_type);')
to operator (insert_operator[1])
select quarter, cust_type
from operator (data_connector[1]);
);
谢谢!
确定该文件是以制表符分隔的格式? .xlsx扩展名一般不是制表符分隔的。您是否通过在文本编辑器(如Notepad ++)中打开文件来验证文件的内容? – xenodevil 2014-10-29 20:37:23
@xenodevil你是对的。我用记事本打开了xlsx文件,发现只有垃圾数据。这应该是TPT错误的原因。想知道是否有任何方法可以使用TPT将Excel数据直接加载到Teradata?... – Sam 2014-10-31 11:20:25
不,没有任何通用的方法可以使用本机Teradata Utilities将随机Excel文件加载到TD中。我认为,原因是Excel文件可以包含复杂的对象(图表/图表/图像)以及需要复杂工具进行正确操作的公式。您可能会发现一些第三方工具用于此目的,但如果它只有一个文件,那么手动将其转换为CSV格式然后使用本地TTU加载CSV文件 – xenodevil 2014-11-24 14:29:42