3
respostas

Pedido de ajuada ao PROFESSOR RODRIGO: ERRO AO CONECTAR COM O SQL SERVER

Bom dia Professor:

Na empresa onde trabalho, usa se o SQL SERVER, então estou focado na conexão com este banco de dados, no seu projeto, eu consigo conexão com o Mysql e com o Postgres, porém quando tento conexão com o SQL server o projeto apresenta erros de conexão, seguem as informações:

OBSERVAÇÕES:

Meu banco e minha aplicação está local: port8080 e o banco: port 1433 Eu consigo conexão (autenticação sql) utiizando o manangement studio e o Dbeaver):

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Fazendo um select em uma tabela do banco de dados pretendido utilizando conexão com o manemengt studio:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadePRINT MOSTRANDO TCPIP HABILITADO:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeERRO AO TENTA COPILAR:

2023-11-16T07:22:59.721-03:00 ERROR 18064 --- [  restartedMain] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

com.microsoft.sqlserver.jdbc.SQLServerException: O driver não pôde estabelecer uma conexão segura com o SQL Server usando a criptografia SSL. Erro: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:31de8ced-be3a-413e-8b09-32ad585827aa

2023-11-16T07:22:59.768-03:00  WARN 18064 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Unable to obtain connection from database: O driver não pôde estabelecer uma conexão segura com o SQL Server usando a criptografia SSL. Erro: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:31de8ced-be3a-413e-8b09-32ad585827aa
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL State  : 08S01
Error Code : 0
Message    : O driver não pôde estabelecer uma conexão segura com o SQL Server usando a criptografia SSL. Erro: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:31de8ced-be3a-413e-8b09-32ad585827aa


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


DEPENDÊNCIAS:

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

    </dependencies>

APPLICATION PROPERTIES:

spring.jpa.show-sql=true
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=OSCLI32
spring.datasource.username=sa
spring.datasource.password=smn15031950
spring.jpa.database-platform=org.hibernate.dialect.SQLServerDialect
spring.jpa.hibernate-dialect=org.hibernate.dialect.SQLServerDialect
spring.jpa.hibernate.dll-auto=update

observação: já tentei substituir o "localhost" pelo nome de meu "servidor" ( estou trabalhando local, nome do meu notebook igual na conexão com o managent studio: LAPTOP-8KM9A3C0), mas não resolveu

obs: só dá este erro com o SQL SERVER, faço a mesma tratativa (coloco as respectivas dependências) para o Mysql e para o Postgres, funciona 100%.

Em minhas pesquisas, encontrei um internauta com o mesmo problema, ele diz que a solução foi: "consegui resolver, o problema era versão da dependência do SQL Server no Maven Repository que não sei o pq mas não suporta. Tava tentando a versão mais atual que é a 11 e por tentativa descobri que a mais atual que não deu problema era a versão 9."

Mas eu não entendi o que e como ele fez isto.

Desde já lhe agradeço, preciso muito fazer esta conexão com o sql server.

3 respostas

Olá Eudermes,

Tente isso no properties:

jdbc:sqlserver://localhost:1433;databaseName=OSCLI32;encrypt=true;trustServerCertificate=true;

Boa Noite Robson!

Muito obrigado pelo retorno;

Eu coloquei a linha que vc sugeriu no properties: jdbc:sqlserver://localhost:1433;databaseName=OSCLI32;encrypt=true;trustServerCertificate=true;

Infelizmente os erros de conexão com o sql server continuam:

com.microsoft.sqlserver.jdbc.SQLServerException: O driver não pôde estabelecer uma conexão segura com o SQL Server usando a criptografia SSL. Erro: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:cb3be778-293e-4f55-a12c-c4a713693064

Aqui na empresa, só usa o sql server, tem uma semana que estou tentando me conectar com o banco, já fiz de tudo e não estabelece a conexão.

Se uso o Postgres e o Mysql, as conexão ocorrem 100%.

Existe algo mais que possa fazer?

Oi!

Acho que esse tópico está duplicado e respondi nesse outro: https://cursos.alura.com.br/forum/topico-mensagem-de-erro-ao-conectar-com-o-sql-server-339556