`
午刀十
  • 浏览: 35008 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

ORACLE工程到SQL SERVER(2008)工程的转移

阅读更多
  这几天由于项目要求,需要把一个用oracle数据库的工程的数据转移到sql server(2008)上,经过几天的摸索研究,终于将整个工程及数据基本移植成功。整个项目的移植主要分两个部分:数据库移植及工程中代码的修改。
  数据库移植:
  数据库方面的移植由于sql server 2008的 “导入导出数据”工具就变得简单多了,我们可以利用它实现数据库表具体字段及数据库表数据的移植。不过在移植过程中,还是有些特殊字段处理起来会出现问题:
  时间字段:在oracle工程里,有个date类型的字段,插入数据的时候是标准的“yyyy-MM-dd hh:mm:ss”格式,程序也是按此格式处理的。在移植过程中,工具会默认将其设成date格式的。由于该格式精确到天,因此不符合我们的要求,还要自己手工改成smalldatetime(虽然这个类型精确到分,但是输出的格式也是我们要求的一致)。当然,具体的需求要具体修改,涉及到时间字段的话都要注意下,在生成过程中可通过编辑mapping来修改要生成sql server表的sql。
  大数据字段:oracle有blob和clob两个可存储如图片之类的大数据字段,在移植过程中,虽然数据结构可以正常生成,但是拷贝数据的时候就会出现问题。因此建议遇到此种字段,还是手动拷贝数据比较好。
  自增长形式:oracle的自增长是通过sequence实现的,而sql server则是通过id自增长的方式。因此,每个表拷贝过来后,都要设置其ID的标示种子和标示增量,一般都设置为1即可。
  代码修改:
  数据库移植过来后,相应地代码也做对应的修改。由于我的工程师通过hibernate连接数据库的,因此修改的地方基本都在配置文件里。
  首先要修改org.hibernate.dialect,将其设置为sql server 支持的配置(org.hibernate.dialect.SQLServerDialect)。其次,修改数据库的连接配置,同时新增sqlserver2008.jar的jar包。接着,在每个实体类对应的hibernate配置文件里,修改id的generator节点,将原来的<generator class="sequence">换成<generator class="identity" />。不过,如果原本是通过hibernate工具生成的配置文件,那么在生成的过程中改下参数就可以了。最后,工程中有的sql涉及到关键字或者关键语法的,这些也都要一一改正过来(如rownum改成top等)。
  至此,整个工程基本移植过来了,也能正常运行了。
分享到:
评论

相关推荐

    oracle客户端sqldeveloper-20.2.0.175.1842-x64

    它支持多种数据库连接类型,不仅限于Oracle数据库,还包括SQL Server、MySQL、DB2等。通过其直观的用户界面,用户可以方便地执行SQL语句,管理数据库对象,以及进行数据迁移和数据同步。 2. 版本信息: 版本号20.2...

    SQL Server数据库维护与管理教学研究.pdf

    通过SQL Server的教学,学生能够加强对数据库运作原理的理解和SQL语言的应用,同时也为将来学习更为复杂的Oracle数据库管理系统打下坚实基础。 文章中提到的课程总体设计旨在培养学生具备数据库管理员(DBA)的基本...

    sql工程师岗位职责.docx

    在某些特定的角色,如高级工程师,可能还需要对特定数据库系统(如SQL Server)有深入理解和实践经验,包括但不限于高可用性方案的构建,如SQL Server的主从复制和故障转移集群。同时,对数据库内部原理的理解,如...

    ORACLE到DB2应用移植方法探讨.pdf

    这个新的迁移实用程序提供了向导和易于使用的五步界面,这些有助于快速地将现有的 ORACLE、Sybase 和 Microsoft SQL Server 数据库对象转换到 DB2 通用数据库。MTK 向数据库管理员 (DBA) 和应用程序程序员提供了使...

    中级数据库系统工程师2005上半年试题 含答案.zip

    考生需要熟悉不同的数据库管理系统,如Oracle、MySQL、SQL Server等,以及它们的特性和优缺点。此外,数据库性能调优,如查询优化、内存管理以及磁盘I/O优化也是重要的考察点。 下午的试题通常更偏向于实践操作和...

    PLSQL Developer 介绍

    随着业务逻辑和应用逻辑越来越多地转移到 Oracle Server 中,PL/SQL 开发成为项目开发的关键部分之一。PL/SQL Developer 软件注重易用性、代码质量和生产力提升,以充分利用 Oracle 应用程序开发的优势。 #### 二、...

    ASP.NET项目移植ROR实践----DB转移(已完成)

    ASP.NET通常使用ADO.NET,这是一个面向对象的数据库访问组件,它允许开发者直接与各种数据库系统进行交互,如SQL Server、Oracle等。而ROR则采用ActiveRecord模式,它是MVC(Model-View-Controller)架构的一部分,...

    navicat说明书,“Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、Postg

    Navicat 是一款强大的多数据库管理工具,支持 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB、MongoDB 和 Redis 等多种数据库类型,同时也支持诸如阿里云、腾讯云等云数据库服务。Navicat 的设计兼顾了...

    华为网络工程后是面试汇总

    - 数据库:Oracle、Informix、SQL Server等的特性及操作。 - 英语能力:可能需要解答技术问题或进行基本对话。 面试时,深入理解和全面掌握这些概念至关重要。对于不熟悉的话题,诚实承认并表达愿意学习的态度也...

    计算机网络基础整合

    网络工程师的技术分支主要包括网络互连设备(如思科和华为的设备)、局域网和广域网技术、服务器配置管理(Windows/Linux/Unix)、数据库管理(SQL Server/Oracle)以及网络安全与管理。通信介质包括铜线、电线、...

    软件工程中的数据库应用与性能优化指南分析.pptx

    4. **数据库软件对比**:常见的数据库管理系统如MySQL、Oracle、SQL Server等各有优势,选择时需综合考量。 ##### 三、数据库设计原则 1. **规范化设计**:通过消除数据冗余来提高数据完整性。 2. **数据库设计...

    学生学籍管理系统(连接本地数据库使用)包含工程文件

    本地数据库是指安装在用户计算机上的数据库管理系统,如MySQL、SQL Server或Oracle等,它们负责存储和管理数据,为应用程序提供数据服务。在这个系统中,数据库已经预先配置好,用户无需额外设置,可以直接使用。 ...

    Navicat Premium 15 最新版本安装包

    Navicat Premium 15 是一款强大的数据库管理工具,它集成了多种数据库管理系统,包括 MySQL、MariaDB、Oracle、SQL Server、PostgreSQL 和其他多种数据库类型。这款软件为数据库管理员和开发人员提供了一站式的解决...

    Navicat Premium_11.2.7简体中文版.zip

    Navicat Premium是一款强大的数据库管理工具,专为多种数据库管理系统设计,包括MySQL、MariaDB、Oracle、SQL Server、PostgreSQL等。它集成了多种数据库管理功能,如数据查询、数据同步、数据备份、数据导入导出等...

    navicat-64位

    Navicat支持多种数据库管理系统,包括MySQL、MariaDB、Oracle、SQL Server等,这使得用户可以跨平台、跨数据库进行数据管理和维护。 在Navicat中,你可以进行以下主要操作: 1. 数据库连接:通过输入服务器地址、...

    JAVA程序员简历模板

    * 数据库:掌握关系数据库的原理,熟练使用Oracle、SQL Server进行软件系统开发 * 服务器:掌握Tomcat服务器,了解Jboss、WebLogic服务器 * 软件设计工具:掌握PD软件设计工具,了解UML、Rose设计工具 * 算法:懂...

    mac版 Navicat+Premium_12.1.6_xclient.info.dmg

    Navicat Premium是一款强大的数据库管理工具,尤其在Mac平台上,它为用户提供了高效且便捷的方式来连接和管理多种数据库系统,包括MySQL、MariaDB、Oracle、SQL Server等。这个"mac版 Navicat+Premium_12.1.6_x...

    java web方向学习曲线图

    首先,学习Java Web的基础阶段主要包括Java Standard Edition (JavaSE)、Oracle数据库(SQL和PL/SQL)以及JDBC。JavaSE是Java编程的基础,包括面向对象的编程概念、类、接口、异常处理等。Oracle是广泛使用的数据库...

    Toad Data Modeler 3 SN

    这个软件支持多种数据库平台,如Oracle、SQL Server、MySQL等,提供了一个直观的图形界面来可视化数据库模型。 在描述中提到的操作步骤是激活Toad Data Modeler 3的过程。首先,你需要解压缩提供的文件,这通常通过...

Global site tag (gtag.js) - Google Analytics