[seata]求助,启动seata-server.bat时,error---com.alibaba.druid.pool.DruidDataSource : {dataSource-1} init error

2024-01-04 603 views
4
Ⅰ. Issue Description

我正在尝试使用SqlServer连接 在这之前我的seata.properties中配置的是 store.mode=db store.lock.mode=file store.session.mode=file 启动seata-server.bat没有问题 之后统一改成了db,出现了以下异常

Ⅱ. Describe what happened

image

Ⅲ. Environment:

这是我consul里与db相关的seata.properties的配置 image

回答

8

server目前没有适配sqlserver,即便把driver放进去也会报错

3

所以您的意思是现阶段依然使用file image 当时我使用 store.mode=db store.lock.mode=file store.session.mode=file,时 顺利启动了

3

store.lock和store.session优先级是最高的

3

原来如此,感谢!!! 25F24E4E

对了还有一个问题可能需要你们在feature_support_sqlserver分支上解决 image image image SqlServer是不支持limit关键词的。但其实更让我感到奇怪的是默认是AT模式,为什么在启动后会主动查询tcc_fence_log这张在TCC模式下才使用的表

1

主动查询tcc_fence_log这张在TCC模式下才使用的表这个问题你额外提一个issue吧,这个应该是通病,简单的解决方案就是你exclude SeataTCCFenceAutoConfiguration这个类

5

tcc_fence_log 这块是在sqlserver实现后合并到主分支,而sqlserver合并了主分支代码后出现了这个问题,这块等sqlserverpr合进去,额外整个pr去做处理比较好@Bughue @GoodBoyCoder @slievrly @wangliang181230 怎么看待这两个问题?

  1. tcc的SpringFenceConfig(实际上最后是SpringFenceHandler) 这块在业务代码上没有任何使用tcc的相关注解时也会被加载并启用,这个时候只用xa,at,saga的用户是没有防悬挂的表的会报错
  2. sqlserver的pr就先不做tcc的防悬挂支持,等at的pr合并后再做额外适配