我现在有很都数据,如下:
13015133312 1
13015136440 1
13015136440 0
13019533042 1
13150894884 1
13150894819 1
........
有几万行,请问怎么导入到oracle数据库中,比如我现在已经有了用户名csdn,还有很有一个表test,怎么导进去? 谢谢各位高手。
13015133312 1
13015136440 1
13015136440 0
13019533042 1
13150894884 1
13150894819 1
........
有几万行,请问怎么导入到oracle数据库中,比如我现在已经有了用户名csdn,还有很有一个表test,怎么导进去? 谢谢各位高手。
解决方案 »
- 能不能强制创建view
- 一次性删除大量数据是否会造成高级复制中的延迟事务阻塞
- 在imp导入数据库的时候,产生很多无效对象,一般都什么原因?
- Mapinfo的地图上载到Oracle的Spatial后为什么打开地图变得很慢
- 一个简单的存储过程的问题
- 选择数据库的迷惑
- 无法再次安装Oracle9i
- 高分求教,数据库中数据为'?'(中文问号),使用JDBC读取后写入文件就变成'?'(ASC问号),怎么办?
- sql*net问题,急急急!!!!
- Oracle中怎样用存储过程将一段字符串以逗号为界截取,并将得到的子串存到另一张表中
- 50分在线求解(有合适答案+50),ORA-01502疑难问题
- 有人对Oracle ERP了解吗?
load data
into table table1
replace
fields terminated by ' '
trailing nullcols
(
mobileNo,
flag
)
或者:
用PL/SQL Developer的Tool里面的Text importer将记录导入(底层也是调用sqlldr)
需要的是建立一个符合格式要求的数据文件和一个控制文件。
楼上说的myctl.ctl就是一个控制文件,而
sqlldr uesrid=xx/pw@tnssid control=myctl.ctl data=file.txt log=log.txt bad=bad.txt
则是sqlldr的调用方法。(不过好像把userid错写成uesrid了)
你的文件是以四个半角空格分隔的两个字段列,所以控制文件中指定
into table table1 <- 这是制定要装入表的表名
...
fields terminated by ' ' <-这里制定字段之间由四个空着分割
...
(
mobileNo, <- 这里制定了要装入表的字段名
flag
) 总体来讲很简单的,你可以试试。
当然,数据文件的物理文治也可以写在控制文件中,这样你的命令行能够短一点。
infile 'path\filename'
13015133312 1
13015136440 1
13015136440 0
13019533042 1
13150894884 1
13150894819 1 创建表:
SQL> create table test(fld1 int,fld2 int);
创建控制文件:test.ctlLOAD DATA
INFILE 'test.txt'
INSERT INTO TABLE test
FIELDS TERMINATED BY " "
(
FLD1,
FLD2
)到数据目录下DOS窗口运行:C:\test>sqlldr userid=test/test control='test.ctl'SQL*Loader: Release 9.2.0.1.0 - Production on Fri Aug 1 11:38:53 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Commit point reached - logical record count 5
Commit point reached - logical record count 6查询:
SQL> select * from test; FLD1 FLD2
--------------------------------------- ---------------------------------------
13015133312 1
13015136440 1
13015136440 0
13019533042 1
13150894884 1
13150894819 16 rows selected成功.