sql >> Base de Datos >  >> Database Tools >> DBeaver

Conexión segura de DBeaver a SAP HANA Cloud

En mi publicación anterior Conexión segura de HDBSQL a SAP HANA Cloud, trabajé con HDBSQL. Ahora pasemos a DBeaver CE, un administrador de base de datos gratuito que ya he usado en algunas publicaciones anteriores. Hoy recibió la última actualización 7.0.3, que ya instalé en mis máquinas.

Nube de SAP HANA...

… es el nuevo producto SAP HANA nativo de la nube, utilizado en mi publicación anterior o en el reciente episodio de codificación en vivo de Thomas Jung.

Dos notas rápidas antes de comenzar:

  1. A partir de hoy, solo está disponible como un servicio pago en SAP Cloud Platform, pero (se aplica el descargo de responsabilidad habitual sobre declaraciones prospectivas) la versión de prueba debería estar disponible a finales de este año.
  2. Como recordatorio, su administrador debe incluir en la lista blanca la dirección IP de una máquina desde la que un cliente de base de datos intenta conectarse a la instancia de SAP HANA Cloud.

Por suerte, en mi caso, soy uno de los administradores de esta instancia de SAP HANA Cloud. Por lo tanto, es accesible desde mis direcciones IP.

Necesito agarrar el punto final de mi instancia, que es:

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

Volver a DBeaver...

…donde puedes notar dos grandes cosas:

  1. SAP HANA ya está incluido en la lista de controladores disponibles y
  2. Controlador JDBC de HANA ngdbc se descarga automáticamente cuando se requiere o se actualiza. Si es necesario, aún puede apuntar a un controlador que ya tenga preinstalado en su máquina.

Vamos a crear una nueva conexión.

Entonces, necesito poner Host y Puerto de acuerdo con el punto final copiado de mi cabina de instancia de HANA Cloud. Esto completará automáticamente la URL de JDBC . Además, rellene Nombre de usuario y Contraseña los campos. Bien, vamos a Probar la conexión... .

Receive of connect failed. “? ¿Por qué? Claro, ya sabes, si leíste el post anterior 😉

¡Los clientes solo pueden establecer conexiones seguras a SAP HANA Cloud!

Agreguemos este encrypt parámetro a la conexión. Desafortunadamente, aquí es donde encontré la interfaz de usuario de DBevaer algo poco intuitiva.

Cambiar a Propiedades del controlador y haga clic derecho en Propiedades de usuario para agregar una nueva propiedad.

Desafortunadamente, DBevar no me permitió poner encrypt=true Justo aquí. En cambio, agregué encrypt propiedad, y luego (me tomó media hora calcular nuestra) doble clic al lado de mi propiedad en Valor columna a editar. Escribe true allí.

Bien, vamos a Probar la conexión ahora…

¡Bingo! Ahora puedo conectarme y trabajar con mi instancia.

Aquí hay otro descargo de responsabilidad obvio.

Nunca use un usuario administrador, como DBAdmin , para hacer su trabajo!
Cree usuarios separados para administrador o para desarrollo.

Estamos en MacOS... ¿Nos hemos perdido algo?

Nuevamente, si leyó la publicación anterior, es posible que recuerde que "DigiCert Global Root CA Se requería un certificado raíz para autenticar el host de SAP HANA para establecer una comunicación segura. Y quizás recuerde que en MacOS o Linix teníamos que usar explícitamente ese certificado con HDBSQL.

¿Qué es diferente con DBeaver? Es una aplicación Java y utiliza el controlador JDBC. El JRE completo está incluido en la instalación de DBeaver.

Y por defecto JRE viene con cacerts almacén de certificados raíz. Vamos a comprobar.

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

¿Todavía no confías?

Personalmente, ciertamente me gustaría verificar dos veces si estas suposiciones son correctas.

Tengo otra instalación de Java en mi Mac:

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

así que vamos a comprobar si se puede utilizar para proporcionar el trustStore propiedad para nuestra conexión JDBC en su lugar.

¿Y Windows?

Bueno, no muy diferente. Utiliza el JRE predeterminado instalado con DBeaver...

…o puede usar cacerts entregado en algún otro %JAVA_HOME% , como con SAP JVM en mi caso.

¿Busca más información sobre JDBC?

Hay un tutorial de https://people.sap.com/daniel.vanleeuwen disponible:Conectar usando el controlador JDBC de SAP HANA como parte de la misión de tutoriales Usar clientes para consultar una base de datos de SAP HANA.