DBeaver
 sql >> Database >  >> Database Tools >> DBeaver

Connessione sicura da DBeaver a SAP HANA Cloud

Nel mio post precedente Connessione sicura da HDBSQL a SAP HANA Cloud ho lavorato con HDBSQL. Ora passiamo a DBeaver CE, un gestore di database gratuito che ho già utilizzato in alcuni post precedenti. Oggi ha ricevuto l'ultimo aggiornamento 7.0.3, che ho già installato sulle mie macchine.

SAP HANA Cloud...

… è il nuovo prodotto SAP HANA cloud-native, utilizzato nel mio post precedente o nel recente episodio di codifica dal vivo di Thomas Jung.

Due brevi note prima di iniziare:

  1. A partire da oggi, è disponibile solo come servizio a pagamento in SAP Cloud Platform, ma (si applica la normale esclusione di responsabilità sulle dichiarazioni previsionali) la versione di prova dovrebbe essere disponibile entro la fine dell'anno.
  2. Ricordiamo che l'indirizzo IP di una macchina da cui un client DB tenta di connettersi all'istanza SAP HANA Cloud dovrebbe essere inserito nella whitelist dall'amministratore.

Fortunatamente, nel mio caso, sono uno degli amministratori di questa istanza SAP HANA Cloud. Quindi, è accessibile dai miei indirizzi IP.

Devo prendere l'endpoint della mia istanza, che è:

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

Torna a DBeaver...

…dove puoi notare due grandi cose:

  1. SAP HANA è già incluso nell'elenco dei driver disponibili e
  2. Driver HANA JDBC ngdbc viene scaricato automaticamente quando richiesto o aggiornato. Se necessario, puoi comunque puntare a un driver che potresti avere già preinstallato sul tuo computer.

Creiamo una nuova connessione.

Quindi, devo inserire Host e Porta in base all'endpoint copiato dal cockpit dell'istanza HANA Cloud. Questo popolerà automaticamente l'URL JDBC . Inoltre, compila Nome utente e Password campi. Ok, proviamo Test della connessione... .

"Receive of connect failed. “? Come mai? Certo, sai, se hai letto il post precedente 😉

I clienti possono stabilire solo connessioni sicure a SAP HANA Cloud!

Aggiungiamo questo encrypt parametro alla connessione. Sfortunatamente, è qui che ho trovato l'interfaccia utente di DBevaer alquanto poco intuitiva.

Passa a Proprietà driver e fai clic con il pulsante destro del mouse su Proprietà utente per aggiungere una nuova proprietà.

Sfortunatamente, DBevar non mi ha permesso di inserire encrypt=true proprio qui. Invece, ho aggiunto encrypt proprietà, quindi (mi ci è voluta mezz'ora per capire la nostra) fare doppio clic accanto alla mia proprietà in Valore colonna da modificare. Digita true lì.

Ok, Testare la connessione ora...

Bingo! Ora posso connettermi e lavorare con la mia istanza.

Ecco un altro ovvio disclaimer.

Non utilizzare mai l'utente amministratore, come DBAdmin , per fare il tuo lavoro!
Crea utenti separati per l'amministratore o per lo sviluppo.

Siamo su MacOS... Ci siamo persi qualcosa?

Ancora una volta, se leggi il post precedente, potresti ricordare che "DigiCert Global Root CA ” era necessario il certificato radice per autenticare l'host SAP HANA per stabilire una comunicazione sicura. E potresti ricordare che su MacOS o Linix dovevamo usare esplicitamente quel certificato con HDBSQL.

Cosa cambia con DBeaver? È un'app Java e utilizza il driver JDBC. Il JRE completo è incluso nell'installazione di DBeaver.

E per impostazione predefinita JRE viene fornito con cacerts archivio di certificati radice. Controlliamo.

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

Non ti fidi ancora?

Personalmente, vorrei sicuramente ricontrollare, se queste ipotesi sono corrette.

Ho un'altra installazione Java sul mio Mac:

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

quindi controlliamo se può essere utilizzato per fornire il trustStore invece per la nostra connessione JDBC.

E per quanto riguarda Windows?

Beh, non molto diverso. Utilizzi il JRE predefinito installato con DBeaver...

...oppure puoi usare cacerts consegnato in qualche altro %JAVA_HOME% , come nel mio caso con SAP JVM.

Cerchi ulteriori informazioni su JDBC?

È disponibile un tutorial da https://people.sap.com/daniel.vanleeuwen:Connetti utilizzando il driver JDBC SAP HANA come parte della missione del tutorial Utilizzare i client per eseguire query su un database SAP HANA.