搜索
您的当前位置:首页正文

sqluldr2的介绍

2020-11-09 来源:知库网

Sqluldr2 简单介绍 : 简介: Sqluldr2 :专业用于大数据量导出工具之一,效率比普通导出快70%。 ( Sqlldr :专业用于导入的工具之一,请注意两个工具的区别。),在使用时,最好用磁盘写入速度快,网络好,网速快的做。 内部实现 : [sql] view plaincopy #inc

Sqluldr2

简单介绍:

简介:

Sqluldr2:专业用于大数据量导出工具之一,效率比普通导出快70%。 ( Sqlldr:专业用于导入的工具之一,请注意两个工具的区别。),在使用时,最好用磁盘写入速度快,网络好,网速快的做。

内部实现:

[sql] view plaincopy

  1. #include
  2. #include "sqluldr2.h"
  3. void main()
  4. {
  5. void *h = NULL;
  6. SQLULDR2HandleAlloc(&h);
  7. if(h != NULL)
  8. {
  9. SQLULDR2HandleSetAttr(h, "USER=SYS");
  10. SQLULDR2HandleSetAttr(h, "QUERY=SELECT * FROM TAB");
  11. SQLULDR2HandleExecute(h);
  12. SQLULDR2HandleFree(h);
  13. }
  14. }



工具列表:

针对不同平台用不同的导出工具:

Windows: sqluldr2.exe

Linux(32位): sqluldr2_linux32_10204.bin

Linux(64位): sqluldr2_linux64_10204.bin

使用说明 (Windows平台):

使用sqluldr2的步骤:

1.打开运行àcmd进入到sqluldr2.exe的当前目录

2.参数介绍

User=用户/密码@tns

Query=”查询语句”

File= 导出的路径

Head= 输出信息时,yes表示要表头,no表示不要表头

注意:想查看更多参数,请输入 sqluldr2 help=yes

[sql] view plaincopy

  1. C:\Users\meng\Desktop\sqluldr2>sqluldr2.exe help=yes
  2. SQL*UnLoader: Fast Oracle Text Unloader (GZIP, Parallel), Release 4.0.1
  3. (@) Copyright Lou Fangxin (AnySQL.net) 2004 - 2010, all rights reserved.
  4. License: Free for non-commercial useage, else 100 USD per server.
  5. Usage: SQLULDR2 keyword=value [,keyword=value,...]
  6. Valid Keywords:
  7. user = username/password@tnsname
  8. sql = SQL file name
  9. query = select statement
  10. field = separator string between fields
  11. record = separator string between records
  12. rows = print progress for every given rows (default, 1000000)
  13. file = output file name(default: uldrdata.txt)
  14. log = log file name, prefix with + to append mode
  15. fast = auto tuning the session level parameters(YES)
  16. text = output type (MYSQL, CSV, MYSQLINS, ORACLEINS, FORM, SEARCH).
  17. charset = character set name of the target database.
  18. ncharset= national character set name of the target database.
  19. parfile = read command option from parameter file
  20. read = set DB_FILE_MULTIBLOCK_READ_COUNT at session level
  21. sort = set SORT_AREA_SIZE at session level (UNIT:MB)
  22. hash = set HASH_AREA_SIZE at session level (UNIT:MB)
  23. array = array fetch size
  24. head = print row header(Yes|No)
  25. batch = save to new file for every rows batch (Yes/No)
  26. size = maximum output file piece size (UNIB:MB)
  27. serial = set _serial_direct_read to TRUE at session level
  28. trace = set event 10046 to given level at session level
  29. table = table name in the sqlldr control file
  30. control = sqlldr control file and path.
  31. mode = sqlldr option, INSERT or APPEND or REPLACE or TRUNCATE
  32. buffer = sqlldr READSIZE and BINDSIZE, default 16 (MB)
  33. long = maximum long field size
  34. width = customized max column width (w1:w2:...)
  35. quote = optional quote string
  36. data = disable real data unload (NO, OFF)
  37. alter = alter session SQLs to be execute before unload
  38. safe = use large buffer to avoid ORA-24345 error (Yes|No)
  39. crypt = encrypted user information only (Yes|No)
  40. sedf/t = enable character translation function
  41. null = replace null with given value
  42. escape = escape character for special characters
  43. escf/t = escape from/to characters list
  44. format = MYSQL: MySQL Insert SQLs, SQL: Insert SQLs.
  45. exec = the command to execute the SQLs.
  46. prehead = column name prefix for head line.
  47. rowpre = row prefix string for each line.
  48. rowsuf = row sufix string for each line.
  49. colsep = separator string between column name and value.
  50. presql = SQL or scripts to be executed before data unload.
  51. postsql = SQL or scripts to be executed after data unload.
  52. lob = extract lob values to single file (FILE).
  53. lobdir = subdirectory count to store lob files .
  54. split = table name for automatically parallelization.
  55. degree = parallelize data copy degree (2-128).
  56. hint = MySQL SQL hint for the Insert, for example IGNORE.
  57. unique = Unique Column List for the MySQL target table.
  58. update = Enable MySQL ON DUPLICATE SQL statement(YES/NO).
  59. for field and record, you can use '0x' to specify hex character code,
  60. \r=0x0d \n=0x0a |=0x7c ,=0x2c, \t=0x09, :=0x3a, #=0x23, "=0x22 '=0x27
  61. C:\Users\meng\Desktop\sqluldr2>


代码例子1:

sqluldr2.exe USER=用户/密码@tnsQUERY="select /*+ parallel(8) */ *from cs_XXX dt,cfg_XXX devdim105 wheredt.starttime>=to_date('2012-06-27 00:00:00','yyyy-mm-dd hh24:mi:ss') and dt.starttime<=to_date('2012-06-2700:01:59','yyyy-mm-dd hh24:mi:ss') AND dt.msc= devdim105.mapvalue(+) ANDdevdim105.deviceid=15 " head=yes FILE=F:\cs_XXX_test.csv

代码例子2(这种方式用于导出的查询sql很长,那么就把sql写在123.sql文件里 ):

sqluldr2.exe USER=用户/密码@tns sql=123.sqlhead=yes FILE=F:\cs_XXX_test.csv

3.在cmd里,直接把步骤2的代码例子1 ,贴进去执行。

注:如果执行报报错,就有可能是环境变量path的问题,还有就是plsql需要的oci.dll文件等多个dll文件,请放在sqluldr2的目录下。

4.查看结果F:\cs_XXX_test.csv

5.打开csv里面的内容,就可以用sqlldr进行 入库。

Top