使用Excel表格导入数据到Oracle表
在工作中我们会遇到将通过数据手动录入到系统中的需求,如果数据量比较小,那么手动输入是可行的,倘若数据量很大,那么这些数据手动录入将会是一个很大的工作量,为了简化这个手动录入的操作流程,我们可以使用Excel表格先将数据按照相关格式保存,然后再通过Excel表格数据导入Oracle 表的表中,这样可以大大节约手动输入的时间。但这样做也不是没有风险的,虽然我们手动输入很慢和繁杂,但是如果系统对输入数据有相关的事务记录处理的话,那么每一笔数据来源都是可以事务处理查询到的,如果使用Excel导入那么将对这些数据来源无法通过事务记录查询,所以对于输入的数据最好做好一些备注。
那么如何将Excel的数据导入的Oracle的表中呢?
1.查询对应Oracle表中有哪些数据列
2.在excel中按照oracle 表的数据列名建立表格并录入数据
3.将建立的excel表格另存为csv的文件,并将其保存,如D:\import.csv
4.使用txt文档创建input.txt输入以下语句内容,修改其txt后缀txt为ctl,然后将其保存如D盘下。
load data
infile 'd:\import.csv'
append into table DRUG fields terminated by ','
trailing nullcols(DRUG_NAME,DRUG_ORDER,DRUG_ABBREVIATION,DRUG_DEPARTMENT)
说明:
5.最后打开cmd,输入命令行sqlldr userid=用户名/用户密码@数据库名 control=D:\input.ctl ,将excel数据导入到数据库表
6.执行完成后,若出现执行错误,当前目录下会出现*.bad 文件,记录了插入不成功的数据,可进行手动处理
7.若添加数据出现乱码问题,使用notepad++等文本编辑器打开csv文件,检查文件的编码格式是否与Oracle数据的编码格式一致,如果不一致则会导致网页数据或数据库数据乱码发生。如果两者不一致则调整csv编码使其与Oracle数据一致