我們服務啟動時,sybase資料庫 連接直接創建10個連接。(為什麼啟動時會創建這麼多連接?) 有時候可以寫入sybase庫,大部分寫入失敗 查詢sybase庫數據可以查出來 ,沒問題 嘗試的方案1 如圖: Springboot 連接迪砂資料庫 的application.yml 配置文件 我們配置的 ...
- 我們服務啟動時,sybase資料庫 連接直接創建10個連接。(為什麼啟動時會創建這麼多連接?)
- 有時候可以寫入sybase庫,大部分寫入失敗
- 查詢sybase庫數據可以查出來 ,沒問題
嘗試的方案1
如圖:
Springboot 連接迪砂資料庫 的application.yml 配置文件
我們配置的 application.yml文件如下:
type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.sybase.jdbc4.jdbc.SybDriver url: jdbc:sybase:Tds:ip:2638/資料庫名;charset=cp936 username: dba password: sqlView Code
資料庫連接池:
druid: # 連接池的配置信息 # 初始化大小,最小,最大 initial-size: 2 min-idle:2 maxActive: 20 # 配置獲取連接等待超時的時間 maxWait: 60000 # 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一個連接在池中最小生存的時間,單位是毫秒 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: falseView Code
使用的jar 包: jconn-4.0.0.jar
原因:
springboot 預設數據連接池為:hikari ,預設初始創建最小連接數10,最大連接數20,最終導致每次服務啟動連接數為10
上圖配置 druid 的連接池不生效。導致使用springboot 預設連接池。
druid 貌似不支持sybase 資料庫驅動(jdbc4)
View Code
方案2.
引入另一個jar 配置文件:
引入的jar : <dependency> <groupId>net.sourceforge.jtds</groupId> <artifactId>jtds</artifactId> <version>1.3.1</version> </dependency> 配置文件: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: net.sourceforge.jtds.jdbc.Driver url: jdbc:jtds:sybase://192.168.70.71:2638/disa_cim_160021 username: dba password: sqlView Code
執行結果:
文件內容:
ALTER PROCEDURE "dba"."jtds000001" as insert into DISA.ProductionQueue160021(PatternKey, RequestedMouldCount) VALUES (?,?)
原因:
可能是sybase 資料庫版本高,jtds 這個jar不支持
以上兩個方案配置文件 啟動服務都正常
我是個雙魚座的小王子,沉浸在自己的代碼世界里,去探索這未知的世界,希望遇到更多的小伙伴一起前行!