我知道sqlldr可以把txt导入数据库那怎样把execl导入oracle数据库?有好的方法吗?
解决方案 »
- oracle字符串比较问题
- C#如何操作oracleLong数据类型(增删改查)
- oracle 10g无法安装
- 字符串做主键,效率相比数字会低多少呢?
- 知道某年的第几个完整周,如何得到该周的起始日期和结束日期呢?
- 求教!我用console登陆的时候为什么老是提示“提供的登陆身份证明无效”???
- 最简单的存储过程都建不了,为什么?
- 在sqlplus里调用调试存储过程的语法怎么写?
- 请问在Windows2003上要安装Oracle11g的RAC,到哪里下载集群软件?
- 调用存储过程报oracle 6550 第1行 第7列
- Oracle建立带参数的存储过程,出现错误
- 求助:oracle中全文检索时应用通配符(%)性能下降的多么?
的代码吧
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
1、MicroSoft Excel文件(F)→另存为(A)→ 保存类型为:制表符分隔,起名为text.txt,保存到C:\2、连入SQL*Plus
以system/manager用户登录,
SQL> conn system/manager 创建表结构
SQL> create table test
(
id number, --序号
username varchar2(10), --用户名
password varchar2(10), --密码
sj varchar2(20) --建立日期
);3、创建SQL*Loader输入数据所需要的文件,均保存到C:\,用记事本编辑:
控制文件:input.ctl,内容如下:
load data --1、控制文件标识
infile 'test.txt' --2、要输入的数据文件名为test.txt
append into table test --3、向表test中追加记录
fields terminated by X'09' --4、字段终止于X'09',是一个制表符(TAB)
(id,username,password,sj) --定义列对应顺序
a、insert,为缺省方式,在数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上4、在DOS窗口下使用SQL*Loader命令实现数据的输入
C:\>sqlldr userid=system/manager control=input.ctl
默认日志文件名为:input.log
默认坏记录文件为:input.bad5、连接到SQL*Plus中,查看是否成功输入方法二:使用PL/Sql
1、打开MicroSoft Excel文件(F);2、使用PL/Sql连上相应数据库,执行select * from DESTTABLE for update取消锁定3、选中Excel中要导入的数据区域,保证列的顺序和数据库字段顺序一致,ctrl+c;4、选中PL/Sql中 DESTTABLE的要导入的列,ctrl+v;5、执行post changes(小绿钩),然后commit。方法三:使用Toad
没有装工具,还没试方法四:使用odbc+pb
用不同的odbc驱动程序连接不通的数据库
然后在pb环境中启动数据管道,利用数据管道传输数据
缺点:数据量大的时候,容易发生回滚段的问题,因为其无法指定专用的回滚段
也没试过方法五:使用sqlserver 的dts
做一个DTS连接把EXCEL与ORACLE 对应 的连接起来就可以直接运行导入数据了
也没试过方法六:使用excel生成脚本
比如excel文件中有id, name两列(分别为A列和B列), 要导入的表为person(person_id, person_name)1、在excel 文件的sheet的最右列, 添加一列, 对应第一行数据的单元格写入以下内容:= "INSERT INTO PERSON(PERSON_ID, PERSON_NAME) VALUES('" & A1 & "', '" & B1 & "');"2、然后把这一行复制到所有数据行对应的列中.3、这一列的内容拷贝出去保存, 即成为可以直接在sql*plus下运行的脚本.方法七:使用Ultra Edit等生成脚本
用列编辑功能加上insert into ....等等方法八:使用VBA生成脚本
在Excel里加个按钮,编个宏
觉得还不如方法六简便,对用户也不够友好。
LOAD DATA
INFILE "users_data.csv" truncate
INTO TABLE users
Fields terminated by ","
Optionally enclosed by '"'
trailing nullcols
(
user_id ,
user_name,
login_times,
last_login DATE "YYYY-MM-DD HH24:MI:SS"
)
2、使用sqlldr导入oracle数据库。