首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle错误消息

Oracle错误消息
EN

Stack Overflow用户
提问于 2011-07-09 02:35:02
回答 4查看 20K关注 0票数 4

我对一件事很好奇。是否可以将Oracle 11实例配置为不返回任何ORA-?错误消息?

我发出了许多无效的查询,其中我拼写错误的列名,表名...我希望看到一条ORA错误消息。

比方说,出于安全目的,假设一个零散的java堆栈跟踪暴露给浏览器,您是否可以强制oracle在堆栈跟踪中始终显示相同的虚假错误消息?

我总是得到这个:java.sql.SQLException: IO Error: Size Data Unit (SDU) mismatch

我用谷歌搜索了一下这个错误,没有任何连接或数据库配置问题!我在每个查询的基础上得到它。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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放入表,一切都会正常工作

显然很痛苦,但在有人发布了一种方法来获得新驱动程序的潜在错误之前,它很有用……

票数 5
EN

Stack Overflow用户

发布于 2011-07-11 02:45:43

基本上你的设置是不正确的。客户端和/或服务器上的sdu大小均已设置,但客户端和服务器之间的大小不匹配。sdu大小可以在客户端上的

  • sqlnet.ora file or
  • in the connect descriptor

(在连接描述符中描述文件或连接描述符)

在服务器上可以使用以下命令进行设置

sqlnet.ora文件中的调度器参数

  • init.ora

  • or listener.ora文件。

如果您仍然不相信,请跟踪tns流量以验证这一点。可以通过将以下设置添加到sqlnet.ora文件来启用客户端跟踪:

代码语言:javascript
复制
trace_level_client = 10
trace_unique_client = on
trace_file_client = sqlnet.trc
trace_directory_client = <path_to_trace_dir>

可以使用以下设置启用服务器端设置:

代码语言:javascript
复制
trace_level_server = 10
trace_file_server = server.trc
trace_directory_server = <path_to_trace_dir>

如果level 10不够,请将level设置为16。这将创建一个您可以分析的跟踪文件。

票数 2
EN

Stack Overflow用户

发布于 2012-07-26 17:50:10

您可以尝试将Oracle11g JDBC驱动程序升级到高于11.2.0.3.0的版本,如here所述

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6628856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档