ORACLE里面BULK INSERT语法有么? 如何像SQL SERVER那样利用BULK INSERT那样大批量导入格式化文本文件呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用sqlload吧Oracle 的SQL*LOADER可以将外部数据加载到数据库表中。下面是SQL*LOADER的基本特点:1)能装入不同数据类型文件及多个数据文件的数据2)可装入固定格式,自由定界以及可度长格式的数据3)可以装入二进制,压缩十进制数据4)一次可对多个表装入数据5)连接多个物理记录装到一个记录中6)对一单记录分解再装入到表中7)可以用 数对制定列生成唯一的KEY8)可对磁盘或 磁带数据文件装入制表中9)提供装入错误报告10)可以将文件中的整型字符串,自动转成压缩十进制并装入列表中。 非常感谢。查了写资料看到有一个forall的出来,不过也是利用insert into ...组条插入,然后批量利用commit提交的,性能到底提升多少表示怀疑。sqlload倒是一个不错的方法。这里我有一个疑问请教:我是利用一个自己开发的工具实现数据的导入的,因为其他系统过来的数据源源不断有产生,我需要把他缠身的数据随时监控随时导入ORACLE数据库。这样子的话我就需要调用sqlload来实现可控制的导入。不知道这个方案是否可行?多谢指点。 那你问问题就没说明白。你到底是要将文件批量 入进数据库。。还是 入进数据库后,对这些数据二次加工批量处理到其他表?这完全就是2回事了,文件入库,oracle提供了sqlload。如果是表 对表的批量处理,oracle 有 bulk collect into批量处理语句 那你问问题就没说明白。你到底是要将文件批量 入进数据库。。还是 入进数据库后,对这些数据二次加工批量处理到其他表?这完全就是2回事了,文件入库,oracle提供了sqlload。如果是表 对表的批量处理,oracle 有 bulk collect into批量处理语句哦,是这样的。我是文件导入数据库的应用。场景如下:其他系统 ---->产生文本格式化文件---->自动软件调用sqlload导入数据库 如果你用proc编程,组用好了,应该是效率很高的,比sqlldr不会慢多少。用OCI的话,里面有一种称为DPL技术,说白了就是sqlldr的API,效率也是很高的。V9以后的proc组插入,我猜可能统一到DPL了。因为你这是一个自动流水线过程,建议你试试程序插入,这样好控制异常以及异常处理。 多谢,的确如此。我这里确实是一个流水线作业的过程。其他系统生产格式化文本数据 ----->伺服进程负责监视格式化数据产生------>定时格式化导入目标数据库这里我计划使用的是编写一个程序来监视目标文件,然后自动导入数据库。不过目前我使用的是ADO或者更给为使用OCI接口数据库编程。 那其实很简单了,你写个C#程序判断下文件有没有生成,然后调用SQLLDR就可以了,它其实是一个批处理命令,就跟调用BAT一样的。 先这么做吧。我试试看。那其实很简单了,你写个C#程序判断下文件有没有生成,然后调用SQLLDR就可以了,它其实是一个批处理命令,就跟调用BAT一样的。 可以批量使用数据集。BULK COLLECT INTO 查查这个用法,能不能满足你的要求。 要是用INSERT的话,可以考虑用并行、直接路径、NOLOGGING方式 数据库索引添加原则? 练习 ACCEPT是SQL命令吗? 大家帮忙想一下如何实现如下要求的sql语句!!!!!! 我在oracle数据库中有个Number类型的字段,长度为12位,但用delphi读取出来的数不正确。 SQL的COPY问题 有关oracle的复制问题。 向懂ORACLE的求助!! 新手问题,关于数据库备份恢复的问题 连接数据库,,, 2008的64位系统,装plsql + 装64位oracle + 装 32位 Oracle 求助!!! RAC验证节点信任关系!!!!!!
Oracle 的SQL*LOADER可以将外部数据加载到数据库表中。下面是SQL*LOADER的基本特点:1)能装入不同数据类型文件及多个数据文件的数据
2)可装入固定格式,自由定界以及可度长格式的数据
3)可以装入二进制,压缩十进制数据
4)一次可对多个表装入数据
5)连接多个物理记录装到一个记录中
6)对一单记录分解再装入到表中
7)可以用 数对制定列生成唯一的KEY
8)可对磁盘或 磁带数据文件装入制表中
9)提供装入错误报告
10)可以将文件中的整型字符串,自动转成压缩十进制并装入列表中。
那你问问题就没说明白。
你到底是要将文件批量 入进数据库。。
还是 入进数据库后,对这些数据二次加工批量处理到其他表?这完全就是2回事了,文件入库,oracle提供了sqlload。
如果是表 对表的批量处理,oracle 有 bulk collect into批量处理语句
那你问问题就没说明白。
你到底是要将文件批量 入进数据库。。
还是 入进数据库后,对这些数据二次加工批量处理到其他表?这完全就是2回事了,文件入库,oracle提供了sqlload。
如果是表 对表的批量处理,oracle 有 bulk collect into批量处理语句
哦,是这样的。我是文件导入数据库的应用。场景如下:其他系统 ---->产生文本格式化文件---->自动软件调用sqlload导入数据库
因为你这是一个自动流水线过程,建议你试试程序插入,这样好控制异常以及异常处理。
那其实很简单了,你写个C#程序判断下文件有没有生成,然后调用SQLLDR就可以了,它其实是一个批处理命令,就跟调用BAT一样的。
BULK COLLECT INTO 查查这个用法,能不能满足你的要求。