怎么把sqlserver一个表中的数据导入到oracle中

怎么把sqlserver一个表中的数据导入到oracle中,第1张

前言:

将SQLServer数据中的表和数据全量导入到Oracle数据库,通过Microsoft SqlServer Management Studio工具,直接导入到oracle数据库,免去了生成脚本的步骤。本教程以图文的方式,方便没用过的SqlServer的朋友,也可以完成跨库导出数据。

教程开始:

1在开始菜单中打开Microsoft SqlServer Management Studio,找到需要导出的SQLServer数据库,选择任务,再选择导出数据。

2打开导出数据工具:

3选择数据源:即选择从哪个数据库导出数据,如果是本机,服务器名称就填:localhost

4选择目标:要导入导Oracle数据库,就选择:Oracle Provider for OLE DB,然后再点击属性,在属性中设置Oracle数据库的用户名密码。

5输入要导入Oracle的数据库的用户名和密码,测试连接成功,然后勾选允许保存密码的复选框,否则关闭窗口,密码可能会丢失,又要重新输入增加麻烦。

6选择复制一个或多个表选项:

7选择你要导入表,这里只选择一个表作为示例,你可以勾选多个表一起导出。

重点开始:点击编辑映射,这里设置SqlServer字段数据类型与Oracle数据类型的映射,因为它们之间的数据类型略有不同,也就成了导出时候最容易出错的地方。

8两个数据库之间的字段数据类型转换:

如果新手不知道,哪个字段需要转换,可以先执行下一步,最后导出失败会有报错信息。再根据错误信息列名,进行调整。

例如:把Datetime 转为Date,char 转为varchar2,根据表实际的数据多调整下试试。

难点:这也是不同数据库导入数据最容易出错的地方,因为Oracle和SqlServer的数据类型略有不同,需要手动匹配调整。

9查看数据类型映射,有叹号的地方,就是应该转换的地方,往往失败就在此处,你可以双击查看下具体的转换信息。此处不用设置,保留默认下一步即可。

10继续执行下一步:

11点击完成,执行完后发现报错信息。接下来讲讲如何改错。

12点击打开报错信息,发现里面有些字段提示转换失败,然后记住出错的字段,最好截个图,然后返回上一步。

13点击上一步,一直返回到“编辑映射"页面,重新调整出错的字段。

14找到出错的字段,将char字段类型转为Varchar2即可。其他字段同理,找出转换出错的字段,修正即可。

15再次点击完成尝试,发现导出全部成功,并导出了“10条数据“。

16打开PlSQL,连接到Oracle数据库,查看下刚导入的表,发现表和数据全部成功导入:

2

0

完整的Oracle数据库通常由两部分组成 Oracle数据库实例和数据库

)数据库是一系列物理文件的集合(数据文件 控制文件 联机日志 参数文件等)

)Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区

在启动Oracle数据库服务器时 实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存) 然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件 Oracle有一个很大的内存快 成为全局区(SGA)

一 数据库 表空间 数据文件

数据库

数据库是数据集合 Oracle是一种数据库管理系统 是一种关系型的数据库管理系统

通常情况了我们称的 数据库 并不仅指物理的数据集合 他包含物理数据 数据库管理系统 也即物理数据 内存 *** 作系统进程的组合体

数据库的数据存储在表中 数据的关系由列来定义 即通常我们讲的字段 每个列都有一个列名 数据以行(我们通常称为记录)的方式存储在表中 表之间可以相互关联 以上就是关系模型数据库的一个最简单的描述

当然 Oracle也是提供对面象对象型的结构数据库的最强大支持 对象既可以与其它对象建立关系 也可以包含其它对象 关于OO型数据库 以后利用专门的篇幅来讨论 一般情况下我们的讨论都基于关系模型

表空间 文件

无论关系结构还是OO结构 Oracle数据库都将其数据存储在文件中 数据库结构提供对数据文件的逻辑映射 允许不同类型的数据分开存储 这些逻辑划分称作表空间

表空间(tablespace)是数据库的逻辑划分 每个数据库至少有一个表空间(称作SYSTEM表空间) 为了便于管理和提高运行效率 可以使用一些附加表空间来划分用户和应用程序 例如 USER表空间供一般用户使用 RBS表空间供回滚段使用 一个表空间只能属于一个数据库

每个表空间由同一磁盘上的一个或多个文件组成 这些文件叫数据文件(datafile) 一个数据文件只能属于一个表空间 在Oracle 以后 数据文件创建可以改变大小 创建新的表空间需要创建新的数据文件 数据文件一旦加入到表空间中 就不能从这个表空间中移走 也不能与其它表空间发生联系

如果数据库存储在多个表空间中 可以将它们各自的数据文件存放在不同磁盘上来对其进行物理分割 在规划和协调数据库I/O请求的方法中 上述的数据分割是一种很重要的方法

Oracle数据库的存储结构分为逻辑存储结构和物理存储结构

)逻辑存储结构 用于描述Oracle内部组织和管理数据的方式

)物理存储结构 用于描述Oracle外部即 *** 作系统中组织和管理数据的方式

二 Oracle数据库实例

为了访问数据库中的数据 Oracle使用一组所有用户共享的后台进程 此外 还有一些存储结构(统称为System Gloabl Area 即SGA) 用来存储最近从数据库查询的数据 数据块缓存区和SQL共享池(Shared SQL Pool)是SGA的最大部分 一般占SGA内存的 %以上 通过减少对数据文件的I/O次数 这些存储区域可以改善数据库的性能

Oracle数据库实例(instance)也称作服务器(server) 是用来访问数据库文件集的存储结构及后台进程的集合 一个数据库可以被多个实例访问(这是Oracle并行服务器选项)

lishixinzhi/Article/program/Oracle/201311/17362

以上就是关于怎么把sqlserver一个表中的数据导入到oracle中全部的内容,包括:怎么把sqlserver一个表中的数据导入到oracle中、Oracle数据库实例及其相关概念、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9691082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存