导入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数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)