PL/SQL Developer 的“工具”菜单栏有一个“文本导入器”的工具,可以用来向 Oracle 数据库导入 csv 格式的数据。
打开“文本导入器”,工具分为两个Tab页,一个是“来自文本文件的数据”,另一个是 “到 Oracle 的数据”,分别代表 csv 文件的解析和 Oracle 表字段的映射。
csv 文件解析
表字段映射
第一步通过工具栏上的文件夹图标打开 csv 文件位置:
正常情况 csv 解析器会读取部分 csv 文件内容,并在“文件数据”区域进行显示。
如果显示内容为乱码,说明 csv 编码可能与 PL/SQL Developer 环境不一致,比如使用 UTF-8 编码的 csv 文件就显示为乱码:
在数据区域的右上角有个编码调整的选项,但实际测试发现并不起作用。
如果出现乱码的情况,还是老老实实通过第三方工具进行转码,比如使用 notepad2 :
解决编码问题后,下一步是解析 csv 字段。
通过调整分割符、引号类型、相对位置,观察数据预览界面,看字段数据是否被识别出来。然后增加字段个数,依次将剩余字段识别出来:
下一步跳到 Oracle 字段映射界面:
没有创建表前是没有映射的,这时选择在指定用户下面建表。一般目标表的字段和数据源字段保持一致,方便映射。
可以使用图形界面建表:
图形界面工具会自动将字段准备后,但字段数据类型需要自己定:
这里为了简化演示,全部使用 varchar2(100) 数据类型,实际情况可以根据数据源来选择:
最后在右下角的 “查看 SQL” 窗口进行最后调整:
检查数据类型没有问题后,手动执行建表语句:
然后回到字段映射环节,将鼠标聚焦到表名处,回车,此时各字段会自动开始映射。
此时"导入“按钮也变成可点击的状态,点击”导入“即可开始导入数据。
实际导入速度与数据库性能有关,实测 96072 条数据导入用时 114s ,大概 842 条/s 。使用的是测试库,数据库的性能可能会对数据导入造成直接影响。
全文完。
原文始发于微信公众号(生有可恋):PL/SQL Developer 自带的数据导入工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论