如何在序列文件夹中显示序列 table

How to show sequence table in sequence folder

我正在处理 SOA BPEL 流程,它从 XML 文件读取数据并将其加载到数据库 tables。然而,我需要在我的转换文件中调用的 table 序列没有显示在序列 table 中,但它可以被查询(见下面的查询)。因此,它 returns 转换文件失败的错误,因为它认为这些序列不存在。我需要为我调用这些序列才能为 table ID 生成排序值。

SELECT XXTG_SAMPLE_HEADER_S.nextval FROM DUAL;
SELECT XXTG_SAMPLE_LINES_S.nextval FROM DUAL;

这是文件夹中唯一显示的序列:

这里我在我的转换文件中调用它们:

<tns:repairId>
    <xsl:value-of select="oraext:sequence-next-val ('XXTG_SAMPLE_HEADER_S', 'jdbc/timexappsDataSource')"/>
</tns:repairId>

<tns:repairLineId>
    <xsl:value-of select="oraext:sequence-next-val ('XXTG_SAMPLE_LINES_S', 'jdbc/timexappsDataSource')"/>
</tns:repairLineId>

当您可以临时查询时,错误ORA-02289: sequence does not exist只有简单解释。

让我们列出它们

  • 序列存在,但与您的进程所连接的数据库不同。

  • 序列存在,但与您的进程用于连接的模式不同。

前一种情况的解决方案很明显。

后一种情况

  • 检查序列的架构

select SEQUENCE_OWNER from all_sequences where sequence_name = 'XXTG_SAMPLE_HEADER_S';

  • 检查您的进程连接的用户

  • 将序列上的 SELECT 授予连接用户

与创建序列的用户联系并

grant select on seq_user.XXTG_SAMPLE_HEADER_S to connect_user;