你要怎么样的快,delphi首先要在文本中取数据,批量的处理就用循环好了。
解决方案 »
- oracle 多字段全完检索 怎么实现索引的自动更新
- 散分啦——oracle连接查询
- 如果使用RMAN备份在其他机器上进行数据库恢复(两台机器的目录不一致)?
- 请教oracle安装问题?
- 关于空结果集的处理
- 请bzszp(www.bzszp.533.net) 、 freddy2003()、 jack_4826(天下无双)阶段接分! 创建生成脚本(解决后再散500分) 一笑而过让散的500分
- 为什么我的存储过程每次数据库重新启动后都要重新编译一次??(急切等待中!!!!!!)
- 从oracle73到oracle8
- 奇怪的问题 ORA-00907: 缺少右括号
- PL/SQL使用substr方法查询出现乱码,与sqlplus结果不一致
- ===求存储过程,关于事务处理===
- pl/sql简单问题
使用delphi在文本中取数据效率比较差
有兴趣的话可以联系:[email protected]
能给一些例子吗,万分感谢
http://bbs.javaejb.com/cgi-bin/topic.cgi?forum=6&topic=3&changemode=1
不过最好 找本书看看,看1个小时简单的应用就可以搞定了。
或者自己在百度上搜SQLLDR 例子,找也能找到不少例子
使用sql*loader需要有一个控制文件,由控制文件来确定数据文件的格式,然后进行装载,一个控制文件的典型形式如下:
load data
infile 'example.dat' --指出数据文件的名字是example.dat
into table example --插入数据到表名及字段名,默认每个字段以逗号来分隔
fields terminated by ',' optionally enclosed by '"'
(col1 char(5),
col2 char(7))数据文件的格式如下,默认情况下,sql*loader以换行符作为一条记录结束
example.dat:
hello,world
james,bond写好控制文件以后,用sqlldr调用:
--SQLLDR是一个可执行文件,你必须安装了oracle utility选项才会有这个工具,应该在你oracle的bin目录下
SQLLDR CONTROL=foo.ctl, LOG=bar.log, BAD=baz.bad, DATA=etc.dat
USERID=scott/tiger, ERRORS=999, LOAD=2000, DISCARD=toss.dis,
DISCARDMAX=5一下是sqlldr的一些参数,直接打sqlldr命令不带参数,就会显示下面的信息
sqlldr
...
SQL*Loader: Release 9.2.0.1.0 - Production on Wed Feb 27 12:06:17 2002
(c) Copyright 2002 Oracle Corporation. All rights reserved.
Usage: SQLLDR keyword=value [,keyword=value,...]
Valid Keywords:
userid -- ORACLE username/password
control -- Control file name
log -- Log file name
bad -- Bad file name
data -- Data file name
discard -- Discard file name
discardmax -- Number of discards to allow (Default all)
skip -- Number of logical records to skip (Default 0)
load -- Number of logical records to load (Default all)
errors -- Number of errors to allow (Default 50)
rows -- Number of rows in conventional path bind array or between
direct path data saves
(Default: Conventional path 64, Direct path all)
bindsize -- Size of conventional path bind array in bytes (Default 256000)
silent -- Suppress messages during run (header,feedback,errors,discards,partitions)
direct -- use direct path (Default FALSE)
parfile -- parameter file: name of file that contains parameter specifications
parallel -- do parallel load (Default FALSE)
file -- File to allocate extents from
skip_unusable_indexes -- disallow/allow unusable indexes or index partitions (Default FALSE)
skip_index_maintenance -- do not maintain indexes, affected indexes as unusable (Default
FALSE)
readsize -- Size of Read buffer (Default 1048576)
external_table -- use external table for load; NOT_USED, GENERATE_ONLY, EXECUTE (Default NOT_
USED)
columnarrayrows -- Number of rows for direct path column array (Default 5000)
streamsize -- Size of direct path stream buffer in bytes (Default 256000)
multithreading -- use multithreading in direct path
resumable -- enable or disable resumable for current session (Default FALSE)
resumable_name -- text string to help identify resumable statement
resumable_timeout -- wait time (in seconds) for RESUMABLE (Default 7200)
date_cache -- size (in entries) of date conversion cache (Default 1000)
接下来在delphi里调用就不用我写了吧?很累的
如果单纯为了导数据可以直接对数据库定时运行sqlloader脚本即可
USERID=scott/tiger, ERRORS=999, LOAD=2000, DISCARD=toss.dis,
DISCARDMAX=5DATA=etc.dat 的路径可以是其他机器吗?客户端的相关目录一定要共享吗?