Oracle:错误时显示参数
当Oracle记录参数化SQL查询失败时,它会显示“?”以代替参数,即替换参数之前的查询。比如说,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
"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;