SQLServer数据导出导入到Oracle数据库

合集下载

SQLServer中导入导出数据的三种方式(二)

SQLServer中导入导出数据的三种方式(二)

(2)灵活度不同。

OPENDATASOURCE只能打开相应数据库中的表或视图,如果需要过滤的话,只能在SQLServer中进⾏处理。

⽽OPENROWSET可以在打开数据库的同时对其进⾏过滤,如上⾯的例⼦,在OPENROWSET中可以使⽤
SELECT*FROMtable1对abc.mdb中的数据表进⾏查询,⽽OPENDATASOURCE只能引⽤table1,⽽⽆法查询table1。

因此,OPENROWSET⽐较OPENDATASOURCE更加灵活。

2.使⽤命令⾏BCP导⼊导出数据
很多⼤型的系统不仅仅提供了友好的图形⽤户接⼝,同时也提供了命令⾏⽅式对系统进⾏控制。

在SQLServer中除了可以使⽤SQL语句对数据进⾏操作外,还可以使⽤⼀个命令⾏⼯具BCP对数据进⾏同样的操作。

BCP是基于DB-Library客户端库的⼯具。

它的功能⼗分强⼤,BCP能够以并⾏⽅式将数据从多个客户端⼤容量复制到单个表中,从⽽⼤⼤提⾼了装载效率。

但在执⾏并⾏操作时要注意的是只有使⽤基于ODBC或SQLOLEDB的API的应⽤程序才可以执⾏将数据并⾏装载到单个表中的操作。

BCP可以将SQLServer中的数据导出到任何OLEDB所⽀持的数据库的,如下⾯的语句是将authors表导出到excel⽂件中。

bcppubs.dbo.authorsoutc:\temp1.xls
-c-q-S"GNETDATA/GNETDATA"-U"sa"-P"password"。

Sql server 导入至 Oracle 具体操作经验

Sql server 导入至 Oracle 具体操作经验

Sql Server 支持向Oracle中导入数据,以下以身份证号导入到数据库为例1、先在oracle数据库中建立一个临时表包含2列,1列学工号、1列身份证号。

create table cc as select outid as bh,idcardno as sfz from base_customers/delete from cc/执行完毕后,记得要提交!2、新建EXCEL 表格,表格中有2列,如下:在该表格中,将人员信息导入至EXCEL表格中。

因为SQL2000 EXCEL导入只支持EXCEL97-2003,因此新建EXCEL表格必须是2003格式的(扩展名为xls)3、通过Sqlserver导入导出工具将EXCEL数据导入至Sqlserver中,并将导入完成的表格名称修改成与Oracle库中一样的表名称CC选择导入数据选择数据源选择导入目标一直点击下一步,直至完成后,将数据库中新导入的表格重新命名成CC4、本机必须要安装Oracle客户端,在控制面板—管理工具—数据源建立一个ODBC数据源。

打开数据源,点击添加按照下面的选项选择,点击完成按照下面的选项选择,出现下面的界面:5、将Sql server 数据导入到 Oracle 中导出数据导出数据点击下一步完成后,出现如下界面点击下一步,一直到出现以下界面:sql server 向Oracle导出时一定要下拉选择表一直点击下一步,直至完成后,完成数据导入!6、最后一步执行身份证修改语句。

执行完成记得提交!update base_customers set (idcardno)=(SELECT bh FROM cc WHERE base_customers.outid = cc.bh)。

sqlserver数据导入oracle

sqlserver数据导入oracle

需要用到power builder工具,具体操作方法如下:先打开PB,新建workspace,如图:起好名字之后,可以看到新的workspace已经建成了:点击tools-database painter,如图:之后会出现如下界面:点击ODB ODBC 添加相应数据源,如图:在出现的对话框中,选择“用户数据源”或“系统数据源”,下一步,如图:选择数据源类型,下一步:数据源的名称起相应的数据库名即可(也可以随便起),服务器名localhost,下一步,如图:登录方式,默认,或者选择sql登录方式都可以:默认数据库选择目标数据库,下一步:默认点击完成:至此,sqlserver数据源创建完成。

Oracle数据源的创建方法——数据源类型同上:驱动程序二选一:数据源名字随意,TNS Service Name选择目标oracle数据库,User id为相应用户名。

点击“OK”,oracle的数据源也创建完成。

数据源创建完成之后,要在ODB ODBC下创建profile,如下:Profile name直接用数据库的名字命名就可以,数据源分别选择刚刚创建的sqlserver和oracle 数据源,用户名密码作相应输入,两个profile的创建就完成了。

Sqlserver和oracle之间的数据互联要在application中进行,在workspace中新建target,在target选项卡下,选择application,OK:名字随意,finish:完成之后,继续在创建完成后的application右键,New:在出现的对话框中选择Database-Data Pipeline:选好源数据和目标数据,OK:在出现的对话框中,PB会将数据库中所有的表列出:选择相应的表,PB会进一步将表中所含的列列出:选择好了表,以及要导入的列后,OK:这样就可以做数据的互导工作了。

注意:对于到导入到oracle中的数据,在sqlserver中为float类型的,在oracle中要改为number,在sqlserver中为char类型的,在oracle中要改为varchar类型。

SqlServer2005移植到Oracle

SqlServer2005移植到Oracle

从SQL server 2005中移植数据到Oracle 10g1.移植前准备在移植前,需要安装必需的各种软件,如下:(1).安装好SQL server 2005的补丁包和SP2。

