sql anywhere 的unload和reload(数据迁移) 用微软sql server 的DTS实现从 ORACLE导出数据到Sql Anywhere数据库中

1、当前情况描述:
      现有两个数据库:一个是oracle10g(下称ora);另一个是sql anywhere 9.0(下称asa)。这两个数据库的结构,从对应的角度上讲是完全相同的,即所有的用户信息,表信息,及相关触发器,约束,存储过程等均为一一对应(其中ora有个别用户自定义的表asa中没有,但这些表可以通过系统重新创建)。然而不同的是Ora的数据库是目前的生产库,数据全部在这里;asa的数据库为新建的amos2(我们的软件系统)数据库,其中只含有部分数据。
2、要实现的目标:
      将ora的数据完全导入到asa中,从而可以用asa的数据库替换ora的数据库。
3、研究方法:
      大家均认为用microsoft 的 dts导入导出工具来实现数据的迁移。
4、实施过程记录:
    a)asa数据库的unload(意在生成一个可以导入数据的asa库):打开sybase central,连接asa数据库,右键选择unload database,按照提示进行操作,选择unload数据库结构到一个reload.sql文件中,用于后续创建新数据库。
    b)创建新的asa库(下称asa01库)可以导入ora的数据:打开sybase central,create database创建asa01数据库;打开reload.sql文件,删除其中创建外键,触发器等语句,然后另存为reload01.sql;打开asa01的sql工具(右键中有),打开reload01.sql,执行!用于装数据的asa01已创建完成。
    c)用dts做导出导入:分别创建ora与asa01的odbc连接;打开dts工具根据提示进行操作,最后在完成前保存dts设置,以防止导入数据过程出错,需要重新进行操作。
    d)asa01数据库的unload:选择unload数据库结构与数据到reload02.sql,数据存在unload文件夹内,用于reload。
    e)重新生成完整库asa02:打开reload02.sql,将曾经删除的部分(外键,触发器等)加入;打开sybase central,create database创建asa02数据库;打开asa02的sql工具(右键中有),打开reload02.sql,执行!如执行无误即成功;若有错误需要根据提示修改(注:可能出现comments的执行错误,原因为begin。。。end后的“;”,去掉这个分号即可,可能很多地方都有)。
附:sql anywhere 的unload的操作步骤

你可能感兴趣的:(oracle,sql,sql,数据库,server,Sybase,微软)