如何将excel的数据导入到oracle数据库

如何将excel的数据导入到oracle数据库,第1张

导入Excel表格

1创建表,表的字段与要导入文件的名称一致

2点击 工具---->ODBC导入器

3选择Excel file 点击连接

4选择要导入的文件,点击确定

5点击 到Oracle 在所有者中选择到自己之前创建的表格 按下回车键

查看对应的字段名是否相对应 最后单击导入

1、先把excel文件转换成csv或txt格式,使用oracle自带的工具SQLLoader进行导入。2、把excel中的数据复制出来,在pl/sql developer中新建一个和excel数据一样的表结构,进行粘贴就行了。 3、使用ODBC进行导入。

利用第三方工具的导入功能(如:Navicat、PL/SQL Developer);

利用Excel的CONCATENATE函数组装每行记录为一个SQL语句,之后将所有SQL语句保存为一个SQL文件,利用Oracle执行文件的方式导入数据到对应的表。

方法一、使用SQLLoader

这个是用的较多的方法,前提必须Oracle数据中目的表已经存在。大体步骤如下:

1、将excel文件另存为一个新文件比如文件名为texttxt,文件类型选文本文件(制表符分隔),这里选择类型为csv(逗号分隔)也行,但是在写后面的controlctl时要将字段终止符改为','(fields terminated by ','),假设保存到c盘根目录。

2 、如果没有存在的表结构,则创建,假设表为test,有两列为dm,ms。

3、用记事本创建SQLLoader控制文件,网上说的文件名后缀为ctl,其实我自己发现就用txt后缀也行。比如命名为controlctl,内容如下:(--后面的为注释,实际不需要)

load data --控制文件标识

infile 'c:/texttxt' --要输入的数据文件名为testtxt

append into table test --向表test中追加记录

fields terminated by X'09' --字段终止于X'09',是一个制表符(TAB)

(dm,ms) --定义列对应顺序

备注:数据导入的方式上例中用的append,有一下几种:insert,为缺省方式,在数据装载开始时要求表为空;append,在表中追加新记录;replace,删除旧记录,替换成新装载的记录;truncate,同replace。

4、在命令行提示符下使用SQLLoader命令实现数据的输入。

sqlldr userid=system/manager control='c:/controlctl'

我来举个例子

1导出地区表的testcsv文件

"01","市区"

"02","柯桥"

"03","钱清"

"04","皋埠"

"05","漓渚"

"06","齐贤"

"08","袍江"

"09","平水"

"12","东浦"

2编辑sqlldr导出控制文件testctl内容如下:

load data

infile 'e:/testcsv'

replace into table test

fields terminated by ',' optionally enclosed by '"'

trailing nullcols

(id,name)

3在cmd中执行:

E:/>sqlldr userid=xxx/yyy@dbxx control=e:/testctl log=e:/logtxt bad=e:/badtxt

SQLLoader: Release 81700 - Production on 星期三 7月 20 21:28:06 2005

(c) Copyright 2000 oracle Corporation All rights reserved

达到提交点,逻辑记录计数48

方法二、 利用PLSQL Developer

使用PLSQL Developer工具,这个可是大名鼎鼎的Oracle DBA最常使用的工具。

在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下——对于excel而言肯定不会超过了,因为excel文件的最大行为65536—— 可以全选数据COPY ,然后用PLSQL Developer工具。

1 在PLSQL Developer的sql window里输入select from test for update;

2 按F8执行

3 打开锁, 再按一下加号 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后COMMIT提交即可。

还有很多第三方工具,Toad,PL/SQL Developer,SQL Navigator等等。

方法三 、使用其它数据转移工具作中转站。

我使用的是Sql Server 2000。

先将excel表导入sqlserver数据库中,然后再从Sql server导入到oracle中。这两部 *** 作都简单,如果不会随便查个帮助就可以了。

这里有两个自己的经验:

一、是注意excel文件的版本和格式要与导入到sql server时的数据源匹配。如果导入到sql server时的数据源选Microsoft Excel 97-2000的话,而excel文件的版本为Micaosoft Excel 50/95 工作簿,则有可能出问题。关于如何看Excle文件格式,你打开excel文件,选择另存为,即可看到像Micaosoft Excel 50/95 工作簿或者是Microsoft Office Excle 工作簿等等其它的保存类型。

二、就是由Sqlserver导入到oracle中时,记得将在oracle中的表名全部用大写。因为oracle的表名都是大写的,而sql的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Products表在oracle里查询就应该写成select from scott"Products";

>

点击菜单栏中的T00LS ODBC Imtorper,打开ODBC Importer选项框

在Data fromODBC页中选择需要导入的文件的格式,选择ExcelFiles输入用户名密码。然后点击Connect

在跳出的选择工作簿对话框,选择所要导入的Excel文件,点击确定。在出现的Table/Query中的Import Table中单击表名,可以在下方的ResultPreview中看到所要导入的表格的内容

点击Date to Oracle按钮,打开Date to Oracle选项框,选则你要导入的表名,本次导入表为SFISM4U_RF_ID_DATA,在Owner下拉菜单中选SFISM4,在Table下拉菜单选择U_RF_ID_DATA,在Fields选则你要导入的字段,本次导入的字段是SERIAL_NUMBER,点击Import将成批数据导入Oracle数据库中,这样就完成了导入数据。

这个简单,如果直接进行插入和更新难度较大,你可以先新建一个表,把数据导进行,然后再和新建的那个表进行数据插入和更新,就简单多了。

至于如何将excel文件导入oracle中,也有很多方法,数据量少的话,可以直接复制粘贴,数据量多的话,使用工具导入,我一般是用kettle进行导入。

lsql

developer导入excel数据

最近处理将excel数据导入oracle的工作比较多。之前都是采用sqlldr命令行导入的方式处理。每次导入不同格式的excel表数据,都需要先把excel文件由“xls”格式转换为“csv”格式,再手工根据excel文件创建对应得数据表,然后再修改“ctl”配置文件, *** 作下来比较麻烦。今天在查看plsql

developer菜单的时候,才发现在“工具”原来就有“odbc导入器…”的功能,不仅可以导入excel数据,而且还可以导入dbase、ms

access中的数据。

具体的导入 *** 作如下:

1、点击“工具”—“odbc导入器…”菜单,打开导入功能。

2、

选择要连接类型和导入的excel文件

3、

选择所要导入数据所在的“sheet”表

4、

根据sheet表结构创建oracle数据表

5、

完成数据导入

以上就是关于如何将excel的数据导入到oracle数据库全部的内容,包括:如何将excel的数据导入到oracle数据库、如何将Excel导入Oracle数据库、如何将excel导入oracle数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存