(2).安装Oracle安装包里的oracle客户端浏览器(PL/SQL Developer)。

(可以根据需要按照汉化补丁,汉化包不安装也可)(3).硬件要求:在Oracle数据库所在的硬盘保持足够剩余空间(至少有2GB的空间剩余);建议在启用Oracle服务时机器的内存不少于2GB。

没有特别说明的情况下,本文的数据移植是针对普通的属性数据。

2.移植2.1.创建数据库打开Oracle中的Database Configuration Assistant进行数据库的创建,如图所示:图表1 打开Database Configuration Assistant进入Database Configuration Assistant后点击“下一步”,然后出现如图表2所示的界面,选择“创建数据库”后点击“下一步”:如图表3所示选择第一个“一般用途”然后点击下一步:图表3 选择模板如图标2所示在创建数据库过程中的第3步,在“全局数据库名”中输入数据库名称,SID则会自动默认为全局数据库名,然后点击“下一步”;点击如图表5所示界面中的“确定”按钮系统就开始创建数据库了。

图表5图表6 正在传教数据库最后点击如图表4所示中的“退出”按钮就创建数据库完成了。

图表7 创建数据库完成2.2.登录Oracle打开PL/SQL Developer并用system(数据库默认的用户名)用户身份登录到XQ2DSGN并选择连接为SYSDBA,如图所示:图表8 登录到PLSQL2.2.1.创建表空间创建表空间的sql语句:SQL>create tablespace xq2dsgn datafile 'G:\oracle\product\10.2.0\ oradata\xq2dsgn\xq2dsgn.dbf' size 2048m autoextend on next 10m maxsize unlimited ;(参考:通过PL/SQL Developer登录到Oracle数据库上后,打开菜单:文件/新建/命令窗口,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间,新建用户和授权的操作,如图所示:图表9 打开命令窗口创建表空间Sql>create tablespace xqds2gn datafile ' D:\oradata\xq2dsgn\ xq2dsgn.dbf ' size 200m autoextend on next 10m maxsize unlimited;Sql>alter database datafile ' D:\oradata\xq2dsgn\ xq2dsgn.dbf ' autoexte nd on;1 DATAFILE: 表空间数据文件存放路径2 SIZE: 起初设置为200M3 UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k4 空间名称xq2dsgn 与数据文件名称xq2dsgn.dbf 不要求相同,可随意命名.5 AUTOEXTEND ON/OFF表示启动/停止自动扩展表空间6alter database datafile ' D:\oradata\xq2dsgn\ xq2dsgn.dbf ' resize 500 m;//手动修改数据文件大小为500M图表10 表空间创建完成删除表空间语句如下:DROP TABLESPACE xq2dsgn INCLUDING CONTENTS AND DATAFILES;2.2.2.创建用户1.建立用户并为用户指定缺省的永久表空间和临时表空间SQL> create user xq2dsgn identified by xq2dsgndefault tablespace xq2dsgntemporary tablespace temp;用户已创建。

用SQL DTS实现SQL Server到Oracle的数据迁移

用SQL DTS实现SQL Server到Oracle的数据迁移

用SQL DTS实现SQL Server到Oracle的数据迁移陈拓 chentuo@2005 年 2月 15 日 最后修改日期 2005 年 3月 27 日以下的操作以 SQL Server2000 和 Oracle 10g 为例。

一、 在Oracle数据库中建立一个新帐户如果已有可用用户,跳过这一部分。

1.用SQL*plus创建新用户l建立一个新帐户 ct,PL/SQL 脚本如下:SET ECHO OFFPROMPTPROMPT specify password for ct as parameter 1 (ct):DEFINE pass = &1PROMPTPROMPT specify default tablespeace for ct as parameter 2 (USERS):DEFINE tbs = &2PROMPTPROMPT specify temporary tablespace for CT as parameter 3 (TEMP):DEFINE ttbs = &3PROMPTPROMPT specify password for SYS as parameter 4 (sys):DEFINE pass_sys = &4PROMPTPROMPT specify log path as parameter 5 (D:\oracle\product\10.1.0\):DEFINE log_path = &5PROMPT-- The first dot in the spool command below is-- the SQL*Plus concatenation characterDEFINE spool_file = &log_path.ct_main.logSPOOL &spool_fileREM =======================================================REM 删除用户及其方案REM =======================================================DROP USER CT CASCADE;REM =======================================================REM 创建新用户,指定默认表空间和临时表空间REM =======================================================CREATE USER CT IDENTIFIED BY &pass;ALTER USER CT DEFAULT TABLESPACE &tbsQUOTA UNLIMITED ON &tbs;ALTER USER CT TEMPORARY TABLESPACE &ttbs;REM =======================================================REM 授权 CONNCET AND RESOURCE 角色REM =======================================================GRANT CONNECT TO CT;GRANT RESOURCE TO CT;REM =======================================================REM 从 sys方案授权(方案\SYS\源类型\程序包\dbms_stats)REM =======================================================CONNECT sys/&pass_sys AS SYSDBA;GRANT execute ON sys.dbms_stats TO ct;REM =======================================================REM 设置本次会话的语言和区域REM =======================================================CONNECT ct/&passALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';ALTER SESSION SET NLS_TERRITORY=CHINA;spool offl查看相关信息用 DBA_ROLES 视图查看角色信息:SQL> conn sys/sys@oract as sysdbaSQL> select * from DBA_ROLES;用 DBA_ROLE_PRIVS 视图查看授予授予用户的角色:SQL> select * from DBA_ROLE_PRIVS where GRANTEE='CT'; 用 ROLE_SYS_PRIVS 视图查看授予角色的系统权限:SQL> select * from ROLE_SYS_PRIVS where ROLE='CONNECT';SQL> select * from ROLE_SYS_PRIVS where ROLE='RESOURCE'; 用 SESSION_ROLES 视图查看用户当前已启用的角色:SQL> conn ct/ct@oractSQL> select * from SESSION_ROLES;l将此脚本存为文件 ct_main.sqll以 SYS 或 SYSTEM 登录C:\>sqlplus sys/sys as sysdbal运行脚本 ct_main.sqlSQL> @D:\lecture\oracle\ct_main.sqll查看操作日志文件:D:\oracle\product\10.1.0\ ct_main.log2.用JDeveloper创建新用户The user name you use to create a connection must have adequate privilege to create a user, either by having been granted CREATE USER privilege or having been granted a role such as administrator that contains that privilege. If you did not create the connection with a user with the correct privileges, you will not be able to select User from the New Gallery.用于创建一个连接的用户名必须有足够的权限来创建用户,即可以是1) 选择 View | Connection Navigator2) 展开 Database 并且选择一个 database connection3) 在 connection中,右击schema 或者其中的任一项,选择 NewFrom the New Gallery, in Filter By, choose All TechnologiesFrom the New Gallery, in Categories , expand Database Tier and choose Database Objects从 Database Objects,选择 User,并且 and click OK to open the New Database User wizardIn the pages of the wizard enter parameters and select options to define the tableClick NextOn the Finish page, click Finish to create the table.二、用 Microsoft DST 将数据从SQL Server 导出到 Oracle1.启动DST开始 > 程序 > Microsoft SQL Server > 导入和导出数据:图1 启动DST2.出现“DTS导入/导出向导”界面,下一步:图2 DTS导入/导出向导3.选择数据源在数据源中选取“用于 SQLServer 的Microsoft OLE DB 提供程序”。

SQLServer往Oracle导入数据

SQLServer往Oracle导入数据

SQLServer往Oracle导入数据由于做的软件要求跨平台,要不数据库变成Oracle的,因此需要把SQL Server 2000的数据导入到Oracle 10g中去。

发现SQL Server自带的导入导出比较好用!恩恩,现在开始讲一讲怎么吧SQL Server的数据导入到Oracle中。

先说说目的:在PC机A中安装的Windows系统下SQL Server中有源数据库DBServer。

PC机ip地址:192.168.1.103。

主机名:LENOVO-78EB319A数据库中使用管理员sa,密码lenovo。

貌似用不上……在PC机B中安装的Solaris系统下Oracle中有目标数据库DBServer。

PC机ip地址:192.168.1.105。

主机名:vic.MINg其中DBServer是空数据库,刚刚创建的。

讲A机Windows XP系统SQL Server 2000中数据库DBServer中的表和视图导入到B机Solaris 10系统Oracle 10g中去。

在Solaris下的Oracle中创建用户Oracle下创建用户赋予权限,在终端中启动 SQL Plus。

创建用户+密码(用户:sa 密码:lenovo)SQL> create user sa identified by lenovo;单独赋予用户权限SQL> grant create session to sa;SQL> grant create table to sa;SQL> grant create sequence to sa;SQL> grant create view to sa;当然也可以给用户赋予DBA权限SQL> grant sysdba to sa;在Windows下创建一个ODBC数据源控制面板——管理工具——数据源(ODBC),"系统 DSN” 项卡中点击添加按钮,选择相关Oracle驱动配置数据源信息,如下点击"Test Connection",进行测试看看是否和Solaris联通SQL Server往Oracle导入数据启动"SQL Server 企业管理器" ,在数据库——DBServer 中 "所有任务",导出数据。

Sql Server导出数据至Oracle方法

Sql Server导出数据至Oracle方法

Sql Server导出数据至Oracle方法利用Sql Server的DTS导出首先,也是最重要的,一定要先设置好要导入到的oracle所对应的数据源驱动。

也就是在Windows下创建一个ODBC数据源: 控制面板——管理工具——数据源(ODBC),在"系统DSN” 项卡中点击添加按钮,选择相关Oracle驱动(数据源需要用到oracle的连接服务,所以如果sqlserver与oracle不在同一台机器上的话,要在sql server所在机器上装oracle客户端,并用oracle客户端建一个连接到oracle数据库的服务,建odbc数据源时,会让你选择该服务)。

这一点如果你不配置,那么在后面的Sql Server DTS导出数据到oracle时候,它会有一个默认的数据源驱动,但可能版本太早,里面的字段和oracle 10g有些不兼容,这样会造成后面在导出数据的时候出现一些字段转换失败之类的错误。

下面以我在本机上的操作截图说明一下:(1)右击数据库,任务--->导出数据:(2)选择要导出的数据源,如果针对本机数据库,按照默认选项即可,点击下一步:(3)选择要导入的数据源,这一块就是要注意的地方,oracle 10g 数据源在此处为Oracle provide for OLE DB(安装了不同的oracle,数据源驱动可能不一样,这里不是绝对的),如果没有自己注册oracle 10g数据源的话,它上面默认的有一个Microsoft OLE DB Provider for Oracle,切记一定要自己配置。

注意选上"允许密码保存"复选框,之后测试是否连接成功。

(5)点击下一步,出现如下视图(6)选中要导入的表,然后把目标表中的名称改为大写,这块最好也自己配置一些,选中表,点击“编辑映射”,对里面Sql Server自动生成的和oracle 10g字段对应关系中不合理的字段进行修改,在oracle 10g里面一般只有Int字段有问题,而默认的oracle注册驱动对于大数据类型nclob,和nvarchar2都多少有些问题,修改以后点击“编辑SQL”按钮,生成最终合适的sql语句。

利用sqlserver dts工具实现sqlserver与oracle数据库互导

利用sqlserver dts工具实现sqlserver与oracle数据库互导

利用sqlserver dts工具实现
sqlserver与oracle数据库互导
1.打开DTS进入以下界面
2.如从sqlserver数据库导入到oracle数据库如上图所示:点击下一步进入如下界面:
- 1 -
3.选择用户/系统dsn 新建一个文件数据源如下图所示:
4.点下一步:
- 2 -
5.如上图所示选择oracle odbc driver 点下一步:
6.点击浏览:
- 3 -
7.输入你要保存的数据源名字点击保存:这里输入ndglxt保存后点击下一步完成数据源的配置。

回到如图的界面:
- 4 -
这里要求你输入连接oracle 数据库的服务名以及用户名和密码:
Service name:这一项是你在你本机上配置的连接你本机数据库或连接网络数据库的服务名,而不是数据库名,更不是主机名。

User name:这一项是你在要连接的oracle数据库里建立的用户名,就是你把sqlserver对象导入该用户下,首先要在oracle 里建好。

Password:就是以上用户的密码,我们这里输入:link ,ndgl,mis点ok
再在用户名和密码里输入ndgl,mis 点下一步:
再下一步进入导入表视图,在这里你可以选择你要导的表,也可以全部选择。

- 5 -。

SQL Server全库导入到ORACLE

SQL Server全库导入到ORACLE

MS SQL Server 全库导入到ORACLE作者:Microlong•硬件环境:1、CPU P4 1,.7 Memory : 256•硬件环境:1、Windows 2000 A S +ORACLE 9I +MS SQL Server ( 企业版)2、ORACLE安装路径为:C:\ORACLE•实现方法:1、打开MS SQL Server 企业管理器,展开当前数据库实例,选择要导出数据库在本系统为DATAWAREHOUSE,如图(1):2、接着就会弹出SQL SERVER DTS 向导如图(2):3、点击“下一步”,开始数据导入前的一些设置,并选择源库如图(3):4、再次点击“下一步”,这一步主要的是设置目的库,在“目的”中选择“ORACLEProvide for OLE DB ”(该驱动是安装ORACLE 后才出现的),如果有两台数据库服务器,SQL Server 和ORACLE 各在一台服务器上,那么你还可以选择“Microsoft OLE DB Provide for ORACLE ”如图(4):5、在选择好驱动以后要注意点击属性,择会弹出下面的窗口来验证身份,那么这时候SQL SERVER 就和ORACLE 建立了信任连接如图(5):6、一定要点击“测试连接属性”哦,如果能看到下面的窗口,恭喜你,否则,很步幸运,你要检查看看服务起来没有^_^ 如图(7):7、好了,回到点击两次“确定”后,继续点击“下一步”,如图(8):8、我们选择第一个“从源数据库复制表和视图”,如果你选择“用一条查询指定要传输的数据库”,主要用在数据筛选的情况,点击“下一步”,如图(9):9、选择你要导入的表,注意如果是视图,建议不要在这里导入,到目的库会变成表,这一点请一定要注意,如果不分结果全选可能会出现这种情况!然后点击“下一步”,则可以进行数据导入了,如果你想做一个任务来调度,那么你还可以点击“调度DTS包以便以后执行”,现在我们选择“立即执行”如图(10):10、好了,点击“完成”,就可以进行该任务了,如图(11):11、现在我们点击“完成”,则任务立即执行如图(12):12、如果出现下面的窗口,那么恭喜你,导入数据成功了!如图(13):13、然后点击“确定”,从而完成该任务,下面让我们看看该方法的优缺点。

sqlserver迁移到oracle具体实现

sqlserver迁移到oracle具体实现

sqlserver迁移到oracle具体实现一、需求背景因系统业务发展需要,需要对各地数据进行集中管理,其中各地系统都是sqlserver2000数据库,数据大量集中,需要使用oracle数据库,因此涉及sqlserver数据迁移至oracle数据库的问题。

二、处理步骤处理步骤分为初始导出和增量交换两个操作步骤进行。

1 、其中初始导出设定一个时间截止时间将之前的业务数据利用数据库导出功能将数据导出,数据导出后由文件交换服务器传送的方式将初始导出数据导入到oracle数据库服务器中,然后通过SQLLOAD工具将数据导入。

2、增量交换在初始导出设定一个时间截止后开始启用,增量交换就是在初始导出完成后,将有变更的数据形成文件,由文件交换服务器传送,最终同步到oracle数据库服务器中,然后通过SQLLOAD工具将数据导入,与初始导出不同的是,这里要通过程序控制导出的增量数据和导出文件名。

三、初始导出1.业务数据业务数据初始导出将利用数据库导出功能将数据以文件的方式拷贝到oracle数据库服务器进行导入。

步骤:1)业务数据导成文件2)业务数据文件拷贝到oracle数据库服务器进行导入2.实现2.1.利用导出导入工具实现异构数据迁移1)sqlserver初始数据利用bcp工具导成csv格式文件--sqlserver数据导成文件--预先创建导出表格式文件:exec master..xp_cmdshell 'bcp master.dbo.sysusers format nul -T -c -f "c:\students.fmt"'--根据格式文件导出表数据(可以导成txt或csv文件格式)修改格式文件,用逗号分隔符declare @sql varchar(8000)set @sql='bcp "SELECT * FROM master..sysusers" queryout "c:\aa.csv" /f "c:\students.fmt"' exec master..xp_cmdshell @sql2)通过sqlload工具将初始数据导入oracle数据库服务器--sqlload直接导入命令示例result.csv文件内容1,默认 Web 站点,192.168.2.254:80:,RUNNING2,other,192.168.2.254:80:,STOPPED3,third,192.168.2.254:81:,RUNNINGresult.ctl文件内容:load datainfile 'c:\result.csv'into table resultxt(resultid char terminated by ',',website char terminated by ',',ipport char terminated by ',',status char terminated by whitespace)创建表:create table resultxt(resultid varchar2(500),website varchar2(500),ipport varchar2(500),status varchar2(500))/执行文件导入命令sqlldr hr/hr@orcl c:\result.ctl log=c:\resulthis.out四、增量交换1.业务数据业务数据增量交换将利用数据库导出功能将数据以文件的方式拷贝到oracle 数据库服务器进行导入。

