数据仓库服务 GAUSSDB(DWS)-建立数据库连接失败:conflict

时间:2024-05-07 20:29:47

conflict

问题分析:JDBC jar包和应用程序冲突。例如JDBC和应用程序拥有相同路径相同名称的类导致:

  • gsjdbc4.jar和开源postgresql.jar冲突,两者具有完全相同的类名。
  • gsjdbc4.jar 由于IAM特性引入了一些其他工具,例如fastjson,和应用程序中的fastjson冲突。

处理方法

  • 针对和开源postgresql.jar的冲突,DWS提供了gsjdbc200.jar,使用和开源驱动不同的url格式和驱动路径,驱动名由org.postgresql.Driver修改为com.huawei.gauss200.jdbc.Driver,URL格式由org:postgresql://host:port/database改为jdbc:gaussdb://host:port/database,彻底解决了和开源jar包的冲突。
  • 针对JDBC引入的jar和应用程序中引入jar的冲突,可以通过maven的shade修改了jar中类的路径,解决此类冲突。
  • 排查使用的JDBC驱动是gsjdbc4.jar还是gsjdbc200.jar,如果是gsjdbc4.jar应该替换为gsjdbc200.jar,尝试建立连接。

    对于pom依赖,将对于8.1.x版本替换为8.1.x-200版本。

support.huaweicloud.com/trouble-dws/dws_09_0202.html