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

问题描述 投票:2回答:1

我有不同的数据库连接,但其中的表相同。因此,要重用这些实体类,我必须动态获取模式名称。试图在属性文件和数据源中设置架构,但无法正常工作。

application.properties文件:

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;
}
database hibernate spring-boot jpa db2
1个回答
0
投票

可在以下application.properties中引用架构

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.