oracle数据库sqlserver
❶ Oracle数据库和sql server数据库各有什么优缺点
1.Oracle跨平台,SQL
Server只能运行在Windows上,而Windows能够安装的硬件是有限的,如Sun的Sparc服务器不能安装Windows,一些大型机、小型机也只能装UNIX,在这些高端机器上就只能跑Oracle了,这注定了Oracle就是高端数据库,而SQL
Server呢,中低端。
2.Oracle真正实现了行级锁,SQL
Server也宣称实现了行级锁,但你实际去试,如果不加索引,其实是不行的。
3.Oracle因为有多版本数据的技术,读写操作不会相互等待,虽然SQL
Server
2005学习Oracle增加了snapshot机制,从而也引进了多版本数据(MySQL也有多版本数据机制,不能说一定是学习Oracle),但是实际效果感觉就是2个版本的数据,隔离级别为read
committed时候,读写不再相互等待,但是把隔离设置为Serializable还是会产生读写相互等待。
4.Oracle的事务日志归档相当方便,而SQL
Server要用事务日志备份来实现,而且还要配置自动作业,启动agent服务。
5.Oracle的数据字典丰富,使得DBA容易判断数据库的各种情况,虽然SQL
Server
2005学习了Oracle的数据字典的特点,但从数量及方便程度上还是相差太多。个人感觉这是Oracle最人性化的地方。
6.Oracle的PL/SQL比SQL
Server的T-SQL功能强大很多。
7.Oracle的触发器比SQL
Server的种类多几种。
8.oracle的备份恢复原理相当简单明了,备份就在操作系统上拷贝数据文件好了,恢复呢,再拷贝回来,数据是旧的,不怕,应用重做日志好了。SQLServer呢,虽然原理在本质上还是这些,但操作起来麻烦多了,麻烦到让你体会不到其本质。
9.Oracle数据库启动可以有多个阶段,使得DBA可以在不同的情况下,通过启动到特定的阶段解决一些特殊问题,而SQLServer只要服务一启动,所有数据库就都打开了。
10.SQLServer给人的感觉是简单易用,但是我要说,如果你继续向前走,就会发现SQLServer的体系结构相当复杂(注意我这里是说的复杂),大体还是沿袭的Sybase的体系结构,这种复杂结构,估计很难有根本性的改变,而Oracle呢,时间越长你越会觉得其体系结构严谨,虽然开始会感觉很难。我的一个比喻,SQLServer是傻瓜相机(就是那些一两千的小数码),Oracle是单反相机(40D,5D,D300),如果你是入门者,那用傻瓜相机好了,在各种环境下拍摄,基本都过得去,用单反,光圈、快门都要自己设定,反倒不如傻瓜相机的效果,如果你是高手了,那傻瓜相机就很难得心应手了。
11.Oracle的书籍一般都比较深,随便一说就是一大批,EpertOracle、PracticalOracle8i、Cost-basedOracle,SQLServer呢,恐怕只有那套InsideSQLServer了,虽然SQLServer的书籍数量比Oracle的多的多(特别是在国内),但多数都是stepbystep的入门书。
12.对比SQL*Plus与sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太简陋,差得太多了。
13.SQLServer的最大优点就是和Windows结合紧密,易用,但是要注意事情都是两面的,这些优点可能导致其致命的缺点,例如易用,使得搞SQLServer的人可以不求甚解,有时候不求甚解是没问题的,但是有时候不求甚解可能会造成灾难,特别是对搞数据库的人来说。不好意思,本来要说SQLServer的优点呢,最后也成了缺点了。
❷ 如何将oracle数据库中的数据如何导入到sqlserver
假设要将SQL Server中的Northwind数据库中的Procts表导出到Oracle的Scott用户 首先需要有安装SQL Server企业版 1.打开工具: 开始->程序-> 导入和SQL Server数据导出数据 2.下一步,选择数据源 [数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。 [服务器]选择要导出数据的服务器,如果是本机,选择(local) [数据库]选择要导出的数据所在的库,这里选择Northwind 3.下一步,选择目的 [目的]选择Microsoft ODBC for Oracle [DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。 如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。 接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle 下一步,完成,出现Microsoft ODBC for Oracle安装界面 [数据源名称]随便输入,比如sss [说明]可以不填 [用户名称]填入要SQL Server数据导出到的Oracle用户名称,这里是scott [服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus scott/tiger即可连接到数据库,这里空着不填即可。 这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。 [用户名]填入SQL Server数据导出到的Oracle用户名称,这里是scott [密码]填入SQL Server数据导出到的Oracle用户使用的密码,这里是tiger 4.下一步,指定表复制或查询 如果要导出的内容是整个表,选择[从源数据库复制表和视图] 如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句 这里选择第一项[从源数据库复制表和视图] 5.下一步,选择源表和视图 点中要导出的表Procts一行的复选框,目的、转换两栏就会出现内容。 目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句 6.下一步,保存、调度和复制包 选中立即运行 7.下一步,正在完成DTS导入/导出向导 8.完成 提示“成功地将n个表从Microsoft SQLServer复制到了Oracle” 9.完成,关闭导入导出程序 注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Procts表在oracle里查询就应该写成select * from scott."Procts";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。
❸ 如何同步ORACLE和sqlserver的数据
有时候项目开发的需要,必须将sqlServer中的某县表同步到Oracle数据库汇总,有其他系统来读取这些数据,不同数据库类型之间的数据同步我们可以使用连接服务器和sqlAgent来实现。加入我们泽凯有一个和听合同管理系统,其中有表contract和contract_project是需要同步到一个MIS系统中的ORACLE,那么我们可以按照以下步骤实现数据的同步
1.在oracle数据库中建立对应的contract和contract_project表,需要同步那些数据字段我们就建立那些字段到oralce表中
需要注意哦的是oralce的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系,我们可以再sqlServer下运行:
SELECT *
FROM msdb.dbo.MSdatatype_mappings
来查看sqlServcer和oralce数据库的的类型类型对应
2.建立连接服务器,我们将oralce系统作为SQLserver的链接服务器加入到SQLserver中
有时候我们需要在sqlsercer下访问另外一个sqlserver数据库上的数据或者访问其他oracel数据库就上的数据吗,想要完成这些操作,我首先要创建一个数据库链接。
数据库链接能够让本地的一个sqlservwer登录用户勇摄到远程的一个数据库服务器上,并且像操作本地数据库一样,那么怎样创建数据库链接?
创建一个sqlserver对应的oracle的数据库链接,
❹ oracle数据库导入到sqlserver
先是把要过来的oracle备份的.dmp文件处理好,要来EXP导出时候的用户名和密码,以及LOG日志文件。
其次安装oracle数据环境,和我的SQL数据库在一个机器上,呵呵,这样好办多了。要的数据库是ORACLE9i版本的,10G也没问题。
先建立一个用户名,名称最好和提供DMP备份的名称一样,密码也一样。这样会省很多事的。开始WINDOWS下运行CMD:
C:>imp username/userpassword@dbname file=d:/backname.dmp ignore=y rows=y full=y
开始执行oracle数据导入操作。时间很长,那么*.DMP数据库就被恢复过来了。
现在我们我们已经把ORACLE的备份数据恢复过来了。ORACLE里面有我们需要的数据了,我们如何把这些数据导入到SQL server里呢。这时候就要用到SQL的工具DTS..........
打开企业管理器,在oracle数据导入的数据库出按下右键,所有任务里选择导入数据选择数据 ,进入数据转换导入导出向导。
下一步我们选择数据源为Microsoft OLE Provider for oracle 选择属性 因为是本机所以服务器名称不比输入了,用户名我们输入ORACLE我们需要的数据库的用户名和密码。测试一下连接,正常连接以后选择确定,就可以选择(勾选)我们需要的这个数据库里的表了。
这样,oracle中的表就导入到SQL里面了。我们就可以用SQL来操作数据了。这对于编程具有很好的试用价值。
❺ oracle数据库导入sqlserver报错,请问是怎么回事
第一种:更改SQL server中表字段的数据格式,比如oracle中的同样字段,格式为varchar2(30)而sQL server中数据库为varchar(20),就可能造成数据截断错误。
第二种:更改oracle数据库中的数据,有的时候,oracle中存在乱码时,SQL Server会不识别,从而报错,该错误是:字符在目标代码中没有匹配项错误。该方法适用于错误的字段少的情况,如果很多,就需要使用第三种方法。
第三种:把SQL Server表的字段数据结构改变,经常出现的错误的数据格式为varchar2数据格式字段导入到varchar数据格式字段的情况,因为varchar2是unicode格式的,varchar不是,所以SQL server很容易将一些unicode字符识别为乱码,从而报错。
❻ oracle ,mysql 和sqlserver的主要区别有哪些
一、首先一点,这三个数据库不是同一个公司的产品;
二、其所对应的使用对象也不一样,oracle是主流的大型数据库,大多数电信项目都是使用的oracle,而sqlserver与mysql主要是个人以及小型公司使用的的数据库,但是sqlserver需要收费,mysql不用。
❼ MySQL、SqlServer、Oracle,你必须了解的三大数据库区别
优点:
体积小、速度快、总体拥有成本低,开源;
支持多种操作系统;
是开源数据库,提供的接口支持多种语言连接操作 ;
MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的mysql能很容易充分利用CPU;
MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证;
支持ODBC for Windows, 支持所有的ODBC 2.5函数和其他许多函数, 可以用Access连接MySql服务器, 使得应用被扩展;
支持大型的数据库, 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改;
拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性;
MySQL同时提供高度多样性,能够提供很多不同的使用者接口,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言接口,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。
缺点:
不支持热备份;
MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变;
没有一种存储过程(Stored Procere)语言,这是对习惯于企业级数据库的程序员的最大限制;
MySQL的价格随平台和安装方式变化。linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或linux 自行安装 免费 、Unix或Linux 第三方安装 收费。
❽ Oracle数据库与SQL Server数据库的区别是什么
都是大型关系型数据库,以前Oracle对海量数据的处理性能比SQL强,现在SQL2005应该在一些方面可以和Oracle向比美了,相对SQL便宜一些,Oracle使用到后面可能还需要购买一些插件
❾ sqlserver与oracle的区别
区别
1、操作的平台不同
Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。而SQL Server却只能在Windows上运行了。
2、安全性不同
Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。这方面证明了Oracle的安全性是高于SQL Server的。
3、性能不同
SQL Server 多用户时性能不佳,而Oracle 性能最高,保持windowsNT下的TPC-D和TPC-C的世界记录。
4、文体结构不同
Oracle的文件体系结构为:数据文件 .dbf(真实数据、日志文件 .rdo、控制文件 .ctl、参数文件 .ora。
SQL Server的文件体系结构为:.mdf (数据字典)、.ndf (数据文件)、.ldf (日志文件)。
5、客户端支持及应用模式不同
SQL Server C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB ,ODBC连接。
Oracle多层次网络计算,支持多种工业标准,可以用ODBC, JDBC,OCI等网络客户连接。
参考资料来源:网络—Microsoft SQL Server
参考资料来源:网络—Oracle数据库
❿ 如何实现sqlserver数据插入oracle数据库
假设要将SQL
Server中的Northwind数据库中的Procts表导出到Oracle的Scott用户
首先需要有安装SQL
Server企业版
1.打开工具:
开始->程序->
导入和SQL
Server数据导出数据
2.下一步,选择数据源
[数据源]选择“用于SQL
Server的Microsoft
OLE
DB提供程序”,这应该是缺省值。
[服务器]选择要导出数据的服务器,如果是本机,选择(local)
[数据库]选择要导出的数据所在的库,这里选择Northwind
3.下一步,选择目的
[目的]选择Microsoft
ODBC
for
Oracle
[DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。
如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。
接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft
ODBC
for
Oracle
下一步,完成,出现Microsoft
ODBC
for
Oracle安装界面
[数据源名称]随便输入,比如sss
[说明]可以不填
[用户名称]填入要SQL
Server数据导出到的Oracle用户名称,这里是scott
[服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus
scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus
scott/tiger即可连接到数据库,这里空着不填即可。
这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。
[用户名]填入SQL
Server数据导出到的Oracle用户名称,这里是scott
[密码]填入SQL
Server数据导出到的Oracle用户使用的密码,这里是tiger
4.下一步,指定表复制或查询
如果要导出的内容是整个表,选择[从源数据库复制表和视图]
如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句
这里选择第一项[从源数据库复制表和视图]
5.下一步,选择源表和视图
点中要导出的表Procts一行的复选框,目的、转换两栏就会出现内容。
目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句
6.下一步,保存、调度和复制包
选中立即运行
7.下一步,正在完成DTS导入/导出向导
8.完成
提示“成功地将n个表从Microsoft
SQLServer复制到了Oracle”
9.完成,关闭导入导出程序
注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Procts表在oracle里查询就应该写成select
*
from
scott."Procts";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。