Sybase 数据转成Sql Server 数据库的执行步骤: 目前我们采用Sql Server 的DTS 工具实现数据的交换操作。 一、前期准备:在目标数据库形成跟原数据库完全相同的表结构。 1,需要将客户备份的sybase 数据库恢复到我们sybase 帐套中,形成原数据库。 2,在 Sql Server 数据库中建立目标数据帐套,利用帐套维护工具建立目标数据库,选择模块与原数据库所用模块相同即可,初始年度与原数据库的初始年度也要相同。 创建完数据库后,如果原数据库有历史年度数据,则在目的数据库上的相应模块也做年结操作形成相应的历史年度表。主要通过察看数据库中那些表带有历史年度后缀,那些模块需要年结需要根据具体数据库设置。 3,删除所有用户表中的记录。 删除步骤,登陆原数据库,根据下面语句形成删除表记录 sql。 select 'truncate table '+name +' go' from sysobjects where type = 'U' order by name 把执行结果复制到 EditPlus 中去,在 go 前增加换行符,形成删除表记录的sql 语句。 4,在目标数据库中执行这些删除记录的sql 语句,将目标数据库的相应记录删除。 并注意查看出错语句,主要是表不存在的情况下报的错误。 并决定那些表可以不需要,记录下不需要的表。 针对原数据库: 5,利用报表优化工具做临时表清除工作,以便节省交换时间。 二、数据导入操作: 利用DTS 工具做数据交换操作。 执行步骤如下: 1,运行 DTS,按照下一步执行即可。 2,配置数据源,我们这里是sy base 数据库做数据源。 数据库类型选择 sy base ASE OLE DB Prov ider 3,点击属性,配置数据库连接。数据源中输入 sy boledb,一定确保之前利用备份恢复工具(DBGhost.ex e)联接过 sy base 数据库一次。 4,配置目标数据库这里选择sql server 数据库。 5 ,选择复制表和视图。 6 ,选择表和视图。把不需要交换的表前面不需要选择即可,另外视图也不需要选择。 7 , 8 ,执行 9 ,最后看以下执行结果,找到出错原因。 10,针对每一条出错的表,定位错误原因,然后单独把出错的表再导入一次。 注意问题: 由于 sybase 数据库大小写区分,而 sqlserver 数据库默认不区分大小写,有可能会出现复制数据违反唯一索引的问题。 解决方式有二: 删除通过大小写区分不一致的记录。 创建的sql server 实例也选择区分大小写。