禁用SQL加载器的c++输出消息

disabling c++ output message for sql loader

本文关键字:c++ 输出 消息 SQL 加载 禁用      更新时间:2023-10-16

我有一个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

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

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

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

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

参见SQL*Loader命令行参考:

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

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

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

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

根据sql*ldr实现的不同,可能最终仍然会得到一个或另一个输出-如果您需要完全沉默,请参阅下面@Joachim的答案。