如何在 Spring Boot 中为 DB2 连接在数据源中设置模式
Posted
技术标签:
【中文标题】如何在 Spring Boot 中为 DB2 连接在数据源中设置模式【英文标题】:How to set schema in datasource for DB2 connection in Spring boot 【发布时间】:2020-03-18 05:28:53 【问题描述】:我有不同的数据库连接,但其中的表相同。因此,为了重用这些实体类,我必须动态获取模式名称。试图在属性文件和数据源中设置架构但不工作。
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;
【问题讨论】:
你看到这个答案了吗:***.com/questions/24278659/… 如果你使用 jdbc,试试这个:spring.datasource.jdbc-url=jdbc:db2://localhost:5054/AB01:currentSchema=YOURSCHEMA; 这样尝试,得到 Invalid database URL syntax error 【参考方案1】:架构可以在 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;
【讨论】:
以上是关于如何在 Spring Boot 中为 DB2 连接在数据源中设置模式的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot连接DB2查询结果时报错“java.lang.AbstractMethodError: com.ibm.db2.jcc.t4.b.isValid(I)Z”的解决办法
如何在 Spring Boot / Spring Data 中为 Amazon RDS Mysql 启用 SSL?
在邮递员中为与 SQL Server 连接的 Spring Boot API 获取 404 状态码
如何在 Spring Boot 中为 Spring LDAP 身份验证设置覆盖 BindAuthenticator handleBindException