Oracle转SqlServer
基础数据所对应的类型不同
在Oracle中有一些基础类型与Sqlserver中名字一样,但是所存储的数据格式不同,Date类型在Oracle中精确到秒,在Sqlserver中只能精确到天
表的结构
Oracle中所有的表都有一个共同的字段,rowid这是在物理上存在的,记录了每一条记录的行位置,rownum 是逻辑上的,根据排序方式的不同会出现不同的rownum,因为Oracle的这个特性,经常在进行一些crud操作的时候会通过rowid来进行,导致在转数据库的时候会遇到各种麻烦,所以我建议各位不管是使用哪一种数据库最好是使用标准sql,并且不要太依赖某种数据库的特性。我开始是想通过row_number()加with as 去代替rowid,但是总会出现一些奇怪的问题,你前一次查询的id,重新进入数据库操作的时候改变的是另外一条记录,最后的解决方式我把每一张表都添加上了rowid
Oracle的to_date,to_char方法
在转Oracle数据库的时候这两个方法出现了很多次,看他们的名字就知道是干什么的,Sqlserver中没有这样的方法,但是有conver,cast方法这两个方法可以实现Oacle两个方法的所有功能
Oracle的NVL方法可以用isnull代替
在Oracle中子查询语句可以有order by,而在sqlserver需要添加top()函数
Oracle比sqlserver的优势
我个人觉得oracle的优势在他的图形用户界面,虽然长相不好,但却实用,如果有失误的操作还能够rollback,导出数据时也很方便,在把oracle数据迁移到sqlserver时只要关注两个数据库之间数据类型的差异,不用担心oracle的数据问题,可以一键查询提出成文件,而sqlserver操作起来反而复杂,我还没有找到导出sqlserver sql文件的方法。
数据库转换需要注意的几个点:
1:基础数据之间的差异,在不同的数据中相同名字的数据类型可能存的值存在某些差异,我也没有弄清有哪些类型,但是这是一个需要注意的点
2: 某些数据库独有特性在转换时要面向整体去设计
3:不同数据库所用sql也有不同,但总能找到替代的方法,一定要用心
Oracle转SqlServer的更多相关文章
- 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗
ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性: Oracle.MYSQL与DB2可在所有主流平台上运行: SQL Server只能在Windows下运行: --安 ...
- oracle与sqlserver部分区别
oracle和sqlserver的区别:1,执行修改操作要接commit,不然数据仅仅只是查看,并不是提交数据2,oracle不能使用select 字段 这种查看方式查看数据:3,oracle存储过程 ...
- ORACLE连接SQLSERVER
一.实验(实验成功) 1.实验目标:ORACLE连接SQLSERVER以及查询数据 2.搭建的环境: oracle 9i 9.0.2.0.1 地址:192.168.40.139 sql2000 的数据 ...
- 采用Hibernate框架的研发平台如何能够真正兼容Oracle和sqlServer数据库
都说Hibernate框架的使用可以很容易的让你的研发平台支持多种不同类型的数据库,但实践表明,这里的“容易”,是相对的. 想让研发平台支持多种数据库,并不是一件简单的事,也可以这么说:并不是只要使用 ...
- Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver
此文主要讲述在初学 Java 时,常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源 ...
- CTE在Oracle和Sqlserver中使用的差异
CTE是一个很好用的工具,他可以帮助我们清晰代码结构,减少临时表使用,同时oracle和sqlserver都提供支持.但在oracle和sqlserver中使用CTE也存在一定区别. Oracle使用 ...
- NUll在oracle与sqlserver中使用相同与区别
最近在使用Oracle进行开发,遇到很多与以前使用sqlserver的不同语法.今天遇到null在两种数据库上面操作上的差别,在此记录两种数据库上的差异. null 与字符串相加 1.在oracle中 ...
- Oracle/Mysql/SqlServer函数区别
mysql日期和时间格式转换 Linux scp 使用详解 Oracle/Mysql/SqlServer函数区别 2011-07-01 12:34:36| 分类: Mysql技术 | 标签:mys ...
- oracle与sqlserver利用函数生成年月日加流水号
最近在做oracle相关的项目,刚接触oracle,与sqlserver语法上还是有区别的 sqlserver : 示例:FX+当前年月日+00001 如下图流水号实力所示 原理: 首先 'FX'是固 ...
- Sqlserver 连接oracle和mysql数据库 已经oracle导入sqlserver表数据
SQL Server2012创建连接服务器到ORACLE11G 8,百思考不知道原因啊??突然我发现如下:链接服务器—〉访问接口—〉OraOLEDB.Oracle—〉允许进程内没有勾上,但是我想上面的 ...
随机推荐
- 在linux和windows中使用selenium
在linux和windows中使用selenium 一. selenium(浏览的人你们多大呀?是AI?) selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法 ...
- 【前端】之CSS3基础知识
CSS3 私有化前缀 考虑到CSS3的兼容性问题,某些属性需要添加浏览器的私有化前缀 几种主流浏览器的私有化前缀如下: Chrome.Safari:-webkit- Firefox:-moz- IE: ...
- 【数据结构】之二叉树(Java语言描述)
有关树的一些基础知识点请参考[这篇文章]. 本文主要记录Java语言描述的二叉树相关的一些操作,如创建.遍历等. 首先,我们需要一个表示树中节点的数据结构TreeNode,代码如下: public c ...
- 使用Git上传文件到github
第一次利用git连接github时往往都不会勾选Initialize this repository with a README,这样的的确确是简单了,但是如果我们需要勾选,勾选了之后应该怎么办呢?1 ...
- svn+apache搭建版本控制服务器
Centos7(linux)搭建版本控制服务器(svn+apache) 1.简介: 版本控制服务器: 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...
- webpack 4.x 从零开始初始化一个vue项目
创建目录 项目名称: vue-init app css reset.sass js home index.vue router index.js main.js App.vue views index ...
- 【LiteOS】STM32F103-LiteOS移植教程(详细篇)【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- luogu P3572 [POI2014]PTA-Little Bird |单调队列
从1开始,跳到比当前矮的不消耗体力,否则消耗一点体力,每次询问有一个步伐限制,求每次最少耗费多少体力 #include<cstdio> #include<cstring> #i ...
- luogu P2296 寻找道路 |最短路
题目描述 在有向图 G 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. 在满足条件 1 的 ...
- 【集合系列】- 深入浅出的分析 Set集合
一.摘要 关于 Set 接口,在实际开发中,其实很少用到,但是如果你出去面试,它可能依然是一个绕不开的话题. 言归正传,废话咱们也不多说了,相信使用过 Set 集合类的朋友都知道,Set集合的特点主要 ...