gpt4 book ai didi

database - 具有数据库链接的 Oracle JDBC 连接池

转载 作者:搜寻专家 更新时间:2023-10-30 23:24:21 24 4
gpt4 key购买 nike

我正在使用 Oracle 数据库构建 J2EE 网络应用程序。应用程序服务器使用 JDBC 连接池连接到 Oracle 数据库 A(例如最多 20 个连接),并且执行的一些查询通过数据库链接使用远程 Oracle 数据库 B 中的表。

如果应用服务器创建 20 个到数据库 A 的连接,并且所有查询都在数据库 B 中查找数据,那么数据库 A 是否会创建 20 个到数据库 B 的连接?或者所有查询都通过同一个连接隧道?

最佳答案

本地和远程数据库 session 之间存在一对一的关系。必须有以下情况:本地数据库上的 session A1 运行 INSERT INTO table@B VALUES ('A1');该插入是 session A1 事务的一部分。

session A2 出现并执行 SELECT * FROM table@B。因为 session A1 尚未提交, session A2 不应看到该行。因此它需要一个不同于属于 A1 的远程 session 。

同样,您可以让数据库 A 上的所有 20 个 session 同时在数据库 B 上运行查询。

有一个 DBMS_SESSION.CLOSE_DATABASE_LINK 程序会断开远程连接。当它拒绝关闭它们时,我遇到了一些问题(9i 数据库)甚至在提交后立即声称“未完成的事务”。它似乎与缓存的 PL/SQL 游标有关。这可能不再是问题。

关于database - 具有数据库链接的 Oracle JDBC 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com