一个系统,原来是在DB2上跑的,现在有需求,要求支持mssql,第一天折腾过程如下:
1、找到powerdesigner表设计文件,生成mssql的脚本,导进mssql数据库。(直接通过db2导出的脚本,根本不能在mssql上面运行)
2、导入脚本时,有个别语句报错,导致有个别表不能成功创建。处理方法是把两个不同库的表名都找出来,通过对比工具,找出没创建的表,调整建表语句,再重新创建。这时候没成功创建的表已不多,可手工逐个创建。
DB2: select tabname from syscat.TABLES where tabname like ....
Mssql: select name from sysobjects where name like ....
在操作过程,出现不少问题,如:
1、mssql的timestamp类型与db2的timestamp类型功能不一样,mssql一个表只能有一个 timestamp 列,mssql的timestamp的取值形式为:0x0000000000053CA5,db2 timestamp 对应 mssql datetime, timestamp取值形式如:2011-07-19 09:43:50.290, 把导出脚本的timestamp换成datetime。
2、DB2控制中心导出的DDL,包含很多DB2本身的东西在里面,不适合其它数据库使用。如:“RESTRICT ONUPDATE”,在mssql中会报错“消息 156,级别 15,状态 1,第 20 行 关键字 'RESTRICT' 附近有语法错误”。处理方法是手工把这些语句删除。
3、CLOB 类型转为 ntext,LONG VARGRAPHIC 类型转为 ntext。
4、主键约束名称报错:消息 2714,级别 16,状态 5,第 1 行, 数据库中已存在名为 'P_KEY_1' 的对象。消息 1750,级别 16,状态 0,第 1 行,无法创建约束。请参阅前面的错误消息。
mssql中不允许同名的主键约束名称,把P_KEY_1改为P_KEY_2,P_KEY_3之类
5、含有desc字段的语句,在导入时,报错。mssql中desc是关键字,暂时处理方法是给desc加上双引号,或是改名,如descpt之类,这个在后期运行系统时还需要测试。
通过以上操作和问题调整,基本把表从db2迁移到mssql了,接下来的还有视图、存储过程、函数等的调整。
分享到:
相关推荐
### 如何从DB2迁移到MSSQL? #### 概述 本文档旨在提供一个从IBM DB2到Microsoft SQL Server的迁移指南。该文档详细介绍了DB2与SQL Server之间的主要差异,并提供了转换DB2数据库至SQLServer的具体步骤。本文由...
在进行数据库迁移前,需要在Windows操作系统的ODBC管理器中创建一个指向源数据库(本例中为MSSQL)的ODBC数据源。在创建时,应正确填写数据库服务器地址、服务名、用户名和密码等信息。例如,数据源名可以命名为LWF...
使用我们的软件进行无缝数据迁移或从任何Microsoft SQL Server或Windows Azure SQL数据库同步到IBM DB2服务器。它易于使用且有效。我们的解决方案只需几步即可将您的整个数据集从MS SQL Server转换并同步到IBM DB2...
通过使用DMSoft.DBSync.for.MSSQL.and.DB2.v2.0.3,用户可以有效解决MSSQL与DB2数据库之间的数据同步问题,提高数据管理效率,降低数据迁移风险,确保业务连续性和数据一致性。在处理大规模数据迁移或复杂同步需求时...
总之,这个数据库移库神器通过提供全面的数据库迁移服务,大大简化了数据库管理员的工作,提升了数据迁移的安全性和效率,无论是用于备份恢复、系统升级还是数据库架构调整,都是一款值得信赖的工具。
首先,data_llQ支持多种主流的数据库平台,包括IBM DB2、MySQL、MSSQL、Oracle以及ACCESS和FOXPRO。这些数据库系统在各自的应用场景中都有着广泛的应用,例如,DB2常用于大型企业级应用,MySQL则是轻量级Web开发的...
这表明SQLite可以作为一种更为轻量级的替代方案,尤其是在需要跨平台和跨数据库迁移的场合。 在阅读这份指南时,你将会获得关于SQLite数据库设计、操作和使用的深度理解。这份文档是那些希望在项目中使用SQLite或者...
七、实操 ORACLE、MSSQL 数据互相迁移:新建转换,然后新建 DB 连接,根据自己实际情况选中,建议采用 JDBC 第一种方式。设置输入输出,拖动输出设置。注意:不能多版本驱动共存,添加驱动程序后需要重启软件。 ...
使用 DTS 需要预先创建好数据表 否则新迁移的数据库是没有主键的 而 mss2sql 工具可以解决以上问题 但转换速度非常慢 我需要转换 3000 万的数据 在一台相当不错的服务器上面 也需要几天几夜才能转换完成 而 DB2DB ...
使用 DTS 需要预先创建好数据表 否则新迁移的数据库是没有主键的 而 mss2sql 工具可以解决以上问题 但转换速度非常慢 我需要转换 3000 万的数据 在一台相当不错的服务器上面 也需要几天几夜才能转换完成 而 DB2DB ...
使用 DTS 需要预先创建好数据表 否则新迁移的数据库是没有主键的 而 mss2sql 工具可以解决以上问题 但转换速度非常慢 我需要转换 3000 万的数据 在一台相当不错的服务器上面 也需要几天几夜才能转换完成 而 DB2DB ...
MySQL是最受欢迎的开源数据库之一,Navicat Premium提供了一个直观的界面来管理MySQL数据库,包括创建和修改数据库结构、执行SQL脚本、数据迁移和实时监控。 6. **数据可视化** Navicat Premium具有强大的图表和...
此外,DBeaver还具备数据库迁移和同步功能,允许用户在不同的数据库之间进行数据迁移,或者比较和同步数据库结构,这对于多环境下的数据库管理非常有用。对于版本控制,DBeaver集成Git,使得数据库对象可以像代码...
这款强大的工具支持多种数据库系统,包括MySQL、PostgreSQL、Oracle、DB2、MSSQL、Sybase、Mimer、HSQLDB以及Derby等,为开发者和数据库管理员提供了高效、便捷的数据操作和管理环境。 1. **跨平台支持**:DBeaver...
它不仅是一个SQL客户端,更是一个功能丰富的数据库可视化工具,能够高效地处理MySQL、PostgreSQL、Oracle、DB2、MSSQL、Sybase、Mimer、HSQLDB以及Derby等多种数据库。 首先,我们来深入探讨DBeaver的数据库可视化...
- **DB2**:DB2驱动(db2jcc.jar或db2jcc4.jar)适用于IBM的DB2数据库。 - **SQLite**:SQLite驱动(sqlite-jdbc.jar)则支持轻量级的SQLite嵌入式数据库。 - **其他**:还包括如Hadoop HDFS、MongoDB、Cassandra...
注意在某些数据库系统中(如DB2),一旦增加了列,便不能删除或更改其数据类型。 - **添加主键**: - **语法**: `ALTER TABLE tabname ADD PRIMARY KEY (col);` - **说明**: 为表添加主键约束。 - **删除主键**: ...
这款工具不仅支持常见的数据库如MySQL、PostgreSQL、Oracle、DB2、MSSQL、Sybase和Mimer,还兼容轻量级数据库如HSQLDB和Derby。 标题"dbeaver-ce-22.2.1-win32.win32.x86_64.zip"揭示了该压缩包是DBeaver社区版(CE...