如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中
方法一,使用SQL*Loader
这个是用的较多的方法,前提必须oracle数据中目的表已经存在。
大体步骤如下:
1 将excle文件另存为一个新文件比如文件名为text.txt,文件类型选文本文件(制表符分隔),这里选择类型为csv(逗号分隔)也行,但是在写后面的control.ctl时要将字段终止符改为','(fields terminated by ','),假设保存到E盘根目录。
2 如果没有存在的表结构,则创建,假设表为test,有两列为dm,ms。
3 用记事本创建SQL*Loader控制文件,网上说的文件名后缀为ctl,其实我自己发现就用txt后缀也行。比如命名为control.ctl,内容如下:(--后面的为注释,实际不需要)
load data --控制文件标识
infile 'e:\text.csv' --要输入的数据文件名为test.txt
append into table test --向表test中追加记录
fields terminated by X'09' --字段终止于X'09',是一个制表符(TAB)
如果字段数据有"",可加上optionally enclosed by '"'
trailing nullcols
(dm,ms) --定义列对应顺序
备注:数据导入的方式上例中用的append,有一下几种:insert,为缺省方式,在数据装载开始时要求表为空;append,在表中追加新记录;replace,删除旧记录,替换成新装载的记录 ;truncate,同replace。
4 在命令行提示符下使用SQL*Loader命令实现数据的输入
sqlldr userid=system/manager@orcl control='e:\control.ctl' log=e:\l
相关文档:
一、ORACLE的启动和关闭
1、在单机环境下
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
su - oracle
a、启动ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
b、关闭ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVR ......
数据库查询中难免会遇到行列转换的情况,摘列一些较精典的解决方案
--####################################################################
一、采用SQL decode和PL/SQL函数实现
--####################################################################
1、固定列数的行列转换
如
student subject grade
---- ......
in 的话, 如果是null 就不比较了,既不是in 也不是 not in
exists的话 因为用 = 加在条件里比较了,所以 null 是 not exists
select *
from pricetemp
where cast(商品コード as varchar(10))not in(
select shohin_cd
&nbs ......
1.OS认证
Oracle安装之后默认情况下是启用了OS认证的,这里提到的os认证是指服务器端os认证。OS认证的意思把登录数据库的用户和口令校验放在了操作系统一级。如果以安装Oracle时的用户登录OS,那么此时在登录Oracle数据库时不需要任何验证,如:
SQL> connect /as sysdba
已连接。
SQL> connect sys/aaa@test as ......
最近有一任务,需要使用Oracle数据库,以前对此不太熟悉,就从网上查找资料,(说实在的网络真是太好了,也多亏了许多的热心的技术人员,愿意把自己的经验和心得与大家分享)并转贴了一个帖子参考,不过此帖子有些地方没有说清楚,确实让我费了好大劲,才测试成功。下面我把我的步骤说明一下:(环境:Windows XP sp2 + vs ......