0

我有一个 C++ 代码,我在其中使用 .sql 加载器system()。当 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
4

2 回答 2

4

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

system("/some/program > /dev/null");
于 2013-03-14T09:32:27.777 回答
3

您可以使用该silent=ALL选项来抑制这些消息:

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

另请参阅SQL*Loader 命令行参考

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

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

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

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

Depending on the sql*ldr implementation, you might still end up with one or the other output - if you need complete silence, see the answer from @Joachim below.

于 2013-03-14T09:34:09.903 回答