我想聲明一個指向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