- 论坛徽章:
- 4
|
本帖最后由 linux_c_py_php 于 2012-09-18 16:46 编辑
目测此种情况下, 只有高端方案可以解决:
C实现:- #fd = open(".sql_output.tmp", "w"); stdout_backup = dup(1); stderr_backup = dup(2); dup2(fd, 1); dup2(fd, 2);
- #do you sql query here ...
- #dup2(stdout_backup, 1); dup2(stderr_backup, 2);close(stdout_backup);close(stderr_backup);close(fd);
复制代码 SHELL实现:- #!/bin/sh
- exec 5>.sql_output.tmp
- exec 3>&1
- exec 4>&2
- exec 1>&5
- exec 2>&5
- sqlplus oracle/oracle_*\)*!%^ as sysoper <<EOF
- select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
- commit;
- exit;
- EOF
- exec 1>&3
- exec 2>&4
- exec 3>&-
- exec 4>&-
- exec 5>&-
- #在这里读取.sql_output.tmp即可.
复制代码 |
|