Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle:错误时显示参数_Oracle_Logging_Parameters - Fatal编程技术网

Oracle:错误时显示参数

Oracle:错误时显示参数,oracle,logging,parameters,Oracle,Logging,Parameters,当Oracle记录参数化SQL查询失败时,它会显示“?”以代替参数,即替换参数之前的查询。比如说, "SELECT * FROM table where col like '?'" SQL state [99999]; error code [29902]; ORA-29902: error in executing ODCIIndexStart() routine ORA-20000: Oracle Text error: DRG-50901: text query parse

当Oracle记录参数化SQL查询失败时,它会显示“?”以代替参数,即替换参数之前的查询。比如说,

"SELECT * FROM table where col like '?'" 
SQL state [99999]; error code [29902]; 
ORA-29902: error in executing ODCIIndexStart() routine ORA-20000: 
  Oracle Text error: DRG-50901: 
  text query parser syntax error on line 1, column 48
是否有办法更改日志记录,使其显示参数值?除非我能看到实际的解析问题是什么,否则上面的信息是完全无用的


一般来说,有没有办法在Oracle中设置日志以在参数化查询错误中显示参数?

如果您运行的是Oracle 10g或更高版本,并且您可以访问V$视图,则可以使用V$sql\u bind\u capture查看值

以下查询来自Burleson的网站:

SELECT 
   a.sql_text, 
   b.name, 
   b.position, 
   b.datatype_string, 
   b.value_string 
FROM
   v$sql_bind_capture b,
   v$sqlarea          a
WHERE
   b.sql_id = 'The SQL ID'
AND 
   b.sql_id = a.sql_id;