导出表数据到文本文件
在用户表名上点右键,选择批量复制(bcp)下的输出菜单。
选择导出文件的路径。可以针对每个表分区分别指定输出文件路径。此表systbl_Counters仅有一个roundrobin分区。选择将所有分区的数据保存到:c:\sybase\dbo_systbl_Counters_BCP.out。 点下一步,
选择导出文件的格式:字符形式还是本地形式。选择字符形式。点下一步,
选择字符分隔符、行分隔符。将列分隔符指定为:||@@|| , 行分隔符指定为换行符(\n) 最大错误行数为:10。点完成后则开始导出数据到本地文件的过程。
根据表内数据量的大小,需要等待响应的时间。导出完成后,显示如下:
在日志文件中可以看到导出的表数据的总行数、导出时间、已经每秒导出的数据量。
其中有:
C:\sybase\OCS-15_0\bin\bcp.exe pmdb.dbo.systbl_Counters out C:\sybase\dbo_systbl_Counters_BCP.out -c -t "||@@||" -r \n -U sa -P sybase -S Sybultranms
这就是导出数据时实际利用的命令。
将上面的bcp命令行放到命令提示符下执行,导出的数据和Sybase Central中导出命令向导是一样的。
2.从文本文件向表中导入数据
在交互式SQL中执行如下的SQL语句创建一张和表systbl_Counters的结构完全相同的临时表:systbl_Counters_import。临时表systbl_Counters_import中没有索引。
select * into systbl_Counters_import from systbl_Counters where 1=2
在表名systbl_Counters_import上点右键,选择批量复制(bcp),选择输入菜单,
可以为表的每个分区指定输入文件。选择文档前面演示的表systbl_Counters导出的文件。点下一步,
因为前面是按照字符形式导出的表数据,所以,此处必须选择字符型。点下一步,
选择字符分割符和行分隔符。要和导出表数据时指定的字符分隔符和行分隔符保持一致。点完成后开始向表systbl_Counters_import导入数据。
等待一段时间后,导入完成,日志显示如下:
平均每秒导入:1699行。
实际上,数据导入向导执行的命令语句为:
C:\sybase\OCS-15_0\bin\bcp.exe pmdb.dbo.systbl_Counters_import in C:\sybase\dbo_systbl_Counters_BCP.out -c -t "||@@||" -r \n -U sa -P sybase -S Sybultranms