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
相关文档:
课程十一 与ORACLE SERVER交互
本课重点:
1、在PLSQL中成功的写SELECT语句
2、动态声明PLSQL变量类型与SIZE
3、在PLSQL中写DML语句
4、在PLSQL中控制事务
5、确定DML操作的结果
注意:以下实例中标点均为英文半角
一、PLSQL中的SQL语句:
SELECT、DML、CO ......
刚刚高中的一位同学问我一道笔试题:请简述SQL注入式攻击及其原理。
(Q:攻击?难道是做黑可吗??)
可以把这种行为理解成黑客行径,因为这样做的目的就是“非法获取”。
(Q:怎么做?)
可以按照我下面的步骤一步一步来,大家也就当一回“黑客”了。(P.S. 这可是我“独家研制” ......
<?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'; ......
[可用]如果出现安装sql server 2000要求CD-KEY的情况,请使用regedt32找开注册表,在以下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]中建立一个DWORD键
SafeDLLSearchMode并设值为0
这个试过,是可以用的
H6TWQ-TQQM8-HXJYG-D69F7-R84VM - ......
作者 Haidong Ji 翻译 GoodKid
在我的关于Oracle和SQL Server 互用性的系列文章 part 1 和 part 2 当中,我讨论了Oracle和SQL Server 的一些不同点的话题以及Oracle驱动的可选性。在本主题中,我将讨论一个来自Oracle 10g的新工具,Oracle即时客户端。
对于Oracle 10g以前的版本,如果想建立和Oracle的连接, ......