Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

MENSAGEM DE ERRO AO CONECTAR COM O SQL SERVER

Na minha empresa é utilizado banco de dados SQL SERVER, então estou tentando conectar com ele, mas está ocorrendo erro no momento da conexão:

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2023-11-17T23:01:37.437-03:00 ERROR 10940 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Unsupported Database: Microsoft SQL Server 16.0

Na última informação do erro está criticando que o sistema não suporta o banco de dados 16.0,

Seguem os dados da versão do sql server que estou utilizando:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade seguem a configuração do spring para conexão com o banco de dados:

spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=OSCLI32;trustServerCertificate=true;
spring.datasource.username=sa
spring.datasource.password=smn15031950
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.SQLServerDialect

seguem dependencia instalada para o sql server:

<dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <scope>runtime</scope>

        </dependency>

Quando uso o manegent studio ou o Dbeaver eu consigo conectar normalmente no banco, usando a porta 1433 , login e password conforme está no arquivo de configuraçãoo do spring.

Sinceramente não sei mais o que fazer, já estou a mais de 10 dias tentando esta conexão e nao consigo.

6 respostas

Oi!

O problema é o Flyway que não suporta essa versão. VErifica no seu pom.xml se tem o módulo do flyway para o banco sql server:

<dependency>
  <groupId>org.flywaydb</groupId>
  <artifactId>flyway-sqlserver</artifactId>
</dependency>

Deveriam ter 3 dependências relacionados com o banco: flyway-core, flyway-sqlserver e o driver do sql server:

<dependency>
  <groupId>org.flywaydb</groupId>
  <artifactId>flyway-core</artifactId>
</dependency>

<dependency>
  <groupId>org.flywaydb</groupId>
  <artifactId>flyway-sqlserver</artifactId>
</dependency>

<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>mssql-jdbc</artifactId>
  <scope>runtime</scope>
</dependency>

Bom dia Rodrigo:

Obrigado pelo retorno,

Após implementar as dependências sugeridas acima, o código continua com problemas na copilação, seguem os erros:

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-11-20T07:35:02.642-03:00 ERROR 20768 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Found non-empty schema(s) [dbo] but no schema history table. Use baseline() or set baselineOnMigrate to true to initialize the schema history table.
    
solução!

Adiciona mais essa propriedade no application.properties:

spring.flyway.baseline-on-migrate=true

Uma observação: após implementar as dependências sugeridas, começou a aparecer um warning:

 Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.33 CVE-2022-41854 6.5 Out-of-bounds Write vulnerability CVE-2022-1471 9.8 Deserialization of Untrusted Data vulnerability  Results powered by Checkmarx(c) 

Não tem problema, é só um alerta de vulnerabilidade em alguma das dependências do projeto. Único jeito de resolver é atualizando as libs do projeto.

DEU CERTOOOOOOOOOOOOO!!!!!!

Muito obrigado Rodrigo, estava apanhando a mais de uma semana!!!

Deus lhe abençoe!!!