【问题标题】:Setting default schema name in Java在 Java 中设置默认模式名称
【发布时间】:2012-08-17 16:54:08
【问题描述】:

我正在从我的 Java 代码中执行以下查询:

SELECT * FROM JSTORE.EMPLOYEE

其中“JSTORE”是架构名称,“EMPLOYEE”是表。

我可以设置模式名称作为 JSTORE 使用,这样我就不需要在我的查询中指定它了吗?我正在使用 Oracle 数据库。

【问题讨论】:

  • 可能在用于连接数据库的 JDBC URL 中。但是,是否以及如何使用取决于您使用的数据库和 JDBC 驱动程序。

标签: java sql database oracle schema


【解决方案1】:

你可以执行这条 SQL:

ALTER SESSION SET CURRENT_SCHEMA=JSTORE

请注意,您需要为您建立的每个 now 连接执行此操作(一个 Oracle 会话 == 一个 Java Connection 对象)。

使用池连接时要小心;如果它们需要不同的架构,则需要在将它们返回池之前恢复默认值。

【讨论】:

    【解决方案2】:

    如果该架构名称与您的应用程序用于连接数据库的用户名相同,那么您无需指定架构名称(通过 Java 或 SQL*Lite)。

    如果架构名称因应用程序而异,那么我可能会在 SQL 中显示架构名称以避免错误。想想如果你在连接池中 ALTER SESSION 会出什么问题。它仍然是可配置的,并且该过程可以使用一些 Java 代码为您自动生成 SQL(无论如何您可能应该拥有)。

    【讨论】:

      猜你喜欢
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      • 2021-06-19
      • 1970-01-01
      相关资源
      最近更新 更多