В предишната си публикация Сигурна връзка от HDBSQL към SAP HANA Cloud работих с HDBSQL. Сега нека преминем към DBeaver CE – безплатен мениджър на база данни, който вече използвах в някои предишни публикации. Днес получи най-новата актуализация 7.0.3, която вече инсталирах на моите машини.
SAP HANA Cloud…
… е новият облачен продукт SAP HANA, използван в предишната ми публикация или в скорошния епизод за кодиране на живо от Томас Юнг.
Две бързи бележки, преди да започнем:
- От днес тя е налична само като платена услуга в SAP Cloud Platform, но (прилага се обичайният отказ от отговорност относно изявлението за бъдещето) пробната версия трябва да бъде налична по-късно тази година.
- Като напомняне, IP адресът на машина, от която DB клиент се опитва да се свърже с екземпляр на SAP HANA Cloud — трябва да бъде в бял списък от вашия администратор.
За щастие в моя случай аз съм един от администраторите на този екземпляр на SAP HANA Cloud. И така, той е достъпен от моите IP адреси.
Трябва да грабна крайната точка на моя екземпляр, която е:
2246ed61-81df-48e8-9711-323311f7613f.hana.prod-eu20.hanacloud.ondemand.com:443
.
Обратно към DBeaver...
…където можете да забележите две страхотни неща:
- SAP HANA вече е включен в списъка с налични драйвери и
- HANA JDBC драйвер
ngdbc
се изтегля автоматично, когато се изисква или актуализира. Ако е необходимо, все още можете да посочите драйвер, който може би вече сте инсталирали на вашата машина.
Нека създадем нова връзка.
Така че трябва да сложа Host и Порт съответно до крайната точка, копирана от моята пилотска кабина на HANA Cloud. Това автоматично ще попълни JDBC URL адреса . Плюс попълнете Потребителско име и Парола полета. Добре, нека Тестваме връзката... .
“Receive of connect failed.
“? Защо? Разбира се, знаете, ако прочетете предишната публикация 😉
Клиентите могат да установяват само защитени връзки към SAP HANA Cloud!
Нека добавим това encrypt
параметър на връзката. За съжаление, тук намерих потребителския интерфейс на DBevaer за малко неинтуитивен.
Превключете към Свойства на драйвера и щракнете с десния бутон върху Свойства на потребителя за да добавите ново свойство.
За съжаление DBevar не ми позволи да сложа encrypt=true
точно тук. Вместо това добавих encrypt
собственост и след това (отне ми половин час, за да разбера нашите) щракнете двукратно върху моя имот в Стойност колона за редактиране. Въведете true
там.
Добре, нека тестваме връзката сега...
Ето още един очевиден отказ от отговорност.
Никога не използвайте администраторски потребител, като
DBAdmin
, за да си свършите работата!
Създайте отделни потребители за администратори или за разработка.
С MacOS сме... Пропуснали ли сме нещо?
Отново, ако прочетете предишната публикация, тогава може да си спомните, че „DigiCert Global Root CA ” беше необходим коренен сертификат за удостоверяване на SAP HANA хост за установяване на сигурна комуникация. И може би си спомняте, че в MacOS или Linix трябваше изрично да използваме този сертификат с HDBSQL.
Какво е различното с DBeaver? Това е приложение на Java и използва драйвера JDBC. Пълният JRE е включен в инсталацията на DBeaver.
И по подразбиране JRE идва с cacerts
съхранение на root сертификати. Да проверим.
cd /Applications/DBeaver.app/Contents/Eclipse/jre/Contents/Home
bin/keytool -exportcert -cacerts -v -alias "digicertglobalrootca [jdk]" -rfc -storepass changeit
Все още ли нямате доверие?
Лично аз определено бих искал да проверя още веднъж дали тези предположения са верни.
Имам друга Java инсталация на моя Mac:
/usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home
така че нека проверим дали може да се използва за предоставяне на trustStore
вместо това свойство за нашата JDBC връзка.
А какво ще кажете за Windows?
Е, не е много по-различно. Използвате JRE по подразбиране, инсталиран с DBeaver...
…или можете да използвате cacerts
доставен в някакъв друг %JAVA_HOME%
, както при SAP JVM в моя случай.
Търсите повече информация за JDBC?
Наличен е урок от https://people.sap.com/daniel.vanleeuwen:Свържете се с помощта на SAP HANA JDBC драйвера като част от мисията на уроците. Използвайте клиенти за запитване на база данни на SAP HANA.