最近项目要连两个数据库,一个postgresql,一个sqlserver,网上配置两种数据源的方法一抓一大把,有的地方写的不太详细,也可能是版本问题,这个小坑坑了我小半天。
启动后一直报com.microsoft.sqlserver.jdbc.SQLServerException: 不支持“variant”数据类型。就很奇怪啊,第二个数据源没有启动成功,各种找原因,后来仔细看日志,我用sqlserver做辅数据源,居然方言也沿用了主数据源pg的,配置文件中没有设置具体每个的方言,那能不报错吗~
大家注意部分关键语句,jpaPropertis。另外还要注意springboot 2.0以上版本,多数据源配置文件中的数据库地址默认要写成jdbc-url 而不是url。改完方言之后果断成功了
@Bean(name = "entityManagerFactoryDataBase2")
public LocalContainerEntityManagerFactoryBean entityManagerFactoryDataBase2(EntityManagerFactoryBuilder builder) {
return builder
// 设置数据源
.dataSource(dataSource2)
//设置实体类所在位置.扫描所有带有 @Entity 注解的类
.properties(getVendorProperties(dataSource2))
.packages("com.babababa.sqlserver.entity")