zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

springboot+mybatis-plus数据库mysql+sybase遇到的一些问题

2023-03-31 10:36:30 时间
  1. 我们服务启动时,sybase数据库 连接直接创建10个连接。(为什么启动时会创建这么多连接?)
  2. 有时候可以写入sybase库,大部分写入失败
  3. 查询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不支持

以上两个方案配置文件 启动服务都正常