禁用sql loader的c ++输出消息

时间:2013-03-14 09:27:05

标签: c++ linux g++ sql-loader

我有一个C ++代码,我使用system()使用sql loader。当SQL Loader在运行代码时执行时,我得到了下面提到的要禁用的消息:

SQL*Loader: Release 10.2.0.1.0 - Production on Thu Mar 14 14:11:25 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Commit point reached - logical record count 20
Commit point reached - logical record count 40
Commit point reached - logical record count 60
Commit point reached - logical record count 80

2 个答案:

答案 0 :(得分:4)

请记住,system函数使用shell来执行命令。所以你可以使用普通的shell重定向:

system("/some/program > /dev/null");

答案 1 :(得分:3)

您可以使用silent=ALL选项取消这些消息:

system("/orahomepath/bin/sqlldr silent=ALL ...")

另见SQL*Loader Command-Line Reference

  

当SQL * Loader执行时,您还会在屏幕上看到反馈消息,例如:

     

达到提交点 - 逻辑记录计数20

     

您可以通过使用一个或多个值指定SILENT来取消这些消息:

     
      
  • ...
  •   
  • ALL - 实现所有抑制值:HEADER,FEEDBACK,ERRORS,DISCARDS和PARTITIONS。
  •   

根据sql * ldr的实现,可能仍然以一个或另一个输出结束 - 如果你需要完全沉默,请参阅下面@Joachim的答案。