【问题标题】:Same database - different output from different clients相同的数据库 - 来自不同客户端的不同输出
【发布时间】:2020-11-03 23:02:23
【问题描述】:

我有一个带有 Oracle DB 的 docker 容器,我尝试从具有相同凭据的不同客户端访问它,但它的行为很奇怪。

我已在 IDEA 中使用以下 JDBC URL 建立连接:jdbc:oracle:thin:@//localhost:1526/XEPDB1

我也通过 Spring Data 框架在另一个容器中使用它,url 是 jdbc:oracle:thin:@oracle:1521/XEPDB1 (端口被转发到外部世界为 1526,容器名称为 oracle)

最后,我尝试使用 sqlplus 从数据库主机访问数据库:sqlplus LOGIN/PASSWORD@localhost:1521/XEPDB1

所有连接都是成功的,但是对同一个表的简单插入和选择表明每个客户端只能看到它自己的修改。怎么了?如何在客户端之间共享同一张表?

【问题讨论】:

  • 您确定要提交您插入的数据吗?
  • @Mureinik 非常感谢!如果您将此作为答案发布,我会接受

标签: sql spring oracle intellij-idea sqlplus


【解决方案1】:

根据连接字符串,所有用户都连接到同一个数据库,所以这不是问题。

问题可能是每个修改数据(例如,插入新行)的用户都没有提交,因此这些数据仅在他们当前的会话中可用。一旦他们提交了数据,所有其他会话也可以使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    相关资源
    最近更新 更多