0

执行在多个表中返回大量列的选择时,会收到错误“供应商代码 17002”。查询只返回一个结果。当返回的列数小于 635 时,查询有效。当添加另一列时,会看到错误。

在转储文件中看到以下内容:

Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x45] [PC:0x35797B4, _kkqstcrf()+1342]
DDE: Problem Key 'ORA 7445 [kkqstcrf()+1342]' was flood controlled (0x6) (incident: 10825)
ORA-07445: exception encountered: core dump [kkqstcrf()+1342] [ACCESS_VIOLATION] [ADDR:0x45] [PC:0x35797B4] [UNABLE_TO_READ] []
Dump file c:\app\7609179\diag\rdbms\orcl\orcl\trace\orcl_s001_9928.trc
Thu Feb 07 15:10:56 2013
ORACLE V11.2.0.1.0 - Production vsnsta=0
vsnsql=16 vsnxtr=3
Dumping diagnostics for abrupt exit from ksedmp

Windows 7,Oracle 11.2.0.1.0 企业版,SQL Developer,Java 应用程序的相同结果。

4

1 回答 1

1

ORA-07445 是一个通用错误,Oracle 使用它来表示操作系统中的意外行为,即错误。

该跟踪文件中应该有一些附加信息:

c:\app\7609179\diag\rdbms\orcl\orcl\trace\orcl_s001_9928.trc

你看过了吗?

不幸的是,ORA-07445 的性质意味着解决底层问题通常是由于平台、操作系统和数据库版本的特定组合造成的。Oracle 已发布了一些关于诊断的建议,但大多数途径都导致致电 Oracle 支持。 了解更多

至少你知道直接原因。因此,如果您没有支持合同,则有一种解决方法:更改您的应用程序,这样您就不必选择第 635 列。在单个查询中包含大量列。

查询投影中允许的列数没有实际限制,但语句的总长度可能超过限制。此限制因多个因素而异,并且未在 docs 中指定。有和没有那个讨厌的附加列的语句有多长(多少个字符)?也许缩短一些列名可以解决问题。

于 2013-02-08T04:11:58.587 回答