SQLServer到Oracle的数据迁移

SQLServer到Oracle的数据迁移

《高级数据库应用》课程项目报告《数据库迁移》姓名:组员:班级学号:指导教师:完成报告时间:数据库迁移1.实验环境:硬件环境:⏹Intel(R) Core(TM)2 Duo CPU P4200 2.13GHz⏹ 2.00GHz 2.00GB 内存软件环境:⏹windowsXP Professional sp3⏹oracle 9i⏹SQL server 2005⏹Oracle SQL Developer2.前提:是要在oracle中建立一个和SQL Server中名字一样的数据库,并创建新的用户名和密码3迁移过程:(1)一般情况:只迁移表,而不是存储过程、函数等,可以使用SQL Server 2005自带的导入导出工具。

1)迁移方法:右键单击SQL Server中你要导出的数据库--》任务--》导出数据--》下一步--》添好各选项(SQL Server数据源的)下一步--》数据源等默认——》下一步,目标选择Microsoft OLE DB Provider for Oracle,属性中填入你要导入的oracle数据库的名字,用户名,密码------>下一步------>选中全部表,下一步------>下一步------>下一步. 将会将表结构和表中的数据一同导入到oracle中去。

2)实例:将SQL Server数据库aaa导出到Oracle中<1>首先在Oracle中创建数据库aaa.:图(1):在Oracle中创建数据库aaa.<2>下一步:选择创建数据库:图(2):选择创建数据库<3>创建数据库名称aaa:图(3)创建数据库名称aaa<4>右键单击SQL Server中的aaa数据库,选择任务,导出数据:图(4)从SQL的aaa数据库中导出数据<5>运行数据库导出向导:<6>选择目标Microsoft OLE DB Provider for Oracle:<7>数据库连接属性:图(7)输入连接属性图(8)选择要迁移的内容<8>选择要复制的表或者视图:<9>是否保存SSIS包:<10>完成该向导:<11>执行成功:<12>具体表的迁移:图(14)具体表的迁移,已经完成奖惩信息表的迁移。

