使用sqlldr把Excel表格导入Oracel数据库表中

最近在做毕设,由于该选题的完成需要大量数据的支撑,因此前一段时间我收集了很多相关数据存与Excel表格中,这些数据只有在放入数据库中才能方便我们使用。显然,大量数据的导入不适合用insert 语句来实现。那么,怎样才能快速准确的把Excel表格中的数据导入Oracel数据库中相应的表呢?带着疑问,我找了度娘,也看了博客,总结出了该问题的解决办法有三种:

1、把Excel表格转成制表符分隔的.txt文本文件,在PL/SQL的Tools工具中,使用text importer进行导入

2、PL/SQL中的ToolS工具中,使用ODBC importer进行导入

3、把Excel表格转成制表符分隔的.txt文本文件,在DOS命令窗口使用sqlldr来导入

使用DOS窗口命令的解决方式,让我觉得逼格很高,所以我选择了第三种方式,哈哈哈~

首先呢,我们要先来明确一下我们的目的:把2015nj.xlsx表数据导入到Oracel的t_class表


2015nj.xlsx


以下是详细步骤:

一、在数据库中创建目标表t_class

二、把Excel表格转成制表符分隔的.txt文本文件,保存在F盘根目录下


三、在F盘根目录下创建insert.ctl文件

load data

characterset ZHS16GBK   

-- 设置字符集(要与数据库的字符集保持一致,否则导入的数据会出现乱码问题)

INFILE 'F:/2015nj.txt'    -- 指定文本文件所在的为止

Append into table t_class  -- 追加导入到Oracel的t_class表中

fields terminated by " "  --指定文本中各数据之间的分割符,用于截取取数

( BJBH, KCPT,KCLX,KCDH,KCMC,XF,ZXS,JS,KNSJ,KWSJ,XQ1,XQ2,XQ3,XQ4, XQ5, XQ6, XQ7, XQ8,KHFS)  --Excel表的数据将按列号与t_class的字段匹配导入

四、使用DOS命令窗口导入

(先切换到F盘下,再执行sqlldr userid=用户名/密码@数据库名 control=insert.ctl log=insert.log)


使用sqlldr把Excel表格导入Oracel数据库表中_第1张图片

五、到数据库中查看

select * from t_class,有数据,无乱码,记录数一致,ok,大功告成!


使用sqlldr把Excel表格导入Oracel数据库表中_第2张图片



你可能感兴趣的:(使用sqlldr把Excel表格导入Oracel数据库表中)