手把手教你Oracle数据库转换SQL Server
使用SSMA将Oracle数据库转成SQL Server 2008
使用SSMA将Oracle数据库转成SQL Server 2008SSMA的安装与授权步骤1: 先安装Oracle 11g 和Sql Server 2008。
步骤2:下载SSMA,或者向我勒索,然后安装……。
步骤3: 打开各种所需的服务(怎么打??????Win+R-------->>>services.msc---------->>>Enter)。
步骤4: 如果你有一个 dmp 文件(这是从Oracle导出来的一个备份的文件) ,先将他导入到Oracle中。
怎么导入呢????先创建一个用户Create user 用户名identified by 密码。
2.授权接着,可以打开命令行,可不是打开Sqlplus 哦。
如图imp userid=(上面创建的)用户名/ 密码 full=y file=文件路径步骤5:你导入完成了没? 不知道你数据量多少哦! 反正我话个把小时转完了……步骤6:打开SSMA新建一个项目步骤7:就此,基本完成了,然后就是 Click Connect to Oracle。
步骤8:接下来看看SQL中国研发中心的Blog:/b/sqlcrd/ 你会懂的;数据库的转化这里我们选择SSMA for Oracle 5.0为例介绍一下SSMA如何帮助您从Oracle迁移到SQL Server 2008 R2。
首先我们从这里下载SSMA for Oracle 5.0的压缩包,解压缩后有两个exe文件,SSMA for Oracle 5.0.exe是工具的安装包,SSMA for Oracle 5.0 Extension Pack.exe必须安装在SQL Server 2008 R2所在服务器,用来创建一些辅助运行需要的数据库表和存储过程等。
首次运行SSMA for Oracle需要一个License,如图1所示,你可以点击链接,然后根据提示填写个人信息后免费申请,下载保存之后返回这个对话框选择你保存License的目录然后点击Refresh License按钮即可运行SSMA for Oracle了。
通过ORACLE通用连接访问SQLServer数据库的方法
通过ORACLE通用连接访问SQLServer数据库的方法要通过Oracle通用连接访问SQL Server数据库,需要使用Oracle 的适配器来连接到SQL Server数据库。
以下是通过Oracle通用连接访问SQL Server数据库的方法:1. 安装并配置Oracle通用连接适配器:- 在Oracle数据库服务器上找到适配器的安装目录。
HS_FDS_CONNECT_INFO = server_nameHS_FDS_TRACE_LEVEL = offHS_FDS_SHAREABLE_NAME = /usr/local/bin/libodbc.so其中server_name是SQL Server数据库的主机名。
SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME = odbc)(ORACLE_HOME = /path/to/oracle_home)(PROGRAM = dg4odbc)其中/oracle_home是Oracle数据库的安装目录。
2.配置ODBC数据源:- 在Oracle数据库服务器上安装必要的ODBC驱动程序以连接到SQL Server数据库。
- 在ODBC数据源管理器中配置一个ODBC数据源,以便Oracle数据库可以通过该数据源连接到SQL Server数据库。
- 确保ODBC数据源名称与initodbc.ora文件中的server_name匹配。
3.创建数据库链接对象:- 在Oracle数据库服务器上创建一个数据库链接对象,该对象将用于连接到SQL Server数据库。
-使用CREATEDATABASELINK语句创建数据库链接对象,语法如下:CREATE DATABASE LINK link_nameCONNECT TO username IDENTIFIED BY passwordUSING 'data_source_name';其中link_name是链接名,username是在SQL Server数据库中的用户名,password是对应的密码,data_source_name是ODBC数据源的名称。
Oracle转换为Sql server微软SSMAOracle使用简介
SSMA for Oracle使用说明一、软件介绍及安装SSMA for Oracle是Sql Server迁移助手,可以将Oracle数据库迁移至Sql Server数据库。
软件:SSMA for Oracle 5.2.zip解压上面的压缩包,得到2个文件:SSMA for Oracle 5.2、SSMA for Oracle 5.2 Extension Pack,选择典型配置,将2个软件分别安装上。
其中SSMA for Oracle 5.2 Extension Pack安装完成后需要配置所连接的Sql Server数据库,在选择完数据库名,端口(默认1433),认证方式后,需要输入密码,录入与Sql Server一致的密码即可。
最后需要建立相关内容,按下图选择,并点击下一步,等待数据库配置完成后,在弹出对话框选择否,完成安装打开桌面快捷方式Microsoft SQL Server Migration Assistant for Oracle,会提示需要license,将oracle-ssma.license文件下载,并在对话框中选择到对应目录,点击RefreshLicense,即可使用。
二、配置及数据转换在软件中,打开Tool-Default Project Settings,在Migration Target Version选择对应的Sql Server数据库,一般是SQL Server 2008。
在Conversion中的Default schema mapping选择Schema to Schema,点击OK。
File-New Project新建一个转换项目,点击Connect to Oracle并输入各项信息:其中Provider和Mode如图所示;Server name填写服务地址,本机即为127.0.0.1;Server port填写oracle监听端口号,默认1521;Oracle SID填写创建数据库时的SID;用户名、密码按所需导入的用户填写。
oracle数据导入sql server
(所有脚本在文件末尾附件)1、先在oracle中建立表hs_position:并将数据导入临时表--基金持仓数据表DECLARECNT NUMBER;BEGIN-----------------O32创建临时接口数据库-------------------基金持仓数据表SELECT COUNT(*) INTO CNT FROM USER_TABLES WHERE TABLE_NAME = 'HS_POSITION';IF CNT = 0 THENEXECUTE IMMEDIA TE 'CREATE TABLE HS_POSITION(RECORDDATE NUMBER(8),FundCode V ARCHAR2(8),CombiID NUMBER(12),SecuCode V ARCHAR2(20),MarketID V ARCHAR(1),CurrentAmount NUMBER(16,2),MarketValue NUMBER(16,2),BuyAmount NUMBER(16,2),BuyBalance NUMBER(16,2),SALEAMOUNT NUMBER(16,2),SaleBalance NUMBER(16,2),BuyFee NUMBER(16,2),SaleFee NUMBER(16,2),OnlineAmount NUMBER(16,2),OfflineAmount NUMBER(16,2),RECORDTIME Number(6))';END IF;END;BEGIN--将数据写入临时表insert into HS_POSITIONSELECT u.l_date,F.VC_FUND_CODE "FUNDCODE",U.L_BASECOMBI_ID "COMBIID",S.VC_REPORT_CODE "SECUCODE",U.C_MARKET_NO "MARKETID",SUM(U.L_CURRENT_AMOUNT) "CURRENTAMOUNT",SUM(U.L_CURRENT_AMOUNT * SF_A VG_PRICE(U.L_FUND_ID, U.VC_INTER_CODE, U.C_INVEST_TYPE, u.l_date)) "MARKETVALUE",SUM(U.L_BUY_AMOUNT) "BUYAMOUNT",SUM(U.EN_BUY_BALANCE) "BUYBALANCE",SUM(U.L_SALE_AMOUNT) "SALEAMOUNT",SUM(U.EN_SALE_BALANCE) "SALEBALANCE",SUM(U.EN_BUY_FEE) "BUYFEE",SUM(U.EN_SALE_FEE) "SALEFEE",SUM(SP.L_UNCIRCULATED_AMOUNT) "ONLINEAMOUNT",SUM(SP.L_YJUNCIRCULATED_AMOUNT) "OFFLINEAMOUNT" ,TO_CHAR(SYSDATE, 'hh24miss')FROM ThisUNITSTOCK U, ThisSTOCKINFO S, ThisSPECSTOCK SP,tfundinfo fWHEREU.VC_INTER_CODE = S.VC_INTER_CODEAND U.L_UNIT_ID = SP.L_UNIT_ID(+)AND f.l_fund_id = u.l_fund_idAND S.C_ASSET_CLASS <> 6AND u.l_date >= '20090101'AND u.l_date <= '20090531'--导入临时表数据时,可选择合适的时间段分区间导入,最好时间不超过半年,可先将查询语句查询看看资料量决定时间段AND u.l_date=s.l_dateAND u.l_date = sp.l_date(+)GROUP BY (u.l_date,F.VC_FUND_CODE, U.L_BASECOMBI_ID, S.VC_REPORT_CODE, U.C_MARKET_NO);--基金历史资产insert into HS_POSITION (RECORDDATE,FundCode,SecuCode,MarketID,MarketValue,BuyAmount,BuyBalance,SALEAMOUNT,SaleBalance,RECORDTIME)SELECT F.L_DATE RECORDDATE,FI.VC_FUND_CODE FUNDCODE ,'ZHZCXX' SECUCODE ,'1' MARKETID,F.EN_FUND_V ALUE MARKETV ALUE ,F.EN_FUND_TOTAL_V ALUE BUY AMOUNT ,F.EN_FUND_SHARE BUYBALANCE ,F.EN_CURRENT_CASH SALEAMOUNT ,NVL(H.DB, 0) SALEBALANCE,TO_CHAR(SYSDATE, 'hh24miss')FROM VHISFUNDASSET F, TFUNDINFO FI,(SELECT L_DA TE,L_FUND_ID, SUM(EN_DEAL_BALANCE) DB FROM THISHGREGISTERWHERE C_ENTRUST_DIRECTION = 6 AND C_REDEAL_FLAG = 0GROUP BY L_FUND_ID,L_DATE) HWHERE F.L_FUND_ID = H.L_FUND_ID(+)AND F.L_FUND_ID = FI.L_FUND_IDAND F.L_DATE = H.L_DA TE(+)AND F.L_DATE >='20090101'AND F.L_DATE<='20090531'--注意,历史资料不要重复导入,造成多余数据COMMIT;END;2、从Oracle 往Microsoft sql server 导入资料:在开始->所有程序->Microsoft SQL Server->导入和导出数据开启导入界面下一步:选取OracleProvider点击【属性】,跳出以下画面,设置数据链接:【确定】后回到主界面,下一步:下一步:下一步,等待时间比较久:下一步:选择立即运行,下一步:选择目的数据库要导入的表完成,开始导入,需要等待时间比较久:若表不存在会自动创建,若表存在,创建会失败完成导入,【完成】离开。
oracle到sqlserver的数据迁移方案__理论说明
oracle到sqlserver的数据迁移方案理论说明1. 引言1.1 概述本文将详细介绍将Oracle数据库迁移到SQL Server数据库的方案,包括理论说明及具体操作步骤。
Oracle和SQL Server是目前企业常用的两种关系型数据库管理系统(DBMS),它们在应用场景、功能特性以及数据存储方式等方面存在一些差异。
因此,在进行数据库迁移时,需要仔细分析比较两种数据库系统,选择适合的迁移方案,并进行必要的数据准备工作。
1.2 文章结构本文共分为下述部分:引言部分提供对整篇文章内容的总览和概述;在数据迁移方案说明中,我们将就Oracle和SQL Server这两种数据库进行比较,并探讨选择适当迁移方案所需考虑的因素;接着,我们将详解实际的迁移过程,包括导出Oracle数据库数据、创建SQL Server数据库结构以及导入数据到SQL Server数据库;最后,在迁移后验证与优化部分,我们将讨论如何验证迁移后数据的一致性,并提供一些建议来优化SQL Server数据库的性能;最后得出结论。
1.3 目的本文旨在帮助读者了解Oracle到SQL Server的数据迁移过程,并提供相关理论和指导。
通过阅读本文,读者将能深入了解两种数据库系统的区别,掌握数据迁移的基本原理和方法,并具备迁移后验证与优化的能力。
无论是计划将现有Oracle数据库迁移到SQL Server,还是为新项目选择合适的数据库系统,本文都能提供有用的参考和指导。
2. 数据迁移方案说明:2.1 Oracle和SQL Server的比较:Oracle和SQL Server是两个广泛使用的关系型数据库管理系统。
虽然它们都有类似的功能,但在某些方面存在一些差异。
- 性能和可扩展性:Oracle被认为在大型企业级应用和高负载环境中具有更好的性能表现,而SQL Server则更适用于中小型企业或低负载环境。
- 成本:一般来说,使用Oracle可能需要更高的成本,包括购买许可证、维护费用等。
oracle数据库链接服务器查询sqlserver的写法
oracle数据库链接服务器查询sqlserver的写法要在Oracle数据库中链接SQL Server并执行查询,可以使用以下步骤:1. 从Oracle的SQL Developer或其他工具中,使用Oracle提供的JDBC驱动程序链接到SQL Server数据库。
2. 编写一个包含连接字符串的SQL语句。
连接字符串包括SQL Server的IP地址、端口号、数据库名称、用户名和密码。
例如,连接字符串可以是这样的:jdbc:sqlserver://10.10.10.10:1433;databaseName=TestDB;user=sa; password=1234563. 在Oracle数据库中创建一个数据库连接,其中包括连接字符串。
例如,可以使用以下PL/SQL代码创建一个数据库连接:CREATE DATABASE LINK sqlserver_link CONNECT TO "sa" IDENTIFIED BY "123456" USING 'jdbc:sqlserver://10.10.10.10:1433;databaseName=TestDB;user=sa; password=123456';4. 在该连接上执行 SELECT 语句以查询SQL Server数据库中的数据。
例如,可以使用以下SQL代码执行查询:SELECT * FROM mytable@sqlserver_link;这将返回来自SQL Server数据库中名为 'mytable'的表中的所有行。
注意,使用Oracle与SQL Server之间的联接需要一些配置和测试,以确认是否可以正确地连接到SQL Server数据库。
具体取决于您的环境和要求。
.NET框架下Oracle到SQL Server迁移
系统中的Oracle如果在你的网络中存在Oracle服务器,你需要搞清楚为什么需要它的理由——谁在使用它,什么应用程序要用到它,在它上面正运行着什么应用程序等等。
谁在使用它?首先你应该搞清楚谁在使用Oracle服务器。
否则还没有得出答案就匆匆搬走服务器很可能会促成大错。
当然,真要这么做倒也是一种很快就能找出数据库用户的方法。
但我们还是劝你万万不可。
网络管理员可能有监视或记录Oracle使用情况的执行过程。
开发人员可能要采用当前的服务器开发应用程序。
经理们可能要根据数据库保存的数据得出分析报告或利用 Oracle 后端做出企业决策。
而且数据库的用户完全可能遍及世界各地。
在确定因从 Oracle 到 SQL Server这一迁移过程而受到影响的用户之时,你必须考虑到以上所有这些可能性。
什么应用程序要用到它?现在假设你一个挨一个地问遍了所有的用户以了解谁在使用 Oracle ?而他们的回答恰恰都是否定的,那么你接下来就应该查看记录文件了解哪些工作站正在访问数据库。
在你检查这些记录文件的时候,你可能会发现:不仅仅只有工作站才访问数据库,其他服务器也要访问数据库。
好,拿起笔来记下正在访问数据库的服务器,然后找出这些服务器访问数据库的特定应用程序。
通过比较数据表内保存的数据和服务器上运行的应用程序即可确定出这类应用程序。
Oracle服务器上在运行什么应用程序?既然你已经知道了访问数据库的用户和外部应用程序,现在你就需要找出数据库服务器自身正在运行的应用程序了。
这些应用程序可能是数据库的存储过程(以及相应的触发器、定制数据类型以及安全性设置等)也可能是不在 Oracle 以内运行的独立应用程序。
你尤其得注意添加到服务器之上的 Oracle 开发工具。
迁移到 SQL Server你永远都不要冲动地立即拨去Oracle 服务器的电源装上在 SQL Server。
关键服务器在迁移的时候一定要三思而后行。
为什么这个过程要专门起个迁移(migration)这名字?还不是因为迁移总不是突然发生的。
Oracle数据库导入到SqlServer步骤(图文篇)
Oracle数据库导入到SqlServer步骤1、在要导入的数据库上点右键,点击“任务”-“导入数据”。
2、在“导入导出向导”中点击“下一步”。
3、选择数据源为“Microsoft OLE DB Provider for Oracle”。
4、接下来点击“属性”。
5、在接下来的“数据库连接属性”输入连接信息,包括“服务器名称”、“用户名”、“密码”、一定要填“允许保存密码”。
点击“测试连接”。
6、测试成功。
7、点击“确定”,点击“下一步”。
8、指定要复制的表或视图。
9、接下来选择“表和源视图”。
10、选中要导入的表,点击“下一步”。
11、默认,然后点击下一步。
12、点击“完成”。
13、查看数据库,可以看到表都已经导入。
14、不过导入时出现了一些错误,查看错误报告如下,可以看出是由于编码导致,经查询,Oracle是UTF-8编码,而Sql Server不支持utf-8,所以无法导入。
15、于是苦苦百度,最终的解决办法是:先从Oracle中把数据复制出来到Excel。
方法:点击红框的地方,全选数据,然后Ctrl+C复制。
16、新建一个Excel,Ctrl+V粘贴。
17、然后全选第二列到最后一列,第一列为序号,不用选,然后Ctrl+C复制。
18、接下来,在Sql Server里右键点击要导入数据的表,选择“打开表”。
19、左键点击红框全选,然后Ctrl+V粘贴。
20、接下来就看到想要的数据已经粘贴进去了,也没有乱码,按Ctrl+S保存即可。
21、其他出错的表,如法炮制。
22、最后,从Oracle导入数据到Sql Server成功结束。
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中创建好对应的表结构。
推荐-Oracle与SQLServer互访设置 精品
Oracle与SQLServer相互访问的设置方法文档版本:V1.0Oracle 版本:Oracle 10.2.X及以上(Oracle 10.1不支持透明网关)SQLServer版本:SQLServer2000及以上一、Oracle访问SQLServerOracle 访问SQL Server一般有两种方式,一是通过ODBC转换,二是通过Oracle一个叫做“透明网关”的组件来访问。
ODBC的方法效率低,而且这种模式在Oracle只能通过Select 语言查询SQLServer的内容,而不能做Update/Insert/Delete,因此不推荐这种访问方式,下面介绍第二种透明网关的方式。
配置情况:1、Oracle服务器和SQLServer服务器在同一台电脑上。
电脑名称为:LUOYONG,Oracle 数据库及用户名为:TEST/TEST@ORCL2、SQLServer中已有一数据库名为:MYTEST,登录名为:NFHIS,登录口令:999999,如图:配置步骤:1、查询已安装的Oracle版本是否是10.2.X,如果不是则需要换成10.2,查询步骤如下:A:在控制台窗口中打开sqlplus,如下:如果当前数据库版本是10.1(如下图),则需要先将原Oracle卸载,再安装Oracle10.2,如果已安装的Oracle版本是10.2,则只需要再安装透明网关就行了。
2、从公司内部服务器“相关软件”中下载“Oracle102ForWindow“(Oracle 10.2安装程序),以及”Oracle102gateways”(Oracle10.2透明网关组件)。
3、先安装Oracle10g数据库,再安装透明网关组件。
确记:两个程序必须要安装到同一个目录中。
(大家在研究一个自己熟悉的软件时在首次测试使用时最好采用默认安装目录以及安装选项,以后熟悉了再考虑更换软件)Oracle数据库安装:(略)Oracle透明网关安装如下:双击Oracle102gateways中的Setup.EXE,安装主要的几个步骤及选项如下:(选择安装目录)假设Oracle数据库程序以及透明网关都安装在:D:\oracle\product\10.2.0\db_1(选上访问到SQLServer的选项)(录入服务器名称及数据库名称)注1:其它采用默认安装选项注2:如果Oracle和透明网关不在一台电脑上,则系统还会提示建立侦听。
Oracle和Sql Server数据库互访
在我们目前的工作中,经常要用到两种数据库,SQL Server 和Oracle,那么怎么实现两种数据库之间的数据互访呢,以下是我搜集整理的有关这部分的内容,并测试通过。
希望能给各位同事提供一个参考,欢迎拍砖Oracle10g透明网关访问sqlserveroracle的透明网关是oracle直接访问异构数据库的利器。
在9i中,透明网关是包含在数据库安装程序中的,在安装数据库软件过程中可以选择;10g中,oracle把透明网关独立出来,需要单独下载安装。
本文主要讨论在oracle下如何配置透明网关去访问sqlserver数据库。
在11g 之前,for sqlserver的透明网关只能安装在windows操作系统上,从11g开始,for sqlserver的透明网关也可以安装在linux/unix系统中。
本文讨论的是10g下的透明网关,所以,首先要准备一个安装有windows 操作系统的服务器。
在本例中,涉及到三个服务器:ORACLE DB服务器:OS: LINUX AS 4 + ORACLE 10203IP: 10.10.10.1透明网关服务器:OS: WINDOWS XP SP2IP: 10.10.10.2SQLSERVER服务器1:OS: WINDOWS XP + SQLSERVER 2000IP: 10.10.10.3 PORT: 1433SQLSERVER服务器2:OS: WINDOWS XP + SQLSERVER 2000IP: 10.10.10.4 PORT: 1422如果ORACLE DB服务器操作系统是WINDOWS的话,可以把透明网关安装在ORACLE数据服务器上。
下面是详细步骤:一、透明网关连接到一个sqlserver上1、下载透明网关10g下,透明网管是一个单独的组件,需要单独下载安装。
/technology/software/products/database/oracle10g/ htdocs/10201winsoft.html这个安装包有200多m。
SQLSERVER与ORACLE互连
SQLSERVER与ORACLE互连不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂家的具体实现技术不一样,如:在SQLSERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互连。
而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。
目前ORACLE利用透明网关可以实现和SQLSERVER,SYBASE,DB2等多种数据库的互连。
一、透明网关透明网关的体系结构很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连,其中透明网关服务器可以与ORACLE或SQLSERVER数据库在同一台主机上,也可以是在独立的一台主机上。
1、安装透明网关ORACLE默认安装是不安装透明网关的,需要自定义选择安装。
安装过程:运行oracle安装软件,安装类型选自定义,选择里面的安装oracle transport gateway,下面的oracle transparent gateway from Microsoft sql server,这里可以看到,还可以选择其他数据库,根据需要安装。
剩下的按提示进行即可。
确认透明网关安装成功。
会出现X:\oracle\ora92\tg4msql目录,配置文件inittg4msql.ora。
2、配置(1)、新增或修改已有配置文件新增一个配置文件或者修改已有inittg4msql.ora.内容如下:HS_FDS_CONNECT_INFO = "SERVER=172.16.0.106; DAT ABASE=hhcar"HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER说明:Server是指连接的Sql server所在主机DA TABASE是指要连接的数据库新增的配置文件的名称必须如下:initXXX.ora;其中XXX是自定义,在下面配置listener文件时有用。
从Oracle连接SQLServer
Oracle连接SQL Server配置具体步骤如下:1.插件下载Oracle连接SQL Server需要安装插件(Gateways),下载的时候,要选择与Oracle 数据库对应的版本,否则不能被Oracle数据库使用,另外对Oracle数据库的版本也有所要求,最好选用企业版,简化版不容易安装插件。
本次使用的数据库和插件版本是:Oracle(11.2.0.1.0)、SQL Server(2005)和Gateways(11.2.0.1.0) Gateways(win32_11gR2_gateways.zip)大小567M,下载地址为:/technetwork/database/enterprise-edition/downloads/112010-win32soft -098987.html2.安装网关网关的安装可以选择和Oracle数据库在同一主机上,也可以不在同一主机上。
本文选择在同一主机上安装,同时选择和Oracle不同的安装目录。
具体如下:●修改安装目录,如D:\OraGtw\product\11.2.0\tg_1●选择需要安装的插件,如Oracle Database Gateway for Microsoft SQL Server 11.2.0.1.0如10.12.30.18/SQLSERVER2008/ITDC-HR●配置监听器并设置端口,建议修改端口。
如1522●其他保持默认,至Finish。
3.配置网关和Oracle服务器●修改网关的初始化参数文件中的连接字符串,在$ORACLE_GATEWAYS/11.2.0/tg_1/dg4msql/admin/initdg4msql.ora中,打开initdg4msql.ora 文件,如下所示:(原):HS_FDS_CONNECT_INFO=[10.12.30.18]/SQLSERVER2008/ITDC-HR(修改为):HS_FDS_CONNECT_INFO=10.12.30.18/SQLSERVER2008/ITDC-HR注意,网关的版本同,语法也不相同,11g的语法如下:HS_FDS_CONNECT_INFO = <SQL服务器>:<端口>/<数据库>HS_FDS_CONNECT_INFO = <SQL服务器>/<实例>/<数据库>●修改网关监听器配置,定义实例名SID。
oracle到sqlserver的数据迁移方案 -回复
oracle到sqlserver的数据迁移方案-回复Oracle到SQL Server的数据迁移方案数据迁移是将数据从一个系统迁移到另一个系统的过程。
在某些情况下,企业可能需要将其数据从Oracle数据库迁移到SQL Server数据库。
这可能是因为企业决定改用SQL Server作为其首选数据库系统,或者因为与SQL Server的集成和兼容性更好。
无论原因如何,正确的数据迁移方案至关重要,以确保数据的完整性和准确性。
在本文中,我将逐步介绍将数据从Oracle迁移到SQL Server的过程。
1. 确定迁移需求和目标:作为迁移计划的第一步,企业应该明确迁移的具体需求和目标。
这可能包括确定需要迁移的表、视图、存储过程和触发器,以及迁移后的数据准确性要求。
了解这些需求和目标将有助于确定正确的迁移方法和方案。
2. 分析源数据库:在进行任何迁移之前,需要深入分析源Oracle数据库的结构和数据。
这包括了解数据库的表结构、索引、约束和触发器等。
还需要了解数据库中所使用的数据类型和特殊功能,以确定在迁移过程中是否需要进行任何特殊处理或转换。
3. 创建目标数据库:在SQL Server中创建一个新的目标数据库,该数据库将用于存储迁移后的数据。
确保目标数据库的设置和配置与源Oracle数据库相匹配,并且足够容纳迁移后的数据。
4. 创建目标表结构:根据源Oracle数据库的分析结果,创建目标数据库中的相应表结构。
确保表结构在SQL Server中与Oracle中的结构匹配,并且数据类型和长度等设置正确。
5. 转换数据类型:在Oracle和SQL Server之间存在一些不同的数据类型。
为了确保数据的准确性和一致性,需要进行数据类型转换。
这可能涉及到将Oracle 的数据类型转换为SQL Server中相应的数据类型,并注意一些特殊的数据类型和长度限制。
6. 导出数据:使用Oracle的数据导出工具,将源数据库中的数据导出为一个或多个文件。
oracle 与SQL Server 数据库之间的交互
Oracle 与SQL Server 数据库之间的交互一.使用Oracle 透明网关从oracle 端连Sql Server 数据库Step1 安装oracle 透明网关Condition: 连Sql server 的网关的操作系统必须是window ,因为在网关上还必须得装一个sql sever 的客户端,用于监听sql server 服务器发来的消息。
安装透明网关组件的软件在oracle 安装盘里面,不需要另行下载。
安装方法与步骤:1.启动安装程序以后,选择安装类型为定制2.选择oracle transparent gateways for Miscrosoft Sql Server ,然后点击下一步,装完即可。
Step 2 安装sql server 客户端(这一步不再演示)Step 3 配置透明网关与Oracle 服务器1. 修改ORACLE_HOME/tg4msql/admin下的inittg4msql.ora 文件,配置好参数其中HS_FDS_CONNECT_INFO=jysc.msdb的jisc代表sql server 的服务名,msdb是需要连接的数据库。
2 配置oracle 服务器的listener修改listener.ora 文件,添加以下参数,作用是使监听器能够监听网关发过来的信息(SID_DESC =(PROGRAM = tg4msql)(ORACLE_HOME = D:/OraHome_1)(SID_NAME = tg4msql))其中SID_NAME 可以自己取名。
3 配置网络服务名tnsnameLKSQL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = xuchunyang)(PORT = 1521)))(CONNECT_DA TA =(SID = tg4msql))(HS = OK))这里的HOST=xuchunyang ,xuchunyang 是透明网关服务器的服务器名,也可以是主机IP 地址,(SID = tg4msql) 的tg4msql不是固定名,需跟上面listener SID_NAME 一致。
Oracle与SQLserver数据库互建跨库链接
Oracle与SQLserver数据库互建跨库链接日常经常会碰到数据库与数据库之间相互做连接来互相查询或者增删改数据的问题,同类型的数据库之间是比较方便的,比如oracle 就带有DBLINK的功能,可以很方便与同是oracle的数据库做连接,但是不同类型数据库之间的连接就比较麻烦一些,需要做很多设置才能生效,这里就简单的介绍一下oracle与sqlserver之间的连接方式,供参考。
1.建立oracle到sqlserver的跨库链接(采用通用链接方式)建立数据源(odbc)SQL Server 数据源:IP:192.168.3.101DB:DB_CustomSMSUser: userPwd: ********ODBC数据源管理器——系统DSN配置名称、描述(可不填)、服务器IP配置访问的用户和密码配置默认的数据库点下一步继续,完成后可以测试,看看是否通常。
可以在CMD窗口中用 telnet IP 1433(端口)看看是否网络通畅。
ODBC 配置完成。
Oracle配置开始:1) HS配置F:\oracle\product\10.2.0\db_1\hs\admin创建initDB_CustomSMS.ora# This is a sample agent init file that contains the HS parameters that are# needed for an ODBC Agent.## HS init parameters#HS_FDS_CONNECT_INFO = DB_CustomSMSHS_FDS_TRACE_LEVEL = 0#HS_AUTOREGISTER = TRUE## Environment variables required for the non-Oracle system ##set <envvar>=<value>2) 配置listener.ora:路径:F:\oracle\product\10.2.0\db_1\network\admin\listener.ora #listener.ora Network Configuration File:# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(SID_NAME = DB_CustomSMS) /*注意这里要写sql数据库的sid*/(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)(PROGRAM=hsodbc)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = crm)(PORT = 1521)) ))3) tnsnames.ora增加:DB_CustomSMS =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.168.4.8)(PORT = 1521))/*ORACLE 机器的IP*/(CONNECT_DATA =(SID = DB_CustomSMS) /*注意这里要写sql数据库的sid*/)(HS = OK))4) 创建Database links (database 用第3步中的DB_CustomSMS)重启tns5) 测试异构语句的写法select “SM_ID”,”Reserve1″,”RecvTime”,substr(to_char(“RecvTime”,’yyyymmdd hh24mmss’),1,8), substr(to_char(“RecvTime”,’yyyymmddhh24mmss’),10,6)from tbl_SMReceived@sms awhere “DestAddr” =’1065755502938888′and nvl(“Reserve1″,’0′) != 1update tbl_SMReceived@smsset “Reserve1″ = ‘ ‘where “SM_ID”= 81SQL SERVER 2005 通过链接服务器(Linked Server)访问ORACLE 9i 的方法1)在SQL_SERVER 2005服务器上安装Oracle 9i的客户端。
oracle连接ODBCsqlserver数据源的详细步骤
oracle连接ODBCsqlserver数据源的详细步骤⼀. 添加数据源ODBC1.打开数据源或者2.添加数据源3.选择SQL Server4.名称:输⼊ODBC数据源名称描述:随意服务器:输⼊sqlserver服务器名5.SQLSERVER登陆⽤户:登录ID⼀般是:sa ;密码:只有你知道6.选择你连接的数据库7.完成8.测试⼀下⼆.检查DG4ODBC驱动是否已经安装⽅法如下:在Oracle服务器上,cmd窗⼝中执⾏命令(dg4odbc或hsodbc)上图代表安装了DG4ODBC驱动(如果没有安装,需⾃⾏下载安装,此处不介绍具三.配置hsodbc此⽬录下默认存在initdg4odbc.ora,复制这个⽂件,粘贴到上图⽬录中,并将后复制的⽂件改名为initdddb.ora,⽤记事本打开就该配置并保存如下图四.配置监听listener(服务端透明⽹关监听)五.重启监听在命令提⽰符窗⼝依次输⼊如下命令停⽌监听:lsnrctl stop启动监听:lsnrctl start六. 配置TNS(客户端服务命名)DDDB:本地oracle服务命名HOST:oracle服务器IPPORT:监听端⼝SID:刚才命名的SID配置七.创建oracle的DBLINK或者不创建第六步,直接创建DBLINKcreate public database link test_sql connect to “sqlserver⽤户名” identified by “sqlserver密码” using ‘(description=(address= (protocol=tcp)(host=xxx.xxx.xxx.xxx)(port=1521))(connect_data=(SID=SID名称))(HS=OK))';⼋.查询select * from 表名@Test_Sqlgetaway到此这篇关于oracle连接sqlserver数据源ODBC的详细步骤的⽂章就介绍到这了,更多相关oracle sqlserver数据源ODBC内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
SQL SERVER2005中利用dts将oracle数据库导入到SQL SERVER2005
SQL SERVER2005中利用dts将oracle数据库导入到SQL SERVER2005假设oracle安装在另一台IP地址为192.168.1.202的机器上,而你的机器上安装了MS SQL SERVER2005,现在你要将oracle中的一个数据库导入进来。
前提条件:在本机安装oracle客户端,注意必须是安装版的,使用绿色版不可以。
步骤:1:选择开始->oracle->配置和移植工具->Net Manager 就会弹出如下界面2:选中服务命名,然后点击左上角的加号,进入添加服务向导:3:输入网络服务名(如ConnectTest),点击下一步,选择默认的TCP/IP(Intenet协议),继续点下一步得到如下界面4:主机名填写oracle服务器所在电脑的IP地址(这里是192.168.1.202),端口要和服务器匹配,oracle默认端口是1521,再点下一步这里如何填写可参照说明,我使用的是SID,在服务器中的SID号是ORCL5:配置完后,继续点下一步,点击测试,看看配置是否正确。
第一次一般是会显示无法连接的,那是因为链接使用的是oracle默认的用户名和密码,你必须修改登录名和密码,修改后再次点测试,如果显示如下界面,则表示测试成功6:现在打开sql server2005的管理工具,在sql server中建个数据库,例如ssminfo,右击数据库选择所有任务->导入数据就会弹出一个导入向导,如下:7:在data source中选择Microsoft OLE DB Provider for Oracle,点击Properties,得到如下界面:service name就是你刚才在Net Manager中新建的那个服务名,在这里是ConnectTest。
正确填写oracle服务器的登录名和密码。
8:选中allow saving password,然后选择Test Connection,如果成功,界面如下9:测试成功后,选择OK,点next,得到如下界面,这里的配置根据自己实际情况填写,我的如下10:点击NEXT,根据实际情况选择,我选择的是copy data from one or more tables or views,再NEXT。
通过ORACLE通用连接访问SQLServer数据库的方法
通过ORACLE通用连接访问SQLServer数据库的方法以下的例子,要通过ORACLE通用连接,建立三个ORACLE的DATABASELINK,分别用于访问SQL2000服务器的ET2000,OFSS2000和BK2000数据库.1.在ORACLE服务器上,新建三个ODBC系统数据源,名称分别为ET2000,OFSS2000,BK2000;三个数据源都访问目标的SQLSERVER实例,不同之处仅在与默认连接的数据不同.2.在ORACLE服务器上,ORACLE安装目录(本例中是D:\oracle\product\10.2.0\db_1\)的hs\admin目录下,参照inithsodbc.ora创建initET2000.ora参数配置如下:其中ET2000是默认连接ET2000数据库的ODBC 系统数据源名称HS_FDS_CONNECT_INFO = ET2000HS_FDS_TRACE_LEVEL = 0类似地,创建initOFSS2000.ora和initBK20003.在ORACLE服务器上,ORACLE安装目录(本例中是D:\oracle\product\10.2.0\db_1\)的NETWORK\ADMIN目录下,修改tnsname.ora增加ET2000 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.180)(PORT = 1521)))(CONNECT_DATA =(SID = ET2000))(HS=OK))类似的,增加OFSS2000和BK2000的配置段4.在ORACLE服务器上,ORACLE安装目录(本例中是D:\oracle\product\10.2.0\db_1\)的NETWORK\ADMIN目录下,修改listener.ora在这个段中,增加SID_DESC的配置SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(SID_NAME = ET2000)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = hsodbc))(SID_DESC =(SID_NAME = OFSS2000)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = hsodbc))(SID_DESC =(SID_NAME = BK2000)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = hsodbc)))5.重启ORACLE服务器TNS服务6.创建ORACLE的DATABASELINK对象ET2000.CREATE PUBLIC DATABASE LINK ET2000CONNECT TO "sa" (user)IDENTIFIED BY "000000" (password)USING 'ET2000' (tns || DBNAME)/类似的建立DATABASELINK OFSS2000和BK2000. 这里用sa用户连接,一般倒数据时用一个有SELECT所有表权限的用户就可以了7.现在就可以使用DATABASELINK通过ORACLE客户端访问SQL 数据库了,例如:SELECT * FROM "tKHXX"@ET2000 访问ET2000库的tKHXX表SELECT * FROM "tOF_JJZH"@OFSS2000 访问OFSS2000库的tOF_JJZH表要注意,表名和字段名最好加双引号,否则会被按大写解析,可能导致报对象不存在的错误.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
手把手教你Oracle数据库转换SQL Server
2010年11月26日14:33IT168
字号:T|T
近期为公司的一个项目数据库进行了转换,将Oracle的Db转换为SqlServer(2000或2005均可),一开始在网上找了一些资料,发现有个工具叫SwisSql的,尝试了一下,没成功,继续查找.后来经同事提醒,使用SqlServer的导入和导出工具,尝试一下,确实可以转换.操作步骤如下所述.
所需要的环境比较简单,就是本机可以同时连接Oracle和SqlServer即就,注意:这里不必为Oracle数据库建立ODBC,采用直连方式即可,需要新建一个SqlServer数据库,用于加载Oracle的数据.下面以SqlServer2005为例
l 步骤1
打开Sqlserver,如图-1,选中目标数据库,右键->任务->导入数据
转播到腾讯微博
图-1
l 步骤2:
选择”导入数据”菜单,会出现向导,点击下一步,出现如图-2所示界面
转播到腾讯微博
图-2
这里要说明下,最好选择”MicroSoft OLE DB Provider for Oracle方式,选择另外一种方式导入数据时会报错.
输入服务器名称和用户密码,测试成功后,一定要勾选”允许保存密码”
l 步骤3
此步骤就是选择目标数据库,如图-3所示
转播到腾讯微博
图-3
步骤4
导入数据有两种方式,一种方式是可视化选择Db表或视图;另一种方式是通过sql语句实现,一般批量导入选择第一种方式
转播到腾讯微博
图-4
l 步骤5
此步骤就是选择我们需要导入的Db对象,如图-5所示
转播到腾讯微博
图-5
这里说明一下,如果oracle中表的列数据类型没有匹配成功,可以直接点击”编辑”按钮,直接编辑即可
选择好导入Db对象以后,点击”下一步”或”完成”,就开始导入.一般来说,如果数据比较正常,不是特殊的Oracle数据,都是可以导入的.
下面说下我操作过程中遇到的问题,希望给大家有所提醒
1. 导入以后的Db表,可能主键或外键会丢失,需要我们自己去创建主键,自己写sql语法实现就好了.
2. Oracle中blob或clob类型的数据,在此处是无法导入的,需要我们手工写代码导入.比如表A,我们可以先用上述方法将非blog或clob字段的数据导进来,然后写代码,执行update语句,将字段值写入其中即可
3. 如果数据格式不符合条件,也不是不可以的,比如日期型字段,oracle中可能这样也会存储0200-9-12,导入时这行数据就会报错,因为不符合日期类型格式,需要调整.
4. Oracle转换至SqlServer2000或SqlServer2005,所产生的结果是不一样
的,这个大家要注意.应该说,2005比2000要更加精确,无论是对数据还是对表结构
总之,这次导入还是比较顺利的,更重要的是比较简单,比使用第三方工具要方便很多,因此,有些需求的朋友推荐此方法。