Oracle数据导入sqlserver

之前试图使用sqlserver自带功能导Oracle数据,但过程中一直提示我要安装oracle客户端才可以。但安装客户端的时候,一直报错,无法安装。尝试了网上多种方式,如修改注册表,改中文路径为英文等都没解决。所以最后放弃了这种方法,采用第三方SSMA来导入数据,很快就成功了,具体内容可参照以下链接,  这位兄弟的文章帮我解决了大问题哦。

我是链接:https://www.cnblogs.com/gaozejie/p/6693247.html

要使用 SQL 语句将 Oracle 数据导入 SQL Server,可通过以下方式实现: ### 使用 Linked Server(链接服务器) 1. **创建链接服务器** 在 SQL Server 中,可以使用 `sp_addlinkedserver` 存储过程来创建到 Oracle 的链接服务器。 ```sql -- 创建链接服务器 EXEC sp_addlinkedserver @server = 'OracleLinkedServer', @srvproduct='Oracle', @provider = 'MSDAORA', @datasrc = 'ORACLE_SID'; -- 创建登录映射 EXEC sp_addlinkedsrvlogin 'OracleLinkedServer', 'FALSE', NULL, 'ORACLE_USERNAME', 'ORACLE_PASSWORD'; ``` 其中,`'OracleLinkedServer'` 是自定义的链接服务器名称,`'ORACLE_SID'` 是 Oracle 的服务名,`'ORACLE_USERNAME'` 和 `'ORACLE_PASSWORD'` 分别是 Oracle 的用户名和密码。 2. **导入数据** 创建好链接服务器后,就可以使用 `INSERT INTO...SELECT` 语句从 Oracle 数据库中查询数据并插入到 SQL Server 的表中。 ```sql -- 向 SQL Server 目标表插入数据 INSERT INTO SQLServerDatabase.dbo.TargetTable (Column1, Column2, Column3) SELECT Column1, Column2, Column3 FROM OracleLinkedServer.ORACLE_SCHEMA.ORACLE_TABLE; ``` 这里 `SQLServerDatabase.dbo.TargetTable` 是 SQL Server 中的目标表,`ORACLE_SCHEMA.ORACLE_TABLE` 是 Oracle 中的源表。 ### 使用 OPENROWSET 函数 如果不想创建链接服务器,也可以使用 `OPENROWSET` 函数直接从 Oracle 数据源查询数据并插入到 SQL Server 表中。 ```sql -- 插入数据 INSERT INTO SQLServerDatabase.dbo.TargetTable (Column1, Column2, Column3) SELECT Column1, Column2, Column3 FROM OPENROWSET('MSDAORA', 'ORACLE_SID'; 'ORACLE_USERNAME'; 'ORACLE_PASSWORD', 'SELECT Column1, Column2, Column3 FROM ORACLE_SCHEMA.ORACLE_TABLE'); ``` `OPENROWSET` 函数的第一个参数是数据源提供程序,第二个参数是连接字符串,第三个参数是要执行的 Oracle 查询语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值