我使用bcp将Sybase IQ表复制到sybase ASE服务器。实际上,bcp首先在那里创建了一个具有提取器sybase IQ表的大容量文件,并且只是在将该文件加载到Sybase ASE之后。这是最好的(考虑到准确性,速度)的方法吗?
发布于 2016-12-12 22:28:47
IQ能够直接将数据从数据服务器输出到本地文件系统。它比通过网络将数据返回到客户端工具要快。以这种方式创建输出文件,然后使用bcp -c将其大容量复制到Sybase ASE中:
set temporary option Temp_Extract_Name1='my_output_file';
-- Set column tab delimiter via hex value for use by bcp -c
-- Note, character between the single quotes needs to be an actual
-- tab character. \t and \0x09 don't work. Might need to be
-- in a script where you can insert a tab character using vi or
-- something similar. Stupid IQ.
set temporary option TEMP_EXTRACT_COLUMN_DELIMITER=' ';
select * from my_table;
set temporary option Temp_Extract_Name1='';这将产生一个具有-c选项的适合bcp格式的文件。小心数据中嵌入的选项卡。我不确定他们是否会逃脱。
https://dba.stackexchange.com/questions/95544
复制相似问题