我对一件事很好奇。是否可以将Oracle 11实例配置为不返回任何ORA-?错误消息?
我发出了许多无效的查询,其中我拼写错误的列名,表名...我希望看到一条ORA错误消息。
比方说,出于安全目的,假设一个零散的java堆栈跟踪暴露给浏览器,您是否可以强制oracle在堆栈跟踪中始终显示相同的虚假错误消息?
我总是得到这个:java.sql.SQLException: IO Error: Size Data Unit (SDU) mismatch
我用谷歌搜索了一下这个错误,没有任何连接或数据库配置问题!我在每个查询的基础上得到它。
发布于 2013-07-23 04:26:20
不是一个直接的解决方案,但我也遇到了SDU不匹配的问题,掩盖了真正的错误。我找到了一个链接(http://www.rajivnarula.com/blog/2013/03/13/table-not-found-or-error-not-found/),它提供了一种间接的方式来暴露错误:
Jdbc14.jar我试着把
驱动程序换成旧的ojdbc14.jar,瞧!真正的错误被暴露了:好的旧的
ORA-00942 (表或视图不存在)
一旦我使用ojdbc14.jar以及ojdbc6.jar放入表,一切都会正常工作
显然很痛苦,但在有人发布了一种方法来获得新驱动程序的潜在错误之前,它很有用……
发布于 2011-07-11 02:45:43
基本上你的设置是不正确的。客户端和/或服务器上的sdu大小均已设置,但客户端和服务器之间的大小不匹配。sdu大小可以在客户端上的
sqlnet.ora file or(在连接描述符中描述文件或连接描述符)
在服务器上可以使用以下命令进行设置
sqlnet.ora文件中的调度器参数
init.ora
listener.ora文件。如果您仍然不相信,请跟踪tns流量以验证这一点。可以通过将以下设置添加到sqlnet.ora文件来启用客户端跟踪:
trace_level_client = 10
trace_unique_client = on
trace_file_client = sqlnet.trc
trace_directory_client = <path_to_trace_dir>可以使用以下设置启用服务器端设置:
trace_level_server = 10
trace_file_server = server.trc
trace_directory_server = <path_to_trace_dir>如果level 10不够,请将level设置为16。这将创建一个您可以分析的跟踪文件。
发布于 2012-07-26 17:50:10
您可以尝试将Oracle11g JDBC驱动程序升级到高于11.2.0.3.0的版本,如here所述
https://stackoverflow.com/questions/6628856
复制相似问题