当前位置: 首页 > 知识库问答 >
问题:

如何在Spring boot中为DB2连接在数据源中设置模式

胡霖
2023-03-14

我有不同的数据库连接,但在他们相同的表。因此,为了重用这些实体类,我必须动态地获取模式名称。试图在属性文件和数据源中设置架构,但不起作用。

应用属性文件:

spring.datasource1.url=jdbc:db2://localhost:5054/AB01
spring.datasource1.username=abc
spring.datasource1.password=abc
spring.datasource1.driver-class-name=com.ibm.db2.jcc.DB2Driver
spring.datasource1.testWhileIdle=true
spring.datasource1.validationQuery=SELECT 1

尝试在属性文件中设置模式如下,并获得错误"不支持DDM参数值。DDM参数代码点具有不支持的值:0x2110."错误。

spring.datasource.url=jdbc:db2://localhost:5054/AB01?currentSchema=schema
spring.datasource.url=jdbc:db2://localhost:5054/AB01?search_path=schema
spring.datasource.url=jdbc:db2://localhost:5054/AB01?searchpath=schema

在配置类中也尝试了如下操作,但不起作用。

public DataSource dataSource() {
    DriverManagerDataSource ds = new DriverManagerDataSource(databaseURL, username, pwd);
    ds.setDriverClassName(driverClassName);
    Properties connectionProperties = new Properties();
    connectionProperties.setProperty("spring.datasource.schema", "schema");
    ds.setConnectionProperties(connectionProperties);
    return ds;
}

共有1个答案

乐正辰阳
2023-03-14

模式可以在应用程序中引用。属性如下所示

spring.datasource1.serverName=160.60.660.6
spring.datasource1.database=ABC
spring.datasource1.port=5083
spring.datasource1.schema=fdsf
spring.datasource1.username=usr
spring.datasource1.password=pwd

使用DB2SimpleDataSource创建数据库

public DataSource dataSource() {
                    DB2SimpleDataSource  datasource = new DB2SimpleDataSource ();
                    datasource.setUser(username);
                    datasource.setPassword(password);
                    datasource.setServerName(server);
                    datasource.setDatabaseName(databse);
                    datasource.setPortNumber(port);
                    datasource.setDriverType(4);  
                    datasource.setCurrentSchema(schema);
                    return datasource;
}
 类似资料:
  • 我需要在中为两个设置,目前看来只有一个设置是可能的,您可以选择哪个数据源。

  • 连接到DB2数据库时得到以下响应: "无法创建PoolableConnectionFactory([jcc][t4][10109][10354][3.59.81]正在使用的IBM通用JDBC驱动程序版本未获得与QDB2数据库连接的许可。要连接到此服务器,请获取适用于JDBC和SQLJ的IBMDB2通用驱动程序的许可副本。必须将适用于此目标平台的适当许可文件db2jcc_license_. jar安

  • 问题:当我的spring应用程序运行时,同时数据库服务器停止/重新启动,然后db连接丢失并且从未恢复。 com.mysql.jdbc.exceptions.jdbc4.mysqlnontransientConnectionException:连接关闭后不允许任何操作。 服务mysql启动 问题:如何告诉spring在连接丢失后自动重新连接? 这是我的配置:

  • 我创建了一个Spring启动应用程序,使用Spring启动启动数据elasticsearch连接到elasticsearch。我想配置此应用程序设置连池。如何配置application.properties以支持它?

  • 我有一个IBM WebSphere Liberty服务器和一个Greenplum数据库。我希望liberty server将Greenplum与SSL连接起来。 这是我在server.xml设置: 一个简单的应用程序使用这个JNDI连接Greenplum。我从应用程序中得到一个错误: 尝试获取连接:=jdbc/Greenplum!!!没有获得连接=java.sql.SQLInvalidAuthor

  • 我的springboot微服务依赖于AS400 DB2,当服务启动时,它可能会关闭。该服务有一个配置bean,它有autowired的基于JpaRepository的存储库。在启动期间,当DB2关闭时,我得到以下消息: