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中
如何将SQLServer2005中的数据同步到Oracle中有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。
不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。
假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。
1.在Oracle中建立对应的contract 和contract_project表,需要同步哪些字段我们就建那些字段到O racle表中。
这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行:SELECT*FROM msdb.dbo.MSdatatype_mappingsSELECT*FROM msdb.dbo.sysdatatypemappings来查看SQLServer和其他数据库系统的数据类型对应关系。
第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。
根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。
ORACLE bigint NUMBER1931ORACLE binary BLOB NULL01ORACLE binary RAW-141ORACLE bit NUMBER131ORACLE char CHAR-141ORACLE char CLOB NULL01ORACLE char VARCHAR2-141ORACLE datetime DATE NULL01ORACLE decimal NUMBER-131ORACLE double precision FLOAT NULL01ORACLE float FLOAT NULL01ORACLE image BLOB NULL01ORACLE int NUMBER1031ORACLE money NUMBER1931ORACLE nchar NCHAR-141ORACLE nchar NCLOB NULL01ORACLE ntext NCLOB NULL01ORACLE numeric NUMBER-131ORACLE nvarchar NCLOB NULL01ORACLE nvarchar NVARCHAR2 -141ORACLE nvarchar(max) NCLOB NULL01ORACLE real REAL NULL01ORACLE smalldatetime DATE NULL01ORACLE smallint NUMBER531ORACLE smallmoney NUMBER1031ORACLE sysname NVARCHAR2 12841ORACLE text CLOB NULL01ORACLE timestamp RAW841ORACLE tinyint NUMBER331ORACLE uniqueidentifier CHAR3841ORACLE varbinary BLOB NULL01ORACLE varbinary RAW-141ORACLE varbinary(max) BLOB NULL01ORACLE varchar CLOB NULL01ORACLE varchar VARCHAR2-141ORACLE varchar(max) CLOB NULL01ORACLE xml NCLOB NULL01ORACLE bigint NUMBER1931ORACLE binary BLOB NULL01ORACLE binary RAW-141ORACLE bit NUMBER131ORACLE char CHAR-141ORACLE char CLOB NULL01ORACLE char VARCHAR2-141ORACLE datetime DATE NULL01ORACLE decimal NUMBER-131ORACLE double precision FLOAT NULL01ORACLE float FLOAT NULL01ORACLE image BLOB NULL01ORACLE int NUMBER1031ORACLE money NUMBER1931ORACLE nchar CHAR-141ORACLE nchar CLOB NULL01ORACLE ntext CLOB NULL01ORACLE numeric NUMBER-131ORACLE nvarchar CLOB NULL01ORACLE nvarchar VARCHAR2-141ORACLE nvarchar(max) CLOB NULL01ORACLE real REAL NULL01ORACLE smalldatetime DATE NULL01ORACLE smallint NUMBER531ORACLE smallmoney NUMBER1031ORACLE sysname VARCHAR212841ORACLE text CLOB NULL01ORACLE timestamp RAW841ORACLE tinyint NUMBER331ORACLE uniqueidentifier CHAR3841ORACLE varbinary BLOB NULL01ORACLE varbinary RAW-141ORACLE varbinary(max) BLOB NULL01ORACLE varchar CLOB NULL01ORACLE varchar VARCHAR2-141ORACLE varchar(max) CLOB NULL01ORACLE xml CLOB NULL01ORACLE bigint NUMBER1931ORACLE binary BLOB NULL01ORACLE binary RAW-141ORACLE bit NUMBER131ORACLE char CHAR-141ORACLE char CLOB NULL01ORACLE char VARCHAR2-141ORACLE datetime DATE NULL01ORACLE decimal NUMBER-131ORACLE double precision FLOAT NULL01ORACLE float FLOAT NULL01ORACLE image BLOB NULL01ORACLE int NUMBER1031ORACLE money NUMBER1931ORACLE nchar NCHAR-141ORACLE nchar NCLOB NULL01ORACLE ntext NCLOB NULL01ORACLE numeric NUMBER-131ORACLE nvarchar NCLOB NULL01ORACLE nvarchar NVARCHAR2 -141ORACLE nvarchar(max) NCLOB NULL01ORACLE real REAL NULL01ORACLE smalldatetime DATE NULL01ORACLE smallint NUMBER531ORACLE smallmoney NUMBER1031ORACLE sysname NVARCHAR2 12841ORACLE text CLOB NULL01ORACLE timestamp RAW841ORACLE tinyint NUMBER331ORACLE uniqueidentifier CHAR3841ORACLE varbinary BLOB NULL01ORACLE varbinary RAW-141ORACLE varbinary(max) BLOB NULL01ORACLE varchar CLOB NULL01ORACLE varchar VARCHAR2-141ORACLE varchar(max) CLOB NULL01ORACLE xml NCLOB NULL012.建立链接服务器。
oledb 连接sqlserver用法
oledb 连接sqlserver用法OLE DB连接SQL Server的用法OLE DB(Object Linking and Embedding, Database)是一种用于连接到数据库的组件对象模型(COM)。
它提供了一种通用的数据访问接口,使开发人员可以使用各种数据库管理系统(DBMS)与应用程序进行交互。
使用OLE DB连接SQL Server,您可以执行以下步骤:1. 引用相关命名空间:首先,在您的代码中引用`System.Data.OleDb`命名空间。
2. 创建连接字符串:使用OLE DB连接字符串指定要连接的SQL Server实例的相关信息。
连接字符串包括数据提供程序(Provider)的名称、服务器名称或IP地址、数据库名称以及可选的用户名和密码。
例如,连接字符串可以类似于:```string connectionString = "Provider=SQLOLEDB;Data Source=ServerName;Initial Catalog=DatabaseName;User ID=Username;Password=Password;";```3. 创建连接对象:使用`OleDbConnection`类创建一个连接到SQL Server的对象,并传入连接字符串作为参数。
例如:```OleDbConnection connection = new OleDbConnection(connectionString);```4. 打开连接:使用连接对象的`Open()`方法打开与SQL Server的连接。
例如:```connection.Open();```5. 执行SQL查询:使用连接对象创建一个`OleDbCommand`对象,并设置其`CommandText`属性为要执行的SQL查询语句。
然后,使用`ExecuteReader()`方法执行查询,并返回一个`OleDbDataReader`对象,以便对结果进行读取和处理。
ORACLE 创建DBlink访问SQL SERVER数据库
Oracle中使用透明网关链接到Sqlserver在最近项目中需要从Oracle中访问SQL Server数据库, 自然想到了透明网关. 因为Oracle数据库是Linux上的, 而Linux上的Oracle9i不包括连接到SQL Server的透明网关.就在一台单独的Windows 服务器上安装了透明网关用做Oracle访问SQL Server的桥梁.环境如下:Oracle Database Server:Linux + oracle 9.2.0.4 IP:10.194.129.197Transparent Gateway:Windows 2003 server IP: 10.194.129.225MS SQL Server:Windows 2003 server + SQL Server 2005 IP: 10.194.129.2251、Transparent Gateway for SQL Server安装从Oracle 9i数据库安装光盘setup.exe安装,选择安装客户端安装类型选择:管理员安装完客户端后,重新运行setup.exe,安装产品选择Oracle 9i Database 9.2.0.1.0, 安装类型选择"自定义",安装组件选择Oracle Net Services和Oracle Transparent Gateways, 并在此项下选择Oracle Transparent Gateway for Microsoft SQL Server, 安装过程中可以不设置连接到SQL Server 的信息.如下图所示:以下的IP地址及数据库以实际环境为准2、编辑%ORACLE_HOME%\tg4msql\admin\init%ORACLE_SID%.ora, 该文件包含了TG for SQL Server的配置信息, 其中%ORACLE_SID%是给TG的"SID", 默认为tg4msql. 修改文件中的行HS_FDS_CONNECT_INFO="SERVER=10.194.129.225;DATABASE=185life"其中SERVER后为SQL Server所在的服务器名称或ip地址,Database为连接到的数据库名称.当然,如果在SQL Server服务器上,有两个sql server实例,则使用‘服务器名"实例名’的方式设置上面的SERVER值,如:HS_FDS_CONNECT_INFO="SERVER=ZZL\MSSQLSERVER;DATABASE=MSDB"3、编辑%ORACLE_HOME%"network"admin"listener.ora, 编辑对应listener的SID_LISTSID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=%ORACLE_SID%)(ORACLE_HOME=oracle_home_directory) (PROGRAM=tg4msql)))例如:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = tg4msql)(ORACLE_HOME = d:\oracle\ora92) #oracle的主目录(PROGRAM = tg4msql)))其中%ORACLE_SID%必须为第二布中设置的SID, 默认值为tg4msql. 修改listener.ora文件后需重启listener使修改生效.如果没有listener.ora文件,请用Net Configuration Assistant或Net Manager 新建一个LISTENER.以上操作都是在Transparent Gateway所在机器上。
Sql server建立Oracle的链接服务器, 跟Oracle的dblink差不多
一、安装配置oracle客户端要访问orcale数据,必须在访问的客户端机器上安装oracle客户端。
Orcale有两种形式的客户端:●完整的客户端包括访问服务器端数据库的基本Oracle 的Microsoft OLE DB 访问接口需要Oracle Client Software Support File以及SQL*Net 。
还包括用于配置客户端设置的工具、sqlplus、企业管理器等一系列的工具。
●立即客户端(instant client)这个客户端体积很小,但是只包括了访问orcale服务器的最基本的支撑驱动,没有设置管理工具,也找不到可用的图形界面。
对客户端的设置需要手工就行。
目前orcale比较新的是oracle 10g版本,以这个版本为例。
1、下载oracle 10 的客户端可以到orcale官方网站下载,需要先注册,然后下载。
下载适用于Microsoft Windows (32-bit)的Oracle Database 10g Client Release 2的客户端,下载地址:/otn/nt/oracle10g/10201/10201_client_win32.zip2、安装oracle 10 客户端下载好后,解压,安装。
安装时有四个选项:●Instantclient,相当于最小化安装。
●管理员,完整安装。
●运行时自定义为了管理方便,一般以管理员方式安装。
3、配置oracle 10 客户端在客户端主要需要配置两个设置,命名方法和服务器别名,还有一个监听程序是服务端需要用的,用来监听客户端的访问,客户端不必设置监听程序。
这些设置都能在net manager工具中进行,在oracle程序组中的“配置和移植工具”中的“net manage r”。
如图所示:概要文件就是用来设置命名方法和验证方式的的3.1.命名方法在窗口左面的上部下拉列表中选“命名”,左边窗口显示目前可用的方法,右边是已经选择的命名方法,几个主要的命名方法有:●TNSNAMES表示采用TNSNAMES.ORA文件来解析●ONAMES表示Oracle使用自己的名称服务器(Oracle Name Server)来解析,目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES●HOSTNAME表示使用host文件,DNS,NIS等来解析一般使用本地命名方式来解析服务器名,即使用TNSNAMES.ORA中设置的服务器名。
SQL Server链接服务器访问Oracle
SQLServer链接服务器访问Oracle一、测试环境说明操作系统:Windows Server 2008 R2 64位数据库版本:SQLServer 2008 R2 64位和Oracle Database 11g 第 2 版(11.2.0.1.0)及相应的客户端版本:Oracle 11g client 64位。
其中Oracle Database 11g 安装在一台电脑,另一台安装SQL Server 2008 R2 64位和Oracle 11g client 64位。
二、创建SQL Server链接服务首先SQL Server链接Oracle可以通过两个访问接口:“MSDAORA”和“OraOLEDB.Oracle”。
默认状态下,SQL Server 2008 R2 64位安装后在服务器对象->链接服务器->访问接口下并没有“MSDAORA”和“OraOLEDB.Oracle”接口。
安装“MSDAORA”访问接口需要下载Oracle Data Access Components(ODAC)for Windows 的相应64位版本。
安装后重新启动服务器即可以看到“MSDAORA”接口。
因为此接口不支持分布式事务,因此不做过多的描述。
安装“OraOLEDB.Oracle”访问接口需要下载Oracle 11g client 64位。
具体安装过程如下:1)下载后解压zip文件到文件夹,点击setup.exe,弹出如下界面:直接点[是]。
2)弹出如下界面:选择[定制]选项。
点击下一步,弹出如下界面:直接点击下一步,弹出如下界面:选择软件安装的位置后点击下一步,弹出如下界面:在可用产品组件窗口点击[全选]后直接点击下一步,弹出如下窗口:在调度程序代理主机名中输入本机的主机名。
点击下一步,弹出如下界面:在Oracle Services for MTS 中配置端口,这里直接使用默认端口,点击下一步:Oracle Services for Microsoft Transaction ServerOracle Services for MTS 允许客户在MTS 协调事务中使用Oracle 数据库作为资源管理器,从而提供了Oracle 解决方案和MTS 之间的强大集成。
sql server跨库查询oracle语句
SQL Server 是微软公司推出的一种关系型数据库管理系统(RDBMS),而 Oracle 则是甲骨文公司的一种商业关系型数据库管理系统。
在实际应用中,有时候需要进行跨库查询,即在 SQL Server 中查询 Oracle 数据库的数据。
本文将介绍如何编写 SQL 语句来实现跨库查询。
1. 连接 Oracle 数据库在 SQL Server 中进行跨库查询,首先需要建立与 Oracle 数据库的连接。
可以通过使用“信息服务器”功能来实现这一步骤。
在 SQL Server Management Studio 中,找到“服务器对象”下的“信息服务器”,右键单击后选择“新建信息服务器”,在弹出的对话框中选择“Oracle Provider for OLE DB”,并填写相应的连接信息,如Oracle 数据库的位置区域、用户名、密码等。
注意要确保 SQL Server 和 Oracle 数据库之间网络畅通,并且有相应的权限。
2. 执行跨库查询连接建立完成后,就可以在 SQL Server 中编写跨库查询的 SQL 语句了。
在执行查询时,可以使用四部分限定名来指定 Oracle 数据库中的表。
如果在 Oracle 数据库中有一个叫做“EMPLOYEE”的表,可以通过以下方式在 SQL Server 中进行查询:```sqlSELECT * FROMOracleServerName.OracleDatabaseName.dbo.EMPLOYEE```其中,“OracleServerName”是在连接服务器时设置的名称,“OracleDatabaseName”是Oracle 数据库的名称,“EMPLOYEE”是要查询的表名。
3. 使用 OPENQUERY 函数另一种执行跨库查询的方法是使用 SQL Server 中的 OPENQUERY 函数。
这个函数可以在 SQL Server 中直接执行一个在远程服务器上的查询。
Oracle10g数据库透明网关连接sqlserver2005配置说明文档
Oracle 10g透明网关连接Sql Server 2005 配置说明(一) 环境如下:ORACLE 10g 安装在:172.64.8.139 的window server 2003SqlServer 2005安装在:172.64.8.142(二) :下载透明网关10g下,透明网管是一个单独组件,可以到oracle官方网站下载/technology/software/products/database/oracle10g/htdocs/10201winso ft.html,然后搜索10201_gateways_win32.zip,即可下载。
这个安装包有300M。
(三) 安装透明网关:注意:安装之前要必须要将原有的数据库服务器启动起来,不然会重复安装OraTg10g_home1数据库软件,这样就会有2个数据库软件。
1、下载10201_gateways_win32.zip插件,并解压。
2、进入10201_gateways_win32文件夹,点击setup.exe。
3、点击下一步选择安装的路径,路径是D:\oracle\product\10.2.0\db_1文件夹(这里是我的oracel的安装路径,根据自己机器的路径修改)。
4、点击下一步,选择Oracle Transparent Gateway for Microsoft SQL Server 10.2.0.1.0,点击下一步.5、填写SQL服务器名和SQL数据库名6、点击安装,安装完成之后会在D:\oracle\product\10.2.0\db_1文件下多出一个文件夹tg4msql,即安装成功。
(四) 配置:1. 在Oracle的D:\oracle\product\10.2.0\db_1\tg4msql\admin目录下,打开inittg4msql.ora,添加配置如图:注意红色部分2、配置Oracle的D:\oracle\product\10.2.0\db_1\network\admin目录下的listener.ora。
oracle数据的导入导出(两种方法三种方式)
oracle数据的导⼊导出(两种⽅法三种⽅式)⼤概了解数据库中数据的导⼊导出。
在oracle中,导⼊导出数据的⽅法有两种,⼀种是使⽤cmd命令⾏的形式导⼊导出数据,另⼀种是使⽤PL/SQL⼯具导⼊导出数据。
1,使⽤cmd命令⾏导⼊导出数据 1.1整库导出 整库导出:exp 管理员账号/密码 full=y;//参数full表⽰整库导出。
导出后会在当前⽬录下⽣成⼀个EXPDAT.DMP的⽂件,此⽂件为备份⽂件。
如果想导出数据到指定位置,并且取个名字,需要添加file参数。
例如:exp system/123456 file= C:\person.dmp full=y。
1.2整库导⼊ 整库导⼊:imp 管理员账号/密码 full=y file=C:\person.dmp。
1.3使⽤cmd命令按⽤户导出导⼊ 1.3.1 按⽤户导出:exp 管理员账号/密码 owner=⽤户名 file=C:\person.dmp。
1.3.2 按⽤户导⼊:imp 管理员账号/密码 file=C:\person.dmp fromuser=⽤户名。
1.4使⽤cmd命令按表导出导⼊ 1.4.1按表导出:exp 管理员账号/密码 file=person.dmp tables=t_person,t_student。
1.4.2按表导⼊:imp 管理员账号/密码 file =person.dmp tables=t_person,t_student。
2.)使⽤PL/SQL 开发⼯具导出导⼊数据 pl/sql⼯具包含三种⽅式导出oracle表结构和表数据,分别为:oracle export,SQL inserts,pl/sql developer。
它们的含义如下: 第⼀种oracle export:导出的是.dmp格式的⽂件,.dmp⽂件是⼆进制⽂件,可以跨平台,包含权限等。
第⼆种SQL inserts :导出的是.sql格式的⽂件,可以⽤⽂本编辑器查看,通⽤性⽐较好,效率不如第⼀种,适合⼩数据量的导⼊导出。
两种方法将oracle数据库中的一张表的数据导入到另外一个oracle数据库中
两种⽅法将oracle数据库中的⼀张表的数据导⼊到另外⼀个oracle数据库中oracle数据库实现⼀张表的数据导⼊到另外⼀个数据库的表中的⽅法有很多,在这介绍两个。
第⼀种,把oracle查询的数据导出为sql⽂件,执⾏sql⽂件⾥的insert语句,如下:
第⼀步,导出sql⽂件:
第⼆步:⽤PL/Sql Developer 连接另外⼀个oracle数据库,打开这个sql⽂件,全选所有insert语句,执⾏所有插⼊sql语句即可:
这种⽅法试⽤于插⼊⼤多数的数据库,⽆论是oracle数据库还是sql server数据库都可执⾏这个sql⽂件(全是insert语句)。
缺点是:当数据量⼤的时候,oracle数据库执⾏这些insert语句,效率会很低。
于是,接下来介绍第⼆种导⼊数据的⽅法,即:导出/导⼊CSV⽂件。
第⼀步,在Pl/Sql Developer查询窗⼝查询数据,导出成CSV⽂件:
导出的csv⽂件如下图:
第⼆步,把这个csv⽂件⾥的数据导⼊到另外⼀个数据库⾥,⽤PL/Sql Developer 连接另外⼀个oracle数据库,
菜单-⼯具-⽂本导⼊器:
第三步,点击“⽂本导⼊器”窗⼝⾥,点击导⼊按钮:
第四步,选择导⼊CSV⽂件:
导⼊后,界⾯如下:
第五步,选择“到Oracle的数据”选项卡,点击下拉框选择“所有者”,点击下拉框选择要导⼊的表,选择“覆盖重复”,点击“导⼊”按钮:
导⼊成功⼊下图:
点击“关闭“按钮,新建查询窗⼝,查询数据,验证导⼊是否成功:
总结:如果是oracle数据库,推荐使⽤第⼆种⽅法,⽐第⼀种⽅法的效率⾼很多。
在sql server中迁移数据的几种方法 -回复
在sql server中迁移数据的几种方法-回复在SQL Server中迁移数据的几种方法数据迁移在数据库管理中是一个常见的任务,无论是因为升级服务器、合并数据库、迁移到云端还是备份恢复等原因,我们都需要将数据从一个数据库迁移到另一个数据库中。
在SQL Server中,有几种方法可以实现数据迁移,本文将逐步回答如何使用不同的方法来迁移数据。
一、使用SQL Server Management Studio(SSMS)SQL Server Management Studio(SSMS)是微软为SQL Server提供的管理工具,它具有强大的功能,包括数据迁移。
以下是使用SSMS迁移数据的步骤:1. 打开SQL Server Management Studio,连接到源数据库和目标数据库。
2. 在对象资源管理器中,展开源数据库和目标数据库所在的服务器。
3. 右键单击源数据库,选择“任务”-> “导出数据”选项。
4. 在导出数据向导中,按照向导的步骤进行设置,包括选择数据源、选择目标数据库、选择要迁移的表和视图等。
5. 完成向导后,SSMS会自动生成T-SQL脚本来执行数据迁移。
点击“完成”按钮,将开始执行数据迁移操作。
使用SSMS迁移数据的优点是操作简单,适用于小规模的数据库迁移任务。
然而,对于大规模的数据库和复杂的迁移需求,可能需要使用其他方法。
二、使用SQL Server Integration Services(SSIS)SQL Server Integration Services(SSIS)是SQL Server提供的一个功能强大的ETL(Extract, Transform and Load)工具,适用于数据仓库和大规模数据迁移等复杂的数据处理任务。
以下是使用SSIS迁移数据的步骤:1. 打开SQL Server Data Tools(SSDT),创建一个新的Integration Services项目。
