0

首先,我想说明我们的环境细节。

我们正在尝试使用 EJB- Azure 来使用 Eclipse 在 Azure 云上创建应用程序。

我们需要动态地创建和处理数据库。我们能够动态地创建数据库。但是,在尝试对这些进行交易时,我们遇到了错误:

“java.sql.SQLException:没有找到适合连接 url 的驱动程序”

当我们尝试使用进行静态交易时,这不是问题。但是,不能进行动态事务。entitymanager 对象已创建但无法连接数据库。

有人可以帮助我们并解释我们如何使用 JPA 为动态创建的数据库处理事务。

谢谢,萨加塔

[编辑] 我们正在使用以下 persistence.xml:

>org.hibernate.ejb.HibernatePersistence java:jboss/EDS</jta-data-source> --> net.oauth.database.Co net.oauth.database.Cr

value="org.hibernate.transaction.JTATransactionFactory" /> value="org.hibernate.transaction.JBossTransactionManagerLookup" />

我们连接数据库的代码如下: Map configOverrides = new HashMap(); configOverrides.put("hibernate.connection.password", ""); configOverrides.put("hibernate.connection.username", ""); configOverrides.put("hibernate.connection.driver_class","com.microsoft.sqlserver.jdbc.SQLServerDriver");
configOverrides.put("hibernate.connection.url", "jdbc:sqlsever://;" + "databaseName=;user=;password="); EntityManagerFactory 工厂 = Persistence.createEntityManagerFactory(ENTERPRISE_UNIT_NAME, configOverrides);

请注意,我们正在尝试动态创建和连接数据库,因此不要静态创建数据库。为此,我们收到错误:

“java.sql.SQLException:没有找到适合连接 url 的驱动程序”

4

1 回答 1

0

创建一个带有持久性单元的 persistence.xml 并将所有静态的东西(例如数据库方言、日志记录参数等)放在那里

然后使用以下方法创建实体管理器:

javax.persistence.Persistence.createEntityManagerFactory(String persistenceUnitName, Map properties);

在地图中提供可变参数,如下所示:

properties.put("hibernate.connection.url", "jdbc:postgresql://127.0.0.1/test");
properties.put("hibernate.connection.username", "joe");
properties.put("hibernate.connection.password", "pass");
于 2012-07-13T10:05:06.583 回答