oracle中文本数据的导入可以利用sqlldr,导出成文本可以用spool命令实现,当然也可以借助第三方工具,例如golder,dts等
sqlldr的具体使用你可以参看
http://blog.csdn.net/s98/archive/2004/10/05/125627.aspx
这些已经可以实现你的1、2点至于第3、4点可以用spool命令实现,spool的用法很简单,oracle导出成文本的时候默认是没有分隔符的
spool命令的写法就是:
spool filename
select ... from tab_name where ...;
spool off
要什么格式可以在select中处理
sqlldr的具体使用你可以参看
http://blog.csdn.net/s98/archive/2004/10/05/125627.aspx
这些已经可以实现你的1、2点至于第3、4点可以用spool命令实现,spool的用法很简单,oracle导出成文本的时候默认是没有分隔符的
spool命令的写法就是:
spool filename
select ... from tab_name where ...;
spool off
要什么格式可以在select中处理
有没有办法实现?
spool写成bat文件,在程序中调用问题也不大
我们可以用Oracle的sqlldr工具来导入数据。例如:
sqlldr scott/tiger control=loader.ctl
控制文件(loader.ctl) 将加载一个外部数据文件(含分隔符). loader.ctl如下:
load data
infile 'c:\data\mydata.csv'
into table emp
fields terminated by "," optionally enclosed by '"'
( empno, empname, sal, deptno ) mydata.csv 如下:
10001,"Scott Tiger", 1000, 40
10002,"Frank Naude", 500, 20 如果我本身是导入不同的文件名,那么我岂不是每次都要向办法修改infile 的数据文件名?spool的bat,能不能具体一点说说看?唉,没有办法,我是一个大大的菜鸟。还请你不要嫌我烦啊。
sqlldr本来就是在dos下运行的我的意思是说,能不能不通过外部调用,而是在delphi里面使用类似内部函数这样的方式进行调用,有没有办法?
需要注意的就是需要设置一下spool的文本信息内容,如
set pagesize 0等,将执行的sql和列名等不要显示出来,其它的也没什么程序调用sqlldr的话也只是调用shell执行sqlldr命令,没有什么特殊的啊