V mém předchozím příspěvku Zabezpečené připojení z HDBSQL do SAP HANA Cloud jsem pracoval s HDBSQL. Nyní se přesuneme k DBeaver CE – bezplatnému správci databází, který jsem již používal v některých předchozích příspěvcích. Dnes dostal nejnovější aktualizaci 7.0.3, kterou jsem již nainstaloval na své počítače.
SAP HANA Cloud…
… je nový cloudový nativní produkt SAP HANA, použitý v mém předchozím příspěvku nebo v nedávné epizodě živého kódování od Thomase Junga.
Než začneme, dvě rychlé poznámky:
- K dnešnímu dni je k dispozici pouze jako placená služba v cloudové platformě SAP, ale zkušební verze by měla být k dispozici později v tomto roce.
- Připomínáme, že IP adresu počítače, ze kterého se klient DB pokouší připojit k instanci SAP HANA Cloud – by měl váš administrátor přidat na bílou listinu.
Naštěstí jsem v mém případě jedním z administrátorů této instance SAP HANA Cloud. Je tedy přístupný z mých IP adres.
Potřebuji získat koncový bod své instance, což je:
2246ed61-81df-48e8-9711-323311f7613f.hana.prod-eu20.hanacloud.ondemand.com:443
.
Zpět na DBeaver…
…kde si můžete všimnout dvou skvělých věcí:
- SAP HANA je již zahrnuta v seznamu dostupných ovladačů a
- Ovladač HANA JDBC
ngdbc
se stahuje automaticky v případě potřeby nebo aktualizace. V případě potřeby můžete stále odkazovat na ovladač, který již máte na svém počítači předinstalovaný.
Pojďme vytvořit nové připojení.
Musím tedy zadat Hostitel a Port podle koncového bodu zkopírovaného z mého kokpitu instance HANA Cloud. Tím se automaticky vyplní adresa URL JDBC . Plus vyplňte Uživatelské jméno a Heslo pole. Dobře, pojďme Otestovat připojení… .
“Receive of connect failed.
“? Proč? Samozřejmě víte, pokud jste si přečetli předchozí příspěvek 😉
Klienti mohou navázat pouze zabezpečená připojení ke cloudu SAP HANA!
Pojďme přidat toto encrypt
parametr k připojení. Bohužel jsem zde zjistil, že uživatelské rozhraní DBevaer je poněkud neintuitivní.
Přepněte na Vlastnosti ovladače a klikněte pravým tlačítkem na Vlastnosti uživatele přidat novou vlastnost.
Bohužel DBevar mi nedovolil zadat encrypt=true
právě tady. Místo toho jsem přidal encrypt
a poté (trvalo mi půl hodiny, než jsem zjistil naši vlastnost) poklepejte vedle mého majetku v Hodnota sloupec k úpravě. Zadejte true
tam.
Dobře, pojďme Otestovat připojení nyní…
Zde je další zřejmé vyloučení odpovědnosti.
Nikdy nepoužívejte administrátora, jako je
DBAdmin
, dělat svou práci!
Vytvořte samostatné uživatele pro správce nebo pro vývoj.
Jsme na MacOS... Uniklo nám něco?
Znovu, pokud jste si přečetli předchozí příspěvek, možná si vzpomenete, že „DigiCert Global Root CA ” byl vyžadován kořenový certifikát k ověření hostitele SAP HANA za účelem navázání zabezpečené komunikace. A možná si pamatujete, že na MacOS nebo Linix jsme museli explicitně použít tento certifikát s HDBSQL.
V čem je DBeaver jiný? Je to aplikace Java a používá ovladač JDBC. Kompletní JRE je součástí instalace DBeaver.
A standardně JRE přichází s cacerts
úložiště kořenových certifikátů. Zkontrolujeme.
cd /Applications/DBeaver.app/Contents/Eclipse/jre/Contents/Home
bin/keytool -exportcert -cacerts -v -alias "digicertglobalrootca [jdk]" -rfc -storepass changeit
Ještě nedůvěřujete?
Osobně bych si určitě rád znovu ověřil, zda jsou tyto předpoklady správné.
Mám na svém Macu další instalaci Java:
/usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home
pojďme tedy zkontrolovat, zda jej lze použít k poskytování trustStore
vlastnost pro naše připojení JDBC.
A co Windows?
No, moc odlišné. Používáte výchozí JRE nainstalované s DBeaver…
…nebo můžete použít cacerts
dodáno v nějakém jiném %JAVA_HOME%
, jako u SAP JVM v mém případě.
Hledáte další informace o JDBC?
K dispozici je výukový program z https://people.sap.com/daniel.vanleeuwen:Připojení pomocí ovladače SAP HANA JDBC v rámci mise výukových programů Použití klientů k dotazování databáze SAP HANA.