某国外网友不满于SQLULDR2中的默认日期格式, 还想控制数字类型的千位分隔符, 这些都需要在会话级更改一些设置才能工作, 一开始设计SQLULDR2时没有考虑到这一点, 没有提供灵活的会话级设置功能, 考虑到提议不错, 就加了一个命令行选项(“ALTER”)实现了, 可以将多个ALTER SESSION的语句用逗号分隔, 传给SQLULDR2程序. 可以写入到参数据文件(testpar.txt).

user=webchart/webchart@localhost:1521/testdb
query=select sysdate from dual
alter=alter session set nls_date_format=’yyyy-mon-dd’;
      alter session set nls_date_format=’yyyy-mm-dd’;

    运行如下命令, 进行测试.

sqluldr2 parfile=testpar.txt

    看一下生成的文件中, 日期的格式, 已不是默认格式(“YYYY-MM-DD HH24:MI:SS”)了. 需要注意的是, 生成的控制文件中, 则还是默认的格式, 没有根据会话级设置而相应改变.

D:\OracleClient>type uldrdata.txt
2009-06-03

    不知道有多少人真的要用到这个功能, 关于性能的一些调整项已经做成专门的命令行选项了.