Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1634407
  • 博文数量: 201
  • 博客积分: 2812
  • 博客等级: 少校
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-18 18:28
个人简介

从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。

文章存档

2016年(1)

2015年(8)

2014年(23)

2013年(50)

2012年(32)

2011年(87)

分类: Sybase

2013-06-03 14:11:57

我们在开发时经常会涉及到这样一个问题:把ASE数据库中一些表的数据导入到IQ数据库中。从功能上来说,有两类方法: (1) 使用 bcp out 把ASE数据库中的某个表的数据导出到文件中,然后使用LOAD TABLE导入到IQ数据库的相应表中. (2) 使用INSERT LOCATION语句通过代理技术把数据从ASE中导入到IQ中. 本文先介绍第一种方法,在后续的文章中再介绍第2种方法。为了便于说明,我们假设ASE数据库中有一个 customers 表. 下面介绍的两个 示例将介绍如何把这个表中的数据导入到Sybase IQ相应的customers 表中. 需要注意,一定不要使用bcp in往IQ数据库中导入数据,因为这种方法会到值很差的性能,并会导致IQ Server出现问题! 示例1 (bcp 出的数据文件不符合IQ多线索装载条件,使用单线索装载) bcp customer out customer.dat -c -Ump2user -P111111 -t'|!' -r'\n' LOAD TABLE customer ( customer_key '|!' , customer_first_name '|!' , state '|!' , postal_code '|!' , phone_number '\x0a' ) FROM 'c:\load\customer.dat' ESCAPES OFF QUOTES OFF NOTIFY 100000 WITH CHECKPOINT ON; COMMIT; 示例2 (bcp 出的数据文件符合IQ多线索装载条件,使用多线索装载。这种方法的性能最好!) bcp customer out customer.dat -c -Ump2user -P111111 -t'|!' -r'|!\n' LOAD TABLE customer ( customer_key '|!' , customer_first_name '|!' , state '|!' , postal_code '|!' , phone_number '|!' ) FROM 'c:\load\customer.dat' ESCAPES OFF QUOTES OFF NOTIFY 100000 ROW DELIMITED BY '\x0a' WITH CHECKPOINT ON; COMMIT;
阅读(4194) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~