- 我们服务启动时,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: sql
复制代码 View 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: false
复制代码 View 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: sql
复制代码 View Code
执行结果:

文件内容:
ALTER PROCEDURE "dba"."jtds000001" as insert into DISA.ProductionQueue160021(PatternKey, RequestedMouldCount) VALUES (?,?)
原因:
可能是sybase 数据库版本高,jtds 这个jar不支持
以上两个方案配置文件 启动服务都正常
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |