oracle怎样导入sqlserver数据
发布网友
发布时间:2022-04-24 20:54
我来回答
共2个回答
懂视网
时间:2022-05-04 17:32
在从sql 导入 oracle的工作中,大家的思维惯式都是首先采用sqlserver的dtswizard,实在是因为这个工具 使用 直观、方便,而且在对非大表的操作中性能不错,我也是这样做的,但是在经过一系列的痛苦的操作后,我发现在 使用 的过程中还是有一些很重要的限制因
在从sql导入oracle的工作中,大家的思维惯式都是首先采用sqlserver的dtswizard,实在是因为这个工具使用直观、方便,而且在对非大表的操作中性能不错,我也是这样做的,但是在经过一系列的痛苦的操作后,我发现在使用的过程中还是有一些很重要的限制因素,很多人可能会遇到其中的一两点,我这里仅把我遇到的记录下来,以作参考。
一、先说常规的操作流程
1.选择源数据类型,这里是sql,注意数据源,在次提醒,注意数据源,因为他让我心痛
2.选择目的的数据源,这里需要特别指出,就是开始的时候我选错了数据源,让我白做了一个星期的工作,或者说让我开拓了不适用dtswizard导数据的思路,虽然很痛苦,但是很指得。废话少说,注意要选择“oracle Provideer for OLE DB”,注意这里还有一个“Microsoft OLEDB for Oracle”,我之前选择的就是第二个,导致后面在执行导出操作的时候,很多奇怪的错误。一定要选对啊。
3.填写对应的oracle 信息,注意数据源的地方使用transnames.ora中指定的名称,允许保存密码勾选
4.默认点下一步,进入表的映射处理,这里我们做表的字段的对应处理。
5.选中对应的表,点击编辑按钮,进入后“编辑sql”,可以手工调整字段的数据类型。
这里微软做了一个不错的事情,在sql中与一张对应表,里面存储了sql的数据类型和其他类型数据库如oracle sysbase db2等的对应字段匹配
SELECT * FROM msdb.dbo.MSdatatype_mappings 可以从这里找到对应的字段类型匹配。
6.下一步下一步,祈祷成功吧。
二、注意事项
1.dts对大表数据的支持不是很好。这里说的大表数据不能简单从数据量上定义,有的表数据量很大,但是列很少,dts依然可以很正常执行。我这里试验的标准是80万条数据,几十列,中间包含text字段,在执行的时候,效率低先不错,执行好长时间后然后报错很坑爹啊。而且数据没导成功,表还给创建了,我得手动删除表才能再次执行,如果一次导入几十几百张表,中间一错误很是郁闷啊。
解决的办法是使用oracle的sql loader虽然麻烦点,但是效率极高,10000+/s以上的性能,还能挑剔啥。
2.个别表执行导入不成功,提示异常错误。晕,我知道异常错误是啥,只能用最传统的办法,导出数据,然后用toad导入,做好字段类型的设定,基本可以ok.
3.字段的设定:我这里如果超过varchar2(2000)就报错,没办法对很多varchar(4000)的数据类型只能手工调整为nclob类型。
暂时想到这么多,以后有别的在补充吧。
热心网友
时间:2022-05-04 14:40
使用sqlserver自带的DTS(导出)工具就可以实现,数据源选择sqlserver,目的选择ORACLE使用的驱动(我用的是9i,是oracle
in
orahome92
),选择或创建一个DSN,输入用户名和密码就可以了,使用时需要注意表名和字段名上带的双引号需要去掉,否则的话你在查表的时候在表名上也需要加上双引号。
怎么将oracle里面的数据导入到sqlserver中,并且每天更新?
1。配置windows的ODBC数据源: 开y始菜单—》设置—》管理工n具—》数据源(ODBC)—》进入l配置用户5DSN或者系统DSN均可以2:添加—》选择Microsoft ODBC for oracle—》
如何将oracle数据库中的数据如何导入到sqlserver
假设要将SQL Server中的Northwind数据库中的Products表导出到Oracle的Scott用户 首先需要有安装SQL Server企业版 1.打开工具: 开始->程序-> 导入和SQL Server数据导出数据 2.下一步,选择数据源 [数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。 [服务器]选择要导出数...
如何将SQLSERVER上的数据插入到ORACLE上
首先你需要在SQLSERVER和ORACLE之间建立一个链接服务器。然后使用链接服务器来插入数据。然后使用语句:insert into openquery(linksvr,'select * from oracletable')select * from sqlservertable
如何将SQLSERVER上的数据插入到ORACLE上
首先你需要在SQLSERVER和ORACLE之间建立一个链接服务器。然后使用链接服务器来插入数据。然后使用语句:insert into openquery(linksvr,'select from oracletable')select from sqlservertable
oracle数据库导入到sqlserver
先建立一个用户名,名称最好和提供DMP备份的名称一样,密码也一样。这样会省很多事的。开始WINDOWS下运行CMD:C:>imp username/userpassword@dbname file=d:/backname.dmp ignore=y rows=y full=y 开始执行oracle数据导入操作。时间很长,那么*.DMP数据库就被恢复过来了。现在我们我们已经把ORACLE的...
怎样把Oracle的数据导入到SQLServer2005中
第一步:打开SQLServer2005数据库-->Temp数据库-->右键-->任务-->导入数据 第二步:如下图点击下一步 第三步:选择Oracle Privider for OLE DB 第四步:如下图 第五步:如下图 第六步:如下图 第七步:如下图 第八步:勾选你要导入的表-->下一步 第九步:如下图 第十步:点击完成...
如何同步ORACLE和sqlserver的数据
1.在oracle数据库中建立对应的contract和contract_project表,需要同步那些数据字段我们就建立那些字段到oralce表中 需要注意哦的是oralce的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系,我们可以再sqlServer下运行:SELECT FROM msdb.dbo.MSdatatype_mappings 来查看sqlServcer和oralce...
如何同步ORACLE和sqlserver的数据
1.在Oracle中建立对应的contract 和 contract_project表,需要同步哪些字段我们就建那些字段到Oracle表中。这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行:SELECT FROM msdb.dbo.MSdatatype_mappings SELECT FROM msdb.dbo.sys...
怎么把oracle里面的clob字段数据转移到sqlserver里的text字段?不用编程...
进SQLSERVER 右键点击数据库,所有任务->导入数据 数据源选:Microsoft OLE DB FOR ORACLE,之后只剩下属性,点击属性,输入ORACLE的服务器名用户密码,测试连接成功后 点下一步 选SQL数据库->一条查询指定要传输的数据->写SQL语句->确定->立即执行.
请问Oracle如何访问SqlServer数据库?
1)首先安装Oracle客户端,并创建到服务器的连接,用户名为TEST。2)在sql server2008的Management Stadio 中ServerObject->LinkedServer->New LinkedServer3)在新建对话框"常规"选项卡里面, 选择Microsoft ole db provider for oracle驱动. 产品名称为"Oracle", 数据源就是上面建立的网络名称TEST. 提供程序字符串填为 ...