Sql server 迁移到oracle 方案

Sql server 迁移到oracle 方案

Sql server 迁移到oracle 方案1.系统目前运行情况系统目前采用的数据库是sql server 2005操作系统平台是windows server 2003操作系统的配置:16cpu,32g内存诊断:目前系统运行较慢,windows server 2003和sql server 2005不能充分利用现有的硬件配置,已经形成瓶颈,导致资源浪费。

2.sql server和oracle的产品比较1).Oracle为客户端开启会话有两种方式:共享服务和专用服务。

在专用服务情况下,监听器为连接请求创建新进程(Unix环境下是Process,Windows下我想应该是Thread吧);共享服务情况下,监听器将客户请求交给Dispatcher,由Dispatcher安排多客户的作业。

SQL Server在默认情况下自动为客户端连接创建线程,当有非常多的客户连接时,SQL Server可以使用线程池管理多会话,这类似于Oracle的共享服务。

2).Oracle的内存管理分三块:SGA、PGA、UGA;在MSDN中并没有提及怎样控制SQL Server的内存分配,只是提到SQL Server的虚拟地址空间分成缓冲池占用空间和其余空间,且SQL Server有动态内存管理机制。

3). Oracle的实例一次只能管理一个数据库,数据库在集群环境下可由多个实例管理。

