我正在寻找将一些表从一个sybase服务器(ase 12.5)复制到另一个表的最快方法。目前我正在使用bcp工具,但创建正确的bcp.fmt文件需要时间。
表具有相同的结构。每张表中大约有25K行。我要复制大约40张桌子。 我尝试为bcp使用-c参数,但导入时出错:
CSLIB Message: - L0/O0/S0/N24/1/0:
cs_convert: cslib user api layer: common library error: The conversion/operation
was stopped due to a syntax error in the source field.
我的标准bcp输入/输出命令:
bcp.exe SPEPL..VSoftSent out VSoftSent.csv -U%user% -P%pass% -S%srv% -c
bcp.exe SPEPL..VSoftSent in VSoftSent.csv -U%user2% -P%pass2% -S%srv2% -e import.err -c
答案 0 :(得分:0)
由于您要从不同的服务器进行复制,因此可以使用BCP!
如果它在同一台服务器上会有所不同。
答案 1 :(得分:0)
您是说它是从1个Sybase ASE主机到另一个Sybase ASE主机吗?
如果您不想在文件系统上弄乱BCP或I / O,可以在目标数据库中创建一个CIS代理表,该表引用带有select语句的存储过程或源中的物理表数据库中。
然后你可以 插入目标表(col1,col2 ...) 选择 col1,col2 ...... 来自proxytablename
CIS代理是相当耗费资源的,所以我会非常小心你在这里做了多少工作。