【发布时间】:2011-04-12 05:26:58
【问题描述】:
假设我有一个主数据库的现有数据源。我现在需要创建一个新数据库,并在该数据库上执行一些 DDL。这可以通过例如“USE”命令实现吗,还是我需要在 JDBC url 中使用新数据库的名称创建一个新的 DataSource?
【问题讨论】:
标签: java sql jdbc datasource
假设我有一个主数据库的现有数据源。我现在需要创建一个新数据库,并在该数据库上执行一些 DDL。这可以通过例如“USE”命令实现吗,还是我需要在 JDBC url 中使用新数据库的名称创建一个新的 DataSource?
【问题讨论】:
标签: java sql jdbc datasource
您可以将“USE”命令作为常规 JDBC 语句运行。
Statement stmt = connection.createStatement();
stmt.execute("USE the_other_db");
根据您的 DBMS 和驱动程序,您可能还可以使用 JDBC API 调用 setCatalog():
connection.setCatalog("the_other_db")
【讨论】:
USE 语句有效,但由于它是有状态的,因此您必须确保它与后面的语句属于同一连接的一部分。
如果您使用 Spring 的 JdbcTemplate 而不是直接使用 java.sql.Connection 和 java.sql.Statement,则可以使用 SingleConnectionDataSource。
【讨论】: