首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Oracle复制到SQL Server表

问从Oracle复制到SQL Server表
EN

Stack Overflow用户
提问于 2012-12-19 02:44:44
回答 2查看 7.6K关注 0票数 1

我想将Oracle数据库表中某列的内容复制到SQL Server数据库中的另一列中。我有300多万行要传输。有没有解决这类问题的捷径。不是Oracle表中的所有内容都会被传输,因为Oracle表大约有400万行

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-19 04:27:44

好吧,假设您指的是SQL/ Server,我会使用SQL Server Integration Services (SSIS)这将是相当容易做到的,而且我最近也做过类似的事情。一个主要技巧是将数据存放在一个无索引表中,其中OracleSSIS列(如果有)映射到VARCHAR2中的NVARCHAR,这避免了SSIS中的数据转换步骤。从临时表中,您可以将它们放入正确的目标表中,然后删除临时表。我就是这么做的。

您可以将数据导入MS/Access数据库,然后使用SQL/Server导入/导出向导。如果你手头有Ms/Access的话,这是相当快的,也许是你最好的选择。

您可以在SQL/Server中创建一个链接服务器,您可以简单地将数据从该链接服务器吸收到您的数据库中。我用这种方法得到的结果好坏参半。它确实可以工作,但我发现它有时会变得有点古怪。这可能与我们的基础架构有关,而不是Oracle链接服务器的固有弱点。如果遇到问题,您可以对数据进行逻辑分区,并将其逐段拉入SQL/Server中。但是,如果您能让链接服务器正常工作,那么它是非常优雅的。您可以使用OPENQUERY()从Oracle获取数据,例如。

代码语言:javascript
复制
Select * Into SqlServerTableName 
  From OpenQuery(Oracle_Linked_Server,'Select * from OracleTable
                                        Where etc');

您还可以将数据导出到平面(或CSV)文件中,然后再导入该文件,同样,SSIS也可以做到这一点,但这并不容易。这很容易出现格式化和导出/导入差异

票数 1
EN

Stack Overflow用户

发布于 2012-12-19 19:18:20

以澄清Ciarán答案的最后一句话。我以前是这样做的:

使用sqlplus和SPOOL (sample);

  • use bcp实用程序从Oracle表导出数据,以便快速装载到MS (documentation).中
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13939424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档