而SQL Server单个实例一次能管理多个数据库。

Oracle数据库存储方式有OS文件、裸分区、ASM等,SQL Server的数据库存储只能是系统文件。

4). Oracle数据库包含表空间,表空间可以使用多个文件存储数据,表空间就类似于SQL Server中的文件组。

区是物理连续上连接的存储空间,区中包括最小I/O单位——块(Oracle)或页(SQL Server)。

但SQL Server页大小是8KB,区包含8个页;Oracle不同表空间可以有不同的块大小,区的大小和保护块的数量也不固定。

如何从SQLSERVER迁移大批量数据到ORACLE

如何从SQLSERVER迁移大批量数据到ORACLE
使用本文介绍的方法传输258万数据表共6个表,历时1小时,运行机器CPU平均占用率60%
分析:
微软DTS在异种数据库之间传送数据时,采用ODBC开放数据连接方式,而ODBC的速度慢是众所周知的缺点,导致异种数据库间传送数据慢。而SQLSERVER是微软自己的数据库系统,采用DTS导SQLSERVER的时候能很快,这是一个优点;oracle使用工具sqlldr能够很快的将文本数据导入oracle自己的数据库也是一个优点。结合两个工具,可以提供快速的对大量数据进行迁移。
在例一中字符串由 "标志,所以需要加optionally enclosed by '"',在例二中不需
在例一中日期格式需要在域名后加 'date "yyyy-mm-dd hh24:mi:ss",

