我想声明一个指向DB2数据库的Spring数据源。目前,我正在使用org.springframework.jdbc.datasource.DriverManagerDataSource来设置连接,但没有找到任何方式在数据源bean的数据库中指定数据库模式。任何人都可以帮助我吗?Spring数据源和数据库模式
4
A
回答
10
问题是没有标准的方式来设置模式,每个数据库都有不同的机制。
一个解决办法是设置模式作为数据库URL的一部分...
DB2的URL看起来像:
jdbc:db2://SERVER_NAME:PORT/DATABASE:currentSchema=SCHEMA_NAME;
希望帮助..
特别说明:确保你添加了分号;在URL的结尾处,否则您会收到错误,指出网址无效。最后还要确保没有什么;存在(甚至没有空格)。
2
没有办法用标准的Spring命名空间来做到这一点。罗布哈罗普的一个request响应架构添加到配置:
在一般情况下,由于没有真正的优雅和高性能的方式通过装饰来做到这一点这种功能应该推入连接池。池可以为每个创建的连接设置一次模式,而在这里您必须在每次连接被检索时设置它。
如果您不顾一切地在您的配置中设置代理,那么提交者为代理提供了一些代码,以允许指定模式。
0
如果您的连接使用模式的所有者作为用户,那么该连接将指向该特定模式。 即。如果用户user1是名为schema1的数据库模式的所有者,那么如果使用用户user1连接到数据库,则默认情况下连接将指向schema1。
我们使用了Spring提供的UserCredentialsDataSourceAdapter来基于登录用户连接到不同的模式。这提供了指向基于用户的特定模式的数据源。这使用基于线程的登录信息。每个线程都必须决定连接哪个模式并根据该模式提供给用户。
相关问题
- 1. 数据库导出数据和模式
- 2. 具有多个数据源和内存数据库的Spring Boot
- 3. 数据库模式
- 4. 数据库模式
- 5. Spring JDBC和Firebird数据库
- 6. Spring数据源和Tomcat数据源之间的区别?
- 7. 数据库模式库
- 8. Spring&JPA:按需创建数据库模式和表
- 9. 数据/数据库设计模式?
- 10. Spring + Hibernate:读/写不同的数据源和数千个mysql数据库
- 11. 存储库模式与泛型和对象数据源
- 12. Spring数据JPA库
- 13. 数据库模式和外键
- 14. 存储库模式和数据访问
- 15. 用户和数据库模式冲突
- 16. VACUUM数据库和WAL模式
- 17. MVC模式和数据库设计
- 18. Oracle ID,PK和FK数据库模式
- 19. 动态表单和数据库模式
- 20. 这个数据库模式和逻辑
- 21. DDD valueObject和数据库模式
- 22. 什么是模式和数据库?
- 23. filterSecurityInterceptor和元数据源实现spring-security
- 24. Spring和Mybatis多个数据源设置
- 25. Spring 3:数据源注入和NullPointerException
- 26. Spring批处理的数据库和元数据库表
- 27. 合并数据库模式
- 28. Prestashop数据库模式
- 29. 帮助数据库模式?
- 30. 创建数据库模式
最后一个注释仅适用于db2。 – gdrt 2018-02-28 09:16:33