数据库是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