在AnySQL.net中搜索标签(Tags) 'Excel' 的结果:
ociuldr更新(2008/01/25)
到现在为止, 免费文本导出小工具(ociuldr)的累计下载次数已经突破5000次, 已经有很多的知名的大公司, 选择下载源代码, 进行编译和使用, blue_prince在阿里巴巴更是创下了导出文本速度的新记录. 而我大约是这个工具的最大用户吧, 昨天花了二个小时, 给数据仓库组导了10亿条记录, 在导的过程中发现了一个无关紧要的小问题, 当文字类型字段不是从表中直接来时, 可能会分配过多的内存. 如下所示. C:\>ociuldr user=test/test query="select '' from dual" 1638450 bytes allocated for column '' (1) 0 rows exported at 2008-01-25 08:39:37 1 rows...
ociuldr的更新, 为了更好的long类型支持
以前一直以为sqlldr不能装载大于4k大小的文本, 原来这个理解是错误的. 但是在免费的文本导出程序ociuldr中, 没有充分考虑long类型. 第一, 用于fetch的数组大小是固定的500, 第二默认的long类型导出长度是4000. 最主要的原因是ARRAY固定为500不是件好事, 如果我指定long的导出长度为1MB, 那不是得用掉500M的系统内存? 在最新的改进中, ARRAY SIZE的默认值变为50, 最小值为5, 最大值为2000, LONG类型的默认导出长度为32K, 还有就是LONG类型的导出长度乘以ARRAY SIZE的值不能超过100MB, 如果超出, 则ARRAY SIZE的值变为100MB除以LONG导出长度后的值, 如果不足5, 则设为5. 命令行帮助中多了两行: long = maximum long field size array = array fetch size...
终于给ociuldr加上退出代码了
半年多前有人提出这个需求, 当时我也没有空去处理这事, 就搁下了. 今天将程序改动了一下, 增加了退出代码, 退出代码的含义如下: 0 = Successful 1 = Cannot login to database 2 = Cannot create cursor handle 3 = Cannot prepare SQL statement 4 = Cannot execute SQL query 5 = Cannot get the...
ociuldr小工具的新选项, 指定log文件
ociuldr工具(文档)越来越被人接受, 还有一位外国人特意发邮件来告诉我说, 他成功地将这个工具用于一个项目中. 即使是小工具, 也需要花不少时间去完善和维护的. 今天为这个工具新增了一个小选项: log = log file name, prefix with + to append mode 用法如下: ociuldr user=ansyql/anysql@s8i query="select * from tab" log=tab.log ociuldr user=ansyql/anysql@s8i query="select * from tab" log=+tab.log 指定log选项后, 运行ociuldr后将不会在屏幕上打印出log信息....
ociuldr的新选项, 是否在第一行打印字段名
自从blue_prince用ociuldr在1小时内导出了7亿条(50G)记录后, 他就坚持不懈地使用ociuldr来从Oracle中导出数据到格式化文本, 并提出众多的无理要求, 如要支持分成几个文件导出. 今天他又提出了一个新要求, 要在文件的第一行打印字段名, 以符合他们的规范. 我没有立马答应, 但承诺将它列为2008年工作重点, 结果他说要坐车过来请我吃饭, 要我立马完成. 于是我立马改进, 立马在主页上发布他欠我一饨饭的信息, 下次谁要和我一起去杭州的, 就占光好了. 为了实现这个功能, 增加了一个head选项, 默认还是不打印字段名, 当设为Yes或on时就会在文件的第一行打印出字段名了. 如下面的命令: ociuldr user=anysql/anysql query="select * from tab" head=on 生成的文件如下所示: TNAME,TABTYPE,CLUSTERID A,TABLE, A_V,VIEW, CCC,TABLE,...
在ociuldr的SQL中使用绑定变量
在以前的ociuldr中不能使用绑定变量, 现在作了一些改进, 允许传入最多20个绑定变量(我想也够用了吧), 所有的变量类型都被当作VARCHAR2类型. 这样的改进不知道是否有必要, 还不得而知. SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ -------------- ---------- AULEXT TABLE A_SEQ_SYN SYNONYM A_V VIEW OBJD_LIST TABLE T TABLE TRANSACTION_CACHE_IOT_0 TABLE T_HASH TABLE T_LOB TABLE T_LONG TABLE T_LONGRAW TABLE T_TRUNC2 TABLE T_TRUNC4 TABLE 12 rows selected. C:MYDUL>ociuldr user=anysql/anysql@test...
ociuldr支持分成几个文件导出了
一网友导出了7亿多条记录之后, 生成了一个50g大小的文本文件, 却发现Perl处理起来比较难, 于是问我是不是可能导出成几个文件. 现在对程序作了改进, 增加了一个命令行选项:batch. 指定在几个batch后切换文件名, 默认一个batch是50万条记录, 如果指定batch为2就表示100万条记录换一个文件. 默认这个选项值是0, 就是指不生成多个文件. 在指定batch选项后, 请指定file选项来定义生成的文件名, 中间请包含"%d"字样, 在生成文件时, "%d"会被打印成序号. 例如要导出下面的表: SQL> SELECT COUNT(*) FROM T_OBJID; COUNT(*) ---------- 2430720 用如下命令进行导出, 请观查log输出: C:\TEMP>ociuldr user=anysql/anysql query="select * from t_objid" batch=2 file=test_%d.txt...
ociuldr小工具的新选项 -- table
给我的小工具ociuldr加了一个命令行选项: table = table name in the sqlldr control file 默认这个选项的值为空, 这样的话就不会生成用于sqlldr装裁的控制文件, 如果定义了这个选项的值, 则会生成"表名_sqlldr.ctl"这样的控制文件, 以方便使用. C:\TEMP>ociuldr user=anysql/anysql query="select * from tab" table=tab 0 rows exported at 2006-11-16 21:49:12 5 rows exported at 2006-11-16 21:49:12...
如何将Oracle的数据导成Excel中的CSV格式?
在网上看到有人问如何导出数据成Excel的CSV格式文件, 其实CSV格式只不过是以逗号分隔字段的文件本件, 用Spool或用ociuldr都可以很容易地将数据生成这种格式的文本文件. 用ociuldr的例子如下: C:\TEMP>ociuldr user=anysql/anysql@test query="select * from tab" field=, file=anysql_tab.csv 3100 bytes allocated for column TNAME (1) 800 bytes allocated for column TABTYPE (2) 4100 bytes allocated for column CLUSTERID (3) 0 rows exported...
站内搜索 | Search
总数: 536 | 留言: 1707
- Name: Fangxin Lou
- MSN: anysql©live.com
- Mail:anysql©yahoo.com
anysql©gmail.com - Skype: anysql
- AIM: loufangxin
- Mobile:008615925611590
分类 | Categories
软件下载:
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql