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