高分求解:ORACLE8I与SQL SERVER2000的比较(300分)

  • 主题发起人 主题发起人 marshal
  • 开始时间 开始时间
M

marshal

Unregistered / Unconfirmed
GUEST, unregistred user!
以前没有使用过ORACLE,可能这些问题比较菜,希望大家多多指教
1、SQL SERVER2000中自增变量,在ORACLE8I中如何设置
2、在SQL SERVER2000中可以直接创建一个数据库,对应的ORACLE中应该是一个方案,但
方案本身如何创建(我在ORACLE中只能创建表、视图这些对象,不能创建一个方案)
3、对于SQL SERVER200中的CASE语句,ORACLE8I中用什么来替代最方便
4、如何将SQL SERVER2000中的数据库移植到ORACLE8I中,我通过导入和运行脚本描述都
不能成功,不知是否需要做一些特殊的处理
 
1.create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
 
想全面了解oracle,到www.oradb.net看看。
 
看来真是ORACLE菜鸟,找本ORACLE DBA 宝典看看,还有PL/SQL 编程技术
 
我也正在看ORACLE方面的书,自己也动手在做,但是有些东西不能很快理解,尤其是
资料档案库、实例和方案之间的关系。我希望能在同一个SID下分类创建各种表、视图
和存储过程,但试了很多次都没有成功,希望能通过大家的帮助,快一点入手。
 
问题虽菜,看在高分送出的份上,也应该值得一答吧
难道看了‘提问的智慧’帖子后,本论坛的会员在一
夜之间全都变成Hacker了???
 
1.用sequence 对象实现.
2.创建用户,表和视图都在该用户下.
3.case 对应 decode 函数.
4.试试 powerdisign,没有好的方法,要重写很多东西才可用(也包括前台程序)
 
》1、SQL SERVER2000中自增变量
ORACLE中隐含了一个rowid,可以用来标示记录

》2、
如li2老兄所说

》4、我通过导入和运行脚本描述都不能成功,不知是否需要做一些特殊的处理
一般不会有问题吧,也不需要特殊的处理
如果你是一张表,可用SQLPlus运行SQL语句直接建立,如:
create table TEXT
(
Text CHAR(20) not null,
No VARCHAR2(60) not null,
.........
)
如果是多张表,在SQLPlus Worksheet中运行建表语句(运行脚本描述)即可,如:
create table TEXT
(
TypeCode VARCHAR2(10) not null,
Object VARCHAR2(255) not null,
Code VARCHAR2(10) not null
)
/
create table GRAPH
(
ObjectCode VARCHAR2(10) not null,
GraphObject VARCHAR2(255) not null,
GraphType VARCHAR2(10) not null
)
/
但是注意,每个表的结尾有个“/”符号,不要把这个丢了!
 
1.用sequence 对象实现.
2.创建用户,表和视图都在该用户下.
3.case 对应 decode 函数.
4.试试 powerdisign,没有好的方法,要重写很多东西才可用(也包括前台程序)
 
agree li2,说法很对

补充,我的自增字段使用序列和触发器一块儿实现的
 
>1、SQL SERVER2000中自增变量,在ORACLE8I中如何设置
前面很多人都说了,用Sequence加触发器,不过我的习惯都是直接写在SQL里
如insert into table(Id) select MY_SEQ.NEXTVAL from dual;

>2、在SQL SERVER2000中可以直接创建一个数据库,对应的ORACLE中应该是一个方案,但
>方案本身如何创建(我在ORACLE中只能创建表、视图这些对象,不能创建一个方案)
用Create User即可,创建用户后给它创建相应的表空间,并赋给它

>3、对于SQL SERVER200中的CASE语句,ORACLE8I中用什么来替代最方便
Oracle9i也有case语句,在8i的话可以用decode实现相同的效果。如果没有什么特殊要求的
话,建议你还是用9i吧

>4、如何将SQL SERVER2000中的数据库移植到ORACLE8I中,我通过导入和运行脚本描述都
>不能成功,不知是否需要做一些特殊的处理
最好使用Oracle的迁移工具来进行,它有专门FOR SQL SERVER的。
 
谢谢各位的指点,对于前三个问题我已基本理解,现在想想确实很简单。
尤其是第二个问题,我本来已经创建了一个用户和相应的表空间,只是没有
创建该用户的对象,所以按方案查询中没有显示该方案,随便建了一个表
后就出现了。
对于数据库的移植,我从一本书中找到了两种方法,实验成功后我会把心
得贴上来。
欢迎大家继续讨论两种数据库的差异
 
两种数据库的差异我建议你看一下Sephen Chelack写的《Oracle8i and Microsoft SQL Server 2000 Integration》
中文版由电子工业出版社出版《Oracle8i与SQL Server 2000集成》
400多页的书,相当详尽的对比了两个数据库产品(个人感觉,我也还没看完 :)
 
xianjun:
我去了书店,没找到您说的这本书,该书有电子版吗?
 
我是在China-pub上买的, 不知道书店为什么会没有
http://www.china-pub.com/computers/common/info.asp?id=3268
顺便把它的介绍也拷贝了一下:
Oracle和SQL Server均是当今最流行的关系数据库管理系统,本书将两种数据库产品的最新
版本放在一起,从多个方面进行了详尽的对比和讨论。全书共分4个部分,详细介绍了两种
数据库产品的基本要素和结构框架,揭示了两种数据库的内部机制和工作原理;讨论了在
两个数据库之间进行移植的技术问题,并介绍了Oracle公司和Microsoft公司提供的数据库
移植工具;探讨了数据库集成的有关技术问题,以及在因特网环境下的数据库集成,充分展
示了两种数据库产品为支持因特网而新增的种种特性。相信读者读完本书,定会受益匪浅。
 
关于数据移植:
我使用了Oracle公司的Migration Workbench2.0.2.0.0,下载地址为:
http://otn.oracle.com/software/tech/migration/workbench/htdocs/utilsoft.html
这个工具能把所有的表、视图、触发器、存储过程完整的从SQL server7.0移植到Oracle9i
中(虽然介绍的是可以在移植到8I,但安装后发现只能运行在9I中,不知是不是版本太高?)
移植过程中也有一些问题:
1、源数据库中有多个数据库,希望将这些数据库建立在ORACLE中不同的用户上,这样前
台就不用改太多东西,但移植时只能建立到SA用户中(不知是否有其他方法可以更改这
个默认设置)
2、对存储过程的移植出现了很多错误,有30%的存储过程要手工修改后才能使用,没有
发生错误的存储过程是否可靠也还没有得到检验。
3、TEXT类型数据镜像为CLOB类型后,不能显示出中文数据(我的字符集设置没有问题)
以上这几个问题也令我十分头疼,在没有寻找到更好的方法前,我只能采用笨办法去一点
一点的改了,如果有朋友有这方面的经验或正在做这方面的工作,请多和我交流:
e_yxh@163.net,希望我们能通过共同的学习成为朋友。
 
多人接受答案了。
 
后退
顶部