DBeaver
 sql >> Base de Dados >  >> Database Tools >> DBeaver

Conexão segura do DBeaver para SAP HANA Cloud


Em minha postagem anterior Conexão segura do HDBSQL ao SAP HANA Cloud, trabalhei com o HDBSQL. Agora vamos para o DBeaver CE — um gerenciador de banco de dados gratuito que já usei em alguns posts anteriores. Hoje ele recebeu a última atualização 7.0.3, que já instalei em minhas máquinas.

SAP HANA Cloud…


… é o novo produto SAP HANA nativo da nuvem, usado no meu post anterior ou no recente episódio de codificação ao vivo de Thomas Jung.

Duas notas rápidas antes de começarmos:
  1. A partir de hoje, está disponível apenas como um serviço pago no SAP Cloud Platform, mas (aplica-se a isenção de responsabilidade usual sobre declarações prospectivas) a versão de avaliação deve estar disponível ainda este ano.
  2. Como lembrete, o endereço IP de uma máquina da qual um cliente de banco de dados tenta se conectar à instância do SAP HANA Cloud — deve ser incluído na lista de permissões por seu administrador.

Felizmente, no meu caso, sou um dos administradores desta instância do SAP HANA Cloud. Portanto, é acessível a partir dos meus endereços IP.

Eu preciso pegar o endpoint da minha instância, que é:

2246ed61-81df-48e8-9711-323311f7613f.hana.prod-eu20.hanacloud.ondemand.com:443 .


De volta ao DBeaver…


…onde você pode notar duas grandes coisas:
  1. O SAP HANA já está incluído na lista de drivers disponíveis e
  2. Driver JDBC do HANA ngdbc é baixado automaticamente quando necessário ou atualizado. Se necessário, você ainda pode apontar para um driver que já tenha pré-instalado em sua máquina.



Vamos criar uma nova conexão.



Então, preciso colocar Host e Porta de acordo com o endpoint copiado do cockpit da minha instância do HANA Cloud. Isso preencherá automaticamente o URL JDBC . Além disso, preencha Nome de usuário e Senha Campos. Ok, vamos Testar a conexão… .



Receive of connect failed. “? Por quê? Claro, já sabe, se você leu o post anterior 😉


Os clientes podem estabelecer apenas conexões seguras com o SAP HANA Cloud!

Vamos adicionar este encrypt parâmetro para a conexão. Infelizmente, foi aqui que achei a interface do usuário do DBevaer um pouco pouco intuitiva.

Alterne para Propriedades do driver e clique com o botão direito do mouse em Propriedades do usuário para adicionar uma nova propriedade.



Infelizmente, DBevar não me permitiu colocar encrypt=true apenas aqui. Em vez disso, adicionei encrypt propriedade e, em seguida (levei meia hora para descobrir nossa) clique duas vezes ao lado de minha propriedade em Valor coluna para editar. Digite true lá.



Ok, vamos Testar a conexão agora…


Bingo! Agora posso me conectar e trabalhar com minha instância.



Aqui está outro aviso óbvio.


Nunca use o usuário administrador, como DBAdmin , para fazer seu trabalho!
Crie usuários separados para administração ou desenvolvimento.

Estamos no MacOS... Perdemos alguma coisa?


Novamente, se você leu a postagem anterior, deve se lembrar que “DigiCert Global Root CA ” era necessário um certificado raiz para autenticar o host SAP HANA para estabelecer uma comunicação segura. E você deve se lembrar que no MacOS ou Linix tivemos que usar explicitamente esse certificado com HDBSQL.

O que é diferente com DBeaver? É um aplicativo Java e está usando o driver JDBC. O JRE completo está incluído na instalação do DBeaver.



E por padrão o JRE vem com os cacerts armazenamento de certificados raiz. Vamos checar.

cd /Applications/DBeaver.app/Contents/Eclipse/jre/Contents/Home
bin/keytool -exportcert -cacerts -v -alias "digicertglobalrootca [jdk]" -rfc -storepass changeit


Você ainda não confia?


Pessoalmente, eu certamente gostaria de verificar novamente se essas suposições estão corretas.

Eu tenho outra instalação Java no meu Mac:

/usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home

então vamos verificar se ele pode ser usado para fornecer o trustStore propriedade para nossa conexão JDBC.


E o Windows?


Bem, não muito diferente. Você usa o JRE padrão instalado com DBeaver…



…ou você pode usar cacerts entregue em algum outro %JAVA_HOME% , como no SAP JVM no meu caso.


Procurando mais informações sobre JDBC?


Há um tutorial disponível em https://people.sap.com/daniel.vanleeuwen:Conectar usando o driver SAP HANA JDBC como parte da missão dos tutoriais Usar clientes para consultar um banco de dados SAP HANA.