4. 使用LOAD TABLE如何装载bcp导出的数据文件
请参见本人所写的如下博文:
5. LOAD TABLE 如何进行错误处理
6. 使用LOAD TABLE装载二进制数据文件
使用load table语句除了能够装载文本格式的数据文件之外,还能装载二进制格式的数据文件。这里所说的二进制格式的文件是使用IQ Server端重定向方法生成的。
使用load table装载二进制文件有如下好处:
(1) 比文本格式文件要快;
(2) 能够用于不同字节序平台之间的IQ数据库(表)迁移(也可以用于相同字节序平台之间的表的迁移)
下面就以一个例子说明load table装载二进制数据文件的方法:
(1) 把Linux 64平台上(即小端字节序,little endian)的一个IQ数据库表lineitem中的数据导出到一个二进制格式文件中。导出方法如下(即iq server端重定向方法):
--打开server端重定向功能
SET TEMPORARY OPTION Temp_Extract_Name1 = 'lineitem_binary.dat';
--设置表输出为二进制格式的文件
SET TEMPORARY OPTION Temp_Extract_Binary = 'on';
SET TEMPORARY OPTION Temp_Extract_Swap = 'off';
--把表中的记录输出到lineitem_binary.dat文件中
SELECT * FROM lineitem;
--关闭server端重定向
SET TEMPORARY OPTION Temp_Extract_Name1 = '';
(2) 在另一台HP-UX64 Itanium机器上导入lineitem_binary.dat文件中的数据(前提是lineitem表已经建好)。load table语句如下:
LOAD TABLE lineitem
( l_orderkey BINARY WITH NULL BYTE,
l_partkey BINARY WITH NULL BYTE,
l_suppkey BINARY WITH NULL BYTE,
l_linenumber BINARY WITH NULL BYTE,
l_quantity BINARY WITH NULL BYTE,
l_extendedprice BINARY WITH NULL BYTE,
l_discount BINARY WITH NULL BYTE,
l_tax BINARY WITH NULL BYTE,
l_returnflag BINARY WITH NULL BYTE,
l_linestatus BINARY WITH NULL BYTE,
l_shipdate BINARY WITH NULL BYTE,
l_commitdate BINARY WITH NULL BYTE,
l_receiptdate BINARY WITH NULL BYTE,
l_shipinstruct BINARY WITH NULL BYTE,
l_shipmode BINARY WITH NULL BYTE,
l_comment BINARY WITH NULL BYTE )
FROM '/apps/data/lineitem_binary.dat'
FORMAT BINARY
STRIP OFF
QUOTES OFF
ESCAPES OFF
PREVIEW ON
BYTE ORDER LOW;
COMMIT;
说明:
(1) 当使用load table装载二进制文件时必须使用"BINARY WITH NULL BYTE",并且要使用FORMAT BINARY子句;
(2) BYTE ORDER LOW表示二进制文件是从"小端字节序(Little-endian)"平台上的IQ数据库生成的;BYTE ORDER HIGH表示二进制文件是从"大端字节序(Little-endian)"平台上的IQ数据库生成的。
阅读(2844) | 评论(0) | 转发(0) |