Oracle数据库表导出和导入csv文件操作


数据库是Oracle 9i

1、导出csv文件

这个十分简单,用pl/sql工具即可,首先选中要导出的表,右键选择Query data,在左侧出现的窗口中,选择Export Query Restls  选择要导出的文件类型即可,一般都导csv格式。

2、导入csv文件

比喻数据库里有表t_province   字段1:province  字段2:city

CSV文件存放路径:f:\test.csv    列需与数据库保持一致

还需要编写一个test.ctl文件,内容如下:

load data

infile 'f:\城市.csv'

into table "T_PROVINCE"

fields terminated by ','

(province,city)

然后在cmd下,输入:sqlldr userid=clevergirl/clevergirl@ORCL_192.168.128.129 control=f:test.ctl   然后回车即可

3、几个值得注意的地方

一开始我是这样写的:sqlldr control=f:\test.ctl log=f:test.log

报了:SQL*Loader-704:  内部错误: ulconnect: OCIServerAttach [0]

ORA-12560: TNS: 协议适配器错误

上网查了下,说是和环境变量有关,可以修改,但我觉得还是自己指定算了

然后我怕权限不够,所以直接用sys用户登录:sqlldr userid=sys/sys@ORCL_192.168.128.129 control=f:test.ctl

报了:SQL*Loader-128:  无法开始会话

ORA-28009: connection to sys should be as sysdba or sysoper

上面这个换成正确的后,又报了一个

SQL*Loader-941:  在描述表 "t_province" 时出错

ORA-04043: 对象 "t_province" 不存在

这个错误的问题出在ctl文件,里面的表名要大写才OK

相关内容