У меня есть код 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
Вы можете использовать silent=ALL
возможность подавления этих сообщений:
system("/orahomepath/bin/sqlldr silent=ALL ...")
Смотрите также Справочник по командной строке SQL * Loader:
При запуске SQL * Loader вы также видите на экране сообщения обратной связи, например:
Достигнута точка фиксации — количество логических записей 20
Вы можете подавить эти сообщения, указав SILENT с одним или несколькими значениями:
- …
- ALL — реализует все значения подавления: HEADER, FEEDBACK, ERRORS, DISCARDS и PARTITIONS.
В зависимости от реализации sql * ldr, вы может быть по-прежнему получается один или другой вывод — если вам нужно полное молчание, см. ответ @Joachim ниже.
Помните, что system
Функция использует оболочку для выполнения команды. Таким образом, вы можете использовать обычное перенаправление оболочки:
system("/some/program > /dev/null");