我有一个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
答案 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的答案。