gpt4 book ai didi

java - 如何将模式/其他用户添加到给 java 的数据库 url?

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:14 25 4
gpt4 key购买 nike

我正在尝试将 spring boot java 应用程序连接到 Oracle 数据库。 Oracle SQL Developer 显示我希望查询的表位于其他用户 -> `testUser 下名为 testdb 的数据库中。

我可以使用 url jdbc:oracle:thin:@localhost:1521:testdb 连接到数据库。但是,当我使用 SQL 语句时

SELECT * FROM SCHEMA_DEFINITION WHERE SCHEMA_NM = ?

Java 找不到名为 SCHEMA_DEFINITION 的表。在 SQL 语句中使用 testUser.SCHEMA_DEFINITION 确实有效。我如何告诉 Java 查找 Other users->testUser 中的所有表?

我已经尝试设置数据源的架构 (dataSource.setSchema("testUser");) 并更改 url(添加 ?search_path=testUser? currentSchema=testUser).

这些都不起作用。

最佳答案

这不是 Java 问题,您需要登录到用户 testUser,这样如果您真的需要保持这些查询原样并运行它们,就可以查询这些表而无需冗长的语法从 testdb 然后你需要为 testdb 模式中的那些表创建同义词:

CREATE SYNONYM TESTDB.SCHEMA_DEFINITION FOR testUser.SCHEMA_DEFINITION;

对每个表执行此操作,它们将起作用。

关于java - 如何将模式/其他用户添加到给 java 的数据库 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57704098/

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