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