【发布时间】:2014-04-23 12:55:53
【问题描述】:
在打包的 SP 中,我正在填充一个临时表。在过程处理结束时,我将临时表读入引用游标。
当我尝试在 SQL Developer 中执行该过程时,一切正常。
当我尝试在经典 ASP 页面(使用 OraOLEDB)中执行该过程时,IIS 日志显示“ORA-01578:_ORACLE_data_block_corrupted”。
当我第一次看到这个并且在我在 SQL Developer 中尝试之前,我认为表空间文件已损坏,所以我删除了表空间;在另一个磁盘上重新创建它,然后告诉用户新的表空间是新的临时区域。
再试一次,同样的事情只是指新的表空间!
我认为是我使用临时表导致了这个问题?
如果我在这里尝试做的事情很重要,那就是重用一个旧的、复杂的 SP,它曾经返回许多 Table(关联数组)对象。我不想对 SP 进行太多更改,因此我已经将之前放置在关联数组中的数据写入临时表中。然后我将 TT 的内容转储到 ref-cursor 中。我看不出这会如何产生“数据块损坏”消息,但我希望有人能告诉我。
【问题讨论】:
标签: oracle stored-procedures temporary oraoledb