SQLPlus 反馈 returns 已创建空行
SQLPlus feedback returns null rows created
我有 4 个语句正在 运行 SQLPLus 中并假脱机到一个文件中。
为了假脱机到这个文件,我 运行 以下内容:
echo "whenever sqlerror exit sql.sqlcode ROLLBACK" > ${sql_tempfile}
echo "set echo off" >> ${sql_tempfile}
echo "set serveroutput on" >> ${sql_tempfile}
echo "set feedback on" >> ${sql_tempfile}
echo "set pagesize 0" >> ${sql_tempfile}
echo "set heading off" >> ${sql_tempfile}
echo "set linesize 80" >> ${sql_tempfile}
echo "set autocommit off" >> ${sql_tempfile}
echo "set exitcommit off" >> ${sql_tempfile}
echo "set sqlprompt \"$DB_NAME SQL>\"" >> ${sql_tempfile}
echo "set sqlnumber on" >> ${sql_tempfile}
echo "set newpage 0" >> ${sql_tempfile}
echo "set echo on" >> ${sql_tempfile}
echo "spool $TMPDIR/$filewoextension.log" >> ${sql_tempfile}
cat ${file} >> ${sql_tempfile}
echo "\n" >> ${sql_tempfile}
echo "spool off" >> ${sql_tempfile}
sqlplus / <<-eoSQL
@${sql_tempfile}
检查文件时,我们可以看到某些行“已更新 100 行”。或“合并 100 行。”,但在同一个文件中,有一些记录显示“已创建行”。
我似乎无法找出为什么我对某些陈述的反馈被返回为空值。在假脱机到文件后,我使用正则表达式读取它,此后遇到问题,因为没有从单个语句返回数字。
我试过在开发环境中执行相同的操作,但似乎没有出现相同的问题。它只出现在我们的 Live 环境中,我们的 Oracle DBA 无法识别问题。
感谢任何帮助。
谢谢,
原来是 LD_LIBRARY_PATH 在一个配置文件中设置为 10.2 而不是 11.2 导致了这种差异。
编辑变量以设置为当前 oracle 版本似乎可以解决问题。
我有 4 个语句正在 运行 SQLPLus 中并假脱机到一个文件中。
为了假脱机到这个文件,我 运行 以下内容:
echo "whenever sqlerror exit sql.sqlcode ROLLBACK" > ${sql_tempfile}
echo "set echo off" >> ${sql_tempfile}
echo "set serveroutput on" >> ${sql_tempfile}
echo "set feedback on" >> ${sql_tempfile}
echo "set pagesize 0" >> ${sql_tempfile}
echo "set heading off" >> ${sql_tempfile}
echo "set linesize 80" >> ${sql_tempfile}
echo "set autocommit off" >> ${sql_tempfile}
echo "set exitcommit off" >> ${sql_tempfile}
echo "set sqlprompt \"$DB_NAME SQL>\"" >> ${sql_tempfile}
echo "set sqlnumber on" >> ${sql_tempfile}
echo "set newpage 0" >> ${sql_tempfile}
echo "set echo on" >> ${sql_tempfile}
echo "spool $TMPDIR/$filewoextension.log" >> ${sql_tempfile}
cat ${file} >> ${sql_tempfile}
echo "\n" >> ${sql_tempfile}
echo "spool off" >> ${sql_tempfile}
sqlplus / <<-eoSQL
@${sql_tempfile}
检查文件时,我们可以看到某些行“已更新 100 行”。或“合并 100 行。”,但在同一个文件中,有一些记录显示“已创建行”。
我似乎无法找出为什么我对某些陈述的反馈被返回为空值。在假脱机到文件后,我使用正则表达式读取它,此后遇到问题,因为没有从单个语句返回数字。
我试过在开发环境中执行相同的操作,但似乎没有出现相同的问题。它只出现在我们的 Live 环境中,我们的 Oracle DBA 无法识别问题。
感谢任何帮助。
谢谢,
原来是 LD_LIBRARY_PATH 在一个配置文件中设置为 10.2 而不是 11.2 导致了这种差异。
编辑变量以设置为当前 oracle 版本似乎可以解决问题。