Oracle与SQL Server数据互易性(1)
作者 Haidong Ji 翻译 GoodKid
我们当中的大部分人工作在一个单一的 RDBMS 系统中,如 MSSQL, Oracle, or IBM DB2。然而,我们日益感觉到,我们正处于不同的数据库环境当中并且需要解决数据的互用性问题。
尽管主要的 RDBMS 厂商试图去遵循关系数据库模型原理,并且用非常小的差异去实现它们。另外,几乎主要的 RDBMS 厂商都遵循 SQL-92 标准。他们仍然有他们自己的对该标准的扩展。例如,Oracle 的 PL/SQL 和 Microsoft 的 T-SQL ,对 ANSI SQL进行了更多的扩展。
通过一系列的文章,我将指明在 SQL Server 和 Oracle 之间的数据互用性。我将讨论在两种不同的 RDBMS 中的数据类型。专门的,我将讨论 Oracle 的 timestamp 和 SQL Server 的 datetime,在DTS,连接服务器和分布式查询中,它们的互用性可能导致许多问题。
Oracle 和 SQL Server 数据类型不同点的概述
绝大部分,Oracle 和 SQL Server 有着兼容的数据类型,尽管它们有着不同的名字,以及精度或比例。例如:Oracle 的 CHAR 对应于 SQL Server 的 CHAR ,但是它们的宽度不同。在 Oracle, CHAR 最大到2000 bytes。在 SQL Server,则可以达到 8000 bytes。 SQL Server 的VARCHAR 对应 Oracle 的VARCHAR2 。并且它们的宽度是不同的 (Oracle VARCHAR2 4000, SQL Server VARCHAR 8000) 。在数字类型方面也有不同。在 Oracle,几乎只有一个数字类型NUMBER,依靠定义它的精度和比例,它可以匹配 SQL Server 的 tinyint, smallint, int, bigint, 以及 numeric 数据类型。在 Oracle 中,你可以制作一个序列,它可以匹配 SQL Server 的唯一标识字段。
在二进制数据类型方面,Oracle 具有 RAW, LONG RAW, 和 BLOB等类型。它们应该能够兼容SQL Server中的 varbinary 和 image 数据类型。 我说“应该”,是因为我还没有自己测试过这一点。或许在下一次我可以进行这个工作 。更多的数据类型的细节,请参考 Microsoft SQL Server BOL 和 Oracle 的文档。
对于一个Oracle的表,在SQL Server中做一个对应的表,最好的办法是使用 DTS 导入向导生成一个 CREATE TABLE DDL 语句。如果Oracle的表有一个TIMESTAMP 字段,你将面临一些问题,下一节我将指明。
Oracle TIMESTAMP 和 Microsoft SQL Server datetime 转换问题
在 Oracle 中,TIMESTAMP 类型使你解析时间的精度是10亿份之一秒。尽管SQL Server
相关文档:
课程十二 编写控制结构语句
本课重点:
1、结构控制的的用途和类型
2、IF 结构
3、构造和标识不同的循环
4、使用逻辑表
5、控制流和嵌套
注意:以下实例中标点均为英文半角
一、控制执行流
可以是分支和循环:IF THEN END IF
IF condition THEN ......
最后一课 异常处理本章重点:
1、定义PLSQL异常
2、列举不同的异常处理方法
3、捕获非预期的错误
4、描述异常的影响
5、定制异常的返回信息 一、PLSQL异常处理
异常是由ORACLE错误或显式的抛出一个错误产生的。
如何处理:
用一个处理程序来捕获它;
将它传递 ......
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......
<?php
require_once '../../smartyConfig/smartyConfig.class.php';
require_once '../../game/include/function.php';
require_once '../../game/include/config.php';
require_once '../../game/server/server.class.php';
require_once '../../game/include/db.class.php'; ......