LOAD DATA
INITFILE 'tbilllog1.txt'
insert into table tbilllog1
insert into table tbilllog1
fields terminated by ',' optionally enclosed by '"'
(
callid,
callidnum,
callerno,
calleeno,
waitbegin date "yyyymmdd",
waitend date "yyyymmdd",
text= double quote{"} (缺省)
在comumn和text选项会影响到oracle的controlfile的设置

sqlserver获取oracle数据库方法

sqlserver获取oracle数据库方法

SQL Server获取Oracle数据库方法1. 简介SQL Server和Oracle是两种常用的关系型数据库管理系统(RDBMS),它们在功能和语法上有所不同。

本文将介绍如何使用SQL Server来获取Oracle数据库的数据,包括连接配置、数据导入和导出等操作。

2. 连接配置在SQL Server中连接Oracle数据库需要使用ODBC(Open Database Connectivity)驱动程序。

以下是连接配置的步骤:步骤一:安装ODBC驱动程序首先,在SQL Server所在的计算机上安装Oracle ODBC驱动程序。

可以从Oracle官方网站下载合适版本的驱动程序,并按照安装向导进行安装。

步骤二:创建ODBC数据源在Windows操作系统中,打开“控制面板”->“管理工具”->“ODBC数据源(64位)”(如果是32位操作系统,则为“ODBC数据源”),点击“添加”按钮,选择正确版本的Oracle ODBC驱动程序,然后点击“完成”。

步骤三:配置数据源名称和连接参数在弹出的对话框中,输入数据源名称、描述和TNS Service Name等连接参数。

TNS Service Name是指要连接的目标Oracle数据库实例名。

步骤四:测试连接点击“测试连接”按钮,检查是否能够成功连接到Oracle数据库。

如果测试通过,则表示已成功配置了ODBC数据源。

3. 导入数据在SQL Server中导入Oracle数据库的数据,可以使用以下方法:方法一:使用OPENROWSET函数SQL Server提供了一个名为OPENROWSET的函数,可以通过该函数直接从Oracle数据库中查询数据并导入到SQL Server中。

以下是使用OPENROWSET函数导入数据的示例:SELECT *INTO SQLServerTableFROM OPENROWSET('MSDASQL','Driver={Oracle ODBC Driver};Server=OracleServer;Uid=username; Pwd=password;','SELECT * FROM OracleTable')上述示例中,SQLServerTable是要导入的目标表名,在执行该语句之前需要事先在SQL Server中创建好对应的表结构。

从SQLSERVER迁移到ORACLE教程 图解

从SQLSERVER迁移到ORACLE教程 图解

数据库迁移自述文件
使用sqldeveloper-3.2.20.09.87
首先创建2个连接、一个Sqlserver 和oracle 。

需要注意的是oracle连接用户必须具备高一点的权限。

这里可以对数据类型进行自定义改变。

需要改变对象命名为迁移用户的用户名。

当前的用户名为taoxs 然后提交
下面开始转换对象。

生成sql脚本。

注意:运行sql脚本需要用管理员的权限的用户。

Nbs_complainthandle 表在sqlserver中的默认值为”默认值”所以在这里需要将default “默认值去掉”。

还有一个视图v_getdate 转换有问题需要修改为
修改完成后,断开oracle的连接。

更换为管理员的用户登录,然后运行脚本
表结构生成完成。

切换为之前的oracle用户登录,然后移动数据
然后点击下一步
生成成功后。

删除移植资料库
完成!!!。

如何将SQLServer数据导出导入到Oracle数据库

如何将SQLServer数据导出导入到Oracle数据库

1.打开工具:开始->程序->Microsoft SQLServer->导入和SQL Server数据导出数据2.下一步,选择数据源[数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。

[服务器]选择要导出数据的服务器,如果是本机,选择(local)[数据库]选择要导出的数据所在的库,这里选择Northwind3.下一步,选择目的[目的]选择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用户使用的密码,这里是tiger4.下一步,指定表复制或查询如果要导出的内容是整个表,选择[从源数据库复制表和视图]如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句这里选择第一项[从源数据库复制表和视图]5.下一步,选择源表和视图点中要导出的表Products一行的复选框,目的、转换两栏就会出现内容。

sql server向oracle迁移

sql server向oracle迁移

SQL SERVER 到ORACLE 迁移的方法----引用数据库端SQL语法的迁移以下为常用的SQL语法迁移,包括数据类型、ID列向SEQUENCE迁移、表(主键、外键、CHECK、UNIQUE、DEFAULT、INDEX)、游标、存储过程、函数、触发器、常用SQL语法与函数几个方面,考虑SQL SERVER 的实际情况,没有涉及ORACLE特有的PACKAGE、EXCEPTION等。

在以下的描述中,将SQL SERVER的TRANSACT-SQL简称为T-SQL。

在ORACLE 中,其语法集称为PL/SQL。

<一> 数据类型的迁移<1>、ORACLE端语法说明在ORACLE中,分析其数据类型,大致可分为数字、字符、日期时间和特殊四大类。

其中,数字类型有NUMBER;字符类型有CHAR与VARCHAR2;日期时间类型只有DATE一种;除此之外,LONG、RAW、LONG RAW、BLOB、CLOB和BFILE等数据类型都可视为特殊数据类型。

<2>、SQL SERVER端语法说明在SQL SERVER中,参照上面对ORACLE的划分,数据类型也大致可分为数字、字符、日期时间和特殊四大类。

数字类型又可分为精确数值、近似数值、整数、二进制数、货币等几类,其中,精确数值有DECIMAL[(P[, S])]与NUMERIC[(P[, S])];近似数值有FLOAT[(N)];整数有INT、SMALLINT、TINYINT;二进制数有BINARY[(N)]、VARBINARY[(N)];货币有MONEY、SMALLMONEY。

字符类型有CHAR[(N)]与VARCHAR[(N)]。

日期时间类型有DATETIME、SMALLDATETIME。

除此之外,BIT、TIMESTAMP、TEXT和IMAGE、BINARY VARING等数据类型都可视为特殊数据类型。

<3>、从SQL SERVER向ORACLE的迁移方案比较ORACLE与SQL SERVER在数据类型上的不同,当从SQL SERVER向ORACLE迁移时,可以做如下调整:方法:公司原系统中的Money 用于金额时转换用number(14,2);用于单价时用 number(10,4)代替;<二> ID列向SEQUENCE迁移<1>、SQL SERVER端语法说明在SQL SERVER中,可以将数据库中的某一字段定义为IDENTITY列以做主键识别,如:jlbh numeric(12,0) identity(1,1) /*记录编号字段*/CONSTRAINT PK_tbl_example PRIMARY KEY nonclustered (jlbh) /*主键约束*/在这里,jlbh是一个ID列,在向具有该列的表插入记录时,系统将从1开始以1的步长自动对jlbh的值进行维护。

SQLServer-Oracle导出导入数据及表的方法

SQLServer-Oracle导出导入数据及表的方法
正在执行包‎->图形界面显 ‎示表到文本‎文件的步骤‎和状态- >完成 如果生成的‎文本文件大‎于 1M,要用压缩工‎具压缩后再‎到 Inte‎rnet 上‎传输。 ②、通过 FTP‎或者 rem‎ote deskt‎op 或者 p‎canyw‎here 等‎方法把 第①步生成的文‎本文件或者‎其压缩后的‎文件传到目‎的 SQL Serve‎r 数据库,如果有压缩‎要解压。 ③、把文本文件‎导入目的 S‎QL Serve‎r 数据库 直接把文本‎文件导入目‎的 SQL Serve‎r 数据库里‎跟文本文件‎同名的新表‎名时,默认的会把‎所有 字段类‎型都变成字‎符串。 所以我们要‎这样做: 在源 SQL‎Serve‎r 数据库上‎先生成创建‎表的 sql‎语句 在 SQL Serve‎r 查询分析‎器里->选中源数据‎库里表名->按右键->在新窗口中‎编写对象脚‎本->创建 ->复制下新窗‎口内创建表‎名的 sql‎语句到目标‎SQL Serve‎r 数据库上‎查询分析器‎里执行创建‎表名的 sq‎l 语句,生成空表结‎构。(如果已经存‎在这样的表‎名,修改建表的‎sql 语句‎,在表名后面‎加上导入时‎ 间的年月信‎息,例如 tab‎le_01‎13) 调用导入/导出工具->弹出数据转‎换服务导入‎/导出向导窗‎口->下一步->选数据源-> 数据源 (文本文件)->文件名(已传到目的‎SQL Serve‎r 数据库下‎要导入的文‎本文件,后缀可以不‎是*.txt, 但是常规文‎本编辑器能‎打开的文件‎,文件类型选‎全部)- >下一步- >选择文件格 ‎式->用默认的带 ‎分隔 符->选第一行包 ‎含有列名称‎选项- >下一步- >制定列分割 ‎符->逗号 - >下一步- >选择目的- >目的 (用 于 SQL‎Serve‎r 的 Mic‎rofos‎t OLE DB 提供程‎序)->服务器(可选择目标‎局域网内能‎访问到的所‎有 SQL Serve‎r 服务器)-> 选择使用 w‎indow‎s 身份验证‎还是使用 S‎QL Serve‎身份验证(输入数据库‎的 用户名和‎密码)->数据库(可选择上面‎选中 SQL‎Serve‎r 服务器上‎所有权限范‎围内的数据‎库)->下一 步->选择源表和‎视图->修改目的表‎名为刚才创‎建的表名->转换(在目的表中‎追加行) ->下一步->保 存、调度和复制‎包->时间->立即运行(如果要实现‎隔一段时间‎自动把文本‎文件导入,选调度 DT‎S 包 以便以‎后执行)->保存(可以不选)-> [保存 DTS‎包(保存的时候‎要输入 DT‎S 的包名及‎详细描述)-> 下一步->]->完成

从SQLSERVER迁移到ORACLE教程图解

从SQLSERVER迁移到ORACLE教程图解

从SQLSERVER迁移到ORACLE教程图解迁移数据库是一项常见的任务,尤其是在从SQL Server迁移到Oracle数据库时。

虽然SQL Server和Oracle都是关系型数据库管理系统,但是它们在语法、功能和架构方面存在一些差异。

因此,迁移数据库需要一定的准备和技巧。

下面是一个图解的教程,以帮助您从SQL Server成功迁移到Oracle数据库。

1.确定需求和目标:在开始迁移之前,确保您清楚地了解迁移的需求和目标。

确定迁移的原因、迁移的时间范围以及迁移后的期望结果。

2.准备数据库迁移工具:为了顺利进行数据库迁移,您需要选择和准备合适的数据库迁移工具。

有一些商业工具可供选择,也有一些免费的开源工具可用。

确保选择一个适合您的迁移需求的工具。

3. 导出SQL Server数据库:使用SQL Server提供的导出工具,将需要迁移的数据库导出为一个可移植的文件。

这个文件将包含数据库的结构和数据。

4. 创建Oracle数据库:在Oracle数据库服务器上创建一个新的数据库,可以使用Oracle提供的工具,如SQL Developer或者通过命令行。

5. 导入SQL Server数据库到Oracle:使用之前选择的数据库迁移工具,将导出的SQL Server数据库文件导入到Oracle数据库中。

这个过程会将SQL Server数据库的结构和数据转换为Oracle数据库可识别的格式。

6. 修改语法和函数:由于SQL Server和Oracle在语法和函数方面存在差异,所以在迁移后可能需要修改一些SQL语句和函数。

确保您了解这些差异,并相应地修改代码。

7. 测试和验证:迁移数据库后,进行一系列的测试和验证,以确保迁移成功。

测试数据库的结构和数据的完整性,以及应用程序在新的Oracle数据库上的正常运行。

8. 迁移应用程序:如果您的数据库迁移是为了支持一个应用程序,那么在迁移数据库后,您还需要相应地迁移和配置应用程序。

从sqlserver向oracle导数据

从sqlserver向oracle导数据

从SqlServer向Oracle导数据以下介绍,使用SqlServer企业管理器提供的“数据转换服务”,从SqlServer向Oracle 数据库导数据。

其他数据库类同。

1 打开dts导入/导出工具2 选择源数据库3 选择目标数据库选择驱动后,可以点击新建,添加一个数据源,也可以选择已有的或者其他用户共享的文件数据源。

3.1 添加数据源点击【新建】图3.1-1这里有三种选择:●文件数据源(注:这种数据源可以和其他机器共享。

但是这种数据源是基于“系统数据源”或“用户数据源”创建的,在创建之前,请先确保你已经创建了“系统数据源”或“用户数据源”)●用户数据源●系统数据源如果不需要共享给其他用户,可以直接新建“用户数据源”或“系统数据源”。

下面我们分别介绍:1)先说创建“系统数据源”在图图3.1-1中选择“系统数据源”,点击【下一步】选择链接你的目标库的驱动程序,点击【下一步】点击【完成】在上图中给你的数据源取一个名字(我这里为“testOracleDs”),选择你要连接的TNS Service Name(数据库sid),录入User ID(用户名)。

然后点击【Test Connection】测试一下点击【OK】如果上图所示,我们的连接测试成功。

如上图所示,就可以选择刚才创建的“系统数据源”了。

2)创建“用户数据源”的方式与“系统数据源”类似3)创建“文件数据源”如果想将数据源共享给其他机器的用户,可以基于已创建的“系统数据源”或“用户数据源”创建一个“文件数据源”。

