如何使用JAVA在运行时创建多个数据库模式?

时间:2012-03-13 15:53:49

标签: java sql jdbc

所以我有这个非常大的项目,我必须在运行时的各个点创建数据库模式,并且还有连接指向新创建的模式。这可能看起来像是破坏性的,但应用程序是相当大的,分布式的和多代理的,因此每个代理应该处理一个这样的连接。

再次陈述问题:

  

1)如何在运行时创建模式?

     

2)在java代理内部如何获取新的连接字符串?

我已经看到一些例子表明我应该设置默认连接,并在运行时使用我现在似乎无法找到的某种方法更改它...

P.S。我更喜欢这个问题的JDBC解决方案:)但如果有替代方案,我很乐意尝试。

1 个答案:

答案 0 :(得分:1)

这取决于您使用的数据库。创建模式通常涉及在使用适当的特权(创建模式)登录的连接上执行某些DDL。在Oracle上,您可以执行类似

的操作
connection.createStatement().executeUpdate("CREATE USER test IDENTIFIED BY somepassword");

了解更多here

连接到新架构(在Oracle中,用户架构相同)只是在打开连接时提供新用户凭据。

在mysql中,你会做类似

的事情
connection.createStatement().executeUpdate("CREATE DATABASE test");

了解更多here

连接到新架构(在MySQL中,数据库 = 架构),您将数据库的名称添加到连接URL的末尾,如{{1} }。