处理sybase数据导入导出是一件苦力活,无奈公司项目旧版都是用sybase数据库,为了日后方便操作,专门编写该学习总结,DBArtisan8.6是一个操作数据库的客户端,可以操作sql server,mysql,DB2,oracel和sybase,冒似操作mysql有问题,反正我弄了一个下午,都没发搞成功,如有那位兄弟处理过mysql的,在此文留言哈。不废话了,直接上图文吧。
1.先用DBArtisan 8.6.1客户工具导出所有表的结构,文件名保存为websearch_data.sql
导出后的格式如下图所示:
2.bcp命令用来导出表的数据
2.1.在d:盘根目录下,编辑一个文件websearch.sql:use websearch
go
select 'bcp websearch..' + name + ' out d:\temp\' + name + '.txt -Usa -Psungoal -Ssungoal -c ' from sysobjects where type='U'
go
2.3.在d:盘根目录下,执行d:\bcp_cmd.bat文件, 就会看到当前目录下生成一个bcpout.bat,然后修改该文件,把后的断开的字符去掉空格,正确格式如下:
2.4双击运行bcpout.bat,,就可以把数据导出到d:\temp\目录,该目录下所有文件都是以txt结尾的文件。如下截图所示:
4.在目标服务器操作导入数据,把websearch_data.sql,bcpin.bat和d:\temp\目录的文件上传到目标服务器,并在该服务器的D盘下创建temp目录,把txt文件放temp目录下,执行如下操作:
4.1导入websearch_data.sql生成创建表
4.2双击运行bcpin.bat
注意:导入过程中有可能遇 bcp导入数据时LONGCHAR错误
BCP insert operation is disabled when LONGCHAR capability is turned on and data size is changing between client and server character sets since BCP does not support LONGCHAR yet.
原因为客户端、服务器之间字符集转换失败导致。
可通过修改参数“disable character set conversion”解决:
> sp_configure "disable character set conversion", 1
> go
为静态参数,所以需要重启server。
再尝试导入成功。
导出数据:
使用DBArtisan8.6导出Sybase数据库并导入MySQL数据的方法
本文详细介绍了如何使用DBArtisan8.6导出Sybase数据库的表结构及数据,通过编写特定脚本实现数据从Sybase导出至MySQL的过程,包括导出SQL脚本、使用bcp命令导出数据、修改bcp脚本、上传文件至目标服务器并导入数据等步骤,并解决了导入过程中可能遇到的LONGCHAR错误。
1830

被折叠的 条评论
为什么被折叠?