在图3.1-1中选择“文件数据源”,点击【下一步】选择驱动程序后,点击【下一步】选择要将当前数据源存储的位置点击【下一步】注:Service Name是一个已创建好的“系统数据源”或“用户数据源”的名字,我们这里输入1)中创建的testOracleDs,User Name和Password分别为对应的数据库用户名和密码,点击【OK】这里会出现上边的提示,直接点【是】就可以了(这里应该是由于,我们创建的这个“文件数据源”不能在选择“用户/系统DSN”时使用的原因,下边我们会说到)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle
下一步,完成,出现Microsoft ODBC for Oracle安装界面
[数据源名称]随便输入,比如sss
[说明]可以不填
[用户名称]填入要SQL Server数据导出到的Oracle用户名称,这里是scott
[数据库]选择要导出的数据所在的库,这里选择Northwind
3.下一步,选择目的
[目的]选择Microsoft ODBC for Oracle
[DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。
如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。
1.打开工具:
开始->程序->Microsoft SQLServer->导入和SQL Server数据导出数据
2.下一步,选择数据源
[数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。
[服务器]选择要导出数据的服务器,如果是本机,选择(local)
---导完数据后执行下面语句,生成把表名修改成大写的操作
select 'ALTER TABLE '||'"'||table_name||'"'||' RENAME TO '|| upper(table_name)||';' from user_tab_comments;
把生成的文件执行即可把此用户下的所有表名修改成大
[用户名]填入SQL Server数据导出到的Oracle用户名称,这里是scott
[密码]填入SQL Server数据导出到的Oracle用户使用的密码,这里是tiger
4.下一步,指定表复制或查询
如果要导出的内容是整个表,选择[从源数据库复制表和视图]
如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句
这里选择第一项[从源数据库复制表和视图]
5.下一步,选择源表和视图
点中要导出的表Products一行的复选框,目的、转换两栏就会出现内容。
目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句
6.下一步,保存、调度和复制包
选中ห้องสมุดไป่ตู้即运行
7.下一步,正在完成DTS导入/导出向导
[服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus scott/tiger即可连接到数据库,这里空着不填即可。
这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。
8.完成
提示“成功地将n个表从Microsoft SQLServer复制到了Oracle”
9.完成,关闭导入导出程序
注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Products表在oracle里查询就应该写成select * from scott."Products";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。
相关文档
最新文档