在 Oracle 数据库中运行复合操作

使用 Oracle 数据库适配器,适配器客户端可以按任意顺序执行可包括任意数量的以下操作的复合操作:

  • 选择表和视图上的“插入”、“更新”和“删除”操作。

  • 在适配器中显示为操作的包中的存储过程、函数和过程或函数。

    复合操作中的操作可以针对同一数据库或不同数据库中的表和视图。 但是,不能在复合操作的不同操作之间共享或重复使用数据。 例如,在复合操作中,Select 操作的结果集不能用作存储过程的输入参数。

    复合操作中的每个操作都使用单独的连接执行。 Oracle 数据库适配器使用来自 ODP.NET 连接池的连接数与复合操作中的操作数相同,然后在执行操作时释放连接。 但是,如果复合操作中的操作返回结果集,则仅在使用消息后才会释放连接。

重要

如果在执行复合操作时遇到超时问题,可能是因为连接数小于复合操作中的操作数,涉及:

  • 包含 BFILE、BLOB、CLOB、NCLOB 和 REF CURSOR 作为 OUT 或 IN OUT 参数的存储过程。

    • 选择操作。

    若要解决此问题,必须确保如果复合操作中有“n”个此类操作,则为 MinPoolSize 绑定属性指定的值为“n+1”或更大。 有关 MinPoolSize 绑定属性的详细信息,请参阅 配置 Oracle 数据库的绑定属性

有关以下方面的信息:

另请参阅

可以使用适配器执行哪些操作?