Dalam posting saya sebelumnya Koneksi aman dari HDBSQL ke SAP HANA Cloud saya bekerja dengan HDBSQL. Sekarang mari kita beralih ke DBeaver CE — manajer database gratis yang telah saya gunakan di beberapa posting sebelumnya. Hari ini mendapat pembaruan terbaru 7.0.3, yang sudah saya instal di mesin saya.
SAP HANA Cloud…
… adalah produk SAP HANA cloud-native baru, yang digunakan dalam posting saya sebelumnya atau dalam episode pengkodean langsung terbaru oleh Thomas Jung.
Dua catatan singkat sebelum kita mulai:
- Mulai hari ini, ini hanya tersedia sebagai layanan berbayar di SAP Cloud Platform, tetapi (penafian biasa tentang pernyataan berwawasan ke depan berlaku) versi uji coba akan tersedia akhir tahun ini.
- Sebagai pengingat, alamat IP mesin tempat klien DB mencoba terhubung ke instans SAP HANA Cloud — harus masuk daftar putih oleh administrator Anda.
Untungnya, dalam kasus saya, saya adalah salah satu admin dari instance SAP HANA Cloud ini. Jadi, ini dapat diakses dari alamat IP saya.
Saya perlu mengambil titik akhir dari instance saya, yaitu:
2246ed61-81df-48e8-9711-323311f7613f.hana.prod-eu20.hanacloud.ondemand.com:443
.
Kembali ke DBeaver…
…di mana Anda dapat melihat dua hal hebat:
- SAP HANA sudah termasuk dalam daftar driver yang tersedia dan
- Driver JDBC HANA
ngdbc
diunduh secara otomatis saat diperlukan atau diperbarui. Jika perlu, Anda masih dapat mengarahkan ke driver yang mungkin sudah Anda instal sebelumnya di mesin Anda.
Mari buat koneksi baru.
Jadi, saya harus meletakkan Host dan Pelabuhan sesuai dengan titik akhir yang disalin dari kokpit instance HANA Cloud saya. Ini akan secara otomatis mengisi URL JDBC . Plus isi Nama pengguna dan Sandi bidang. Oke, mari Menguji Koneksi… .
“Receive of connect failed.
“? Mengapa? Pasti tau kan kalo udah baca postingan sebelumnya
Klien hanya dapat membuat koneksi aman ke SAP HANA Cloud!
Mari tambahkan encrypt
ini parameter koneksi. Sayangnya, di sinilah saya menemukan DBevaer UI agak tidak intuitif.
Beralih ke Properti pengemudi dan klik kanan pada Properti Pengguna untuk menambahkan properti baru.
Sayangnya, DBevar tidak mengizinkan saya untuk memasukkan encrypt=true
hanya di sini. Sebagai gantinya, saya menambahkan encrypt
properti, dan kemudian (butuh waktu setengah jam untuk mengetahui kami) klik dua kali di samping properti saya di Nilai kolom untuk diedit. Ketik true
di sana.
Oke, mari Uji Koneksi sekarang…
Inilah penafian lain yang jelas.
Jangan pernah menggunakan pengguna admin, seperti
DBAdmin
, untuk melakukan pekerjaan Anda!
Buat pengguna terpisah untuk admin atau untuk pengembangan.
Kami menggunakan MacOS… Apakah kami melewatkan sesuatu?
Sekali lagi, jika Anda membaca posting sebelumnya, Anda mungkin ingat bahwa “DigiCert Global Root CA ” sertifikat root diperlukan untuk mengotentikasi host SAP HANA untuk membangun komunikasi yang aman. Dan Anda mungkin ingat bahwa di MacOS atau Linix kami harus secara eksplisit menggunakan sertifikat itu dengan HDBSQL.
Apa bedanya dengan DBeaver? Ini adalah aplikasi Java dan menggunakan driver JDBC. JRE lengkap disertakan dalam instalasi DBeaver.
Dan secara default JRE hadir dengan cacerts
penyimpanan sertifikat root. Mari kita periksa.
cd /Applications/DBeaver.app/Contents/Eclipse/jre/Contents/Home
bin/keytool -exportcert -cacerts -v -alias "digicertglobalrootca [jdk]" -rfc -storepass changeit
Kamu belum percaya?
Secara pribadi, saya pasti ingin memeriksa ulang, apakah asumsi ini benar.
Saya memiliki instalasi Java lain di Mac saya:
/usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home
jadi mari kita periksa apakah itu dapat digunakan untuk menyediakan trustStore
properti untuk koneksi JDBC kami sebagai gantinya.
Bagaimana dengan Windows?
Yah, tidak jauh berbeda. Anda menggunakan JRE default yang diinstal dengan DBeaver…
…atau Anda dapat menggunakan cacerts
dikirimkan dalam beberapa %JAVA_HOME%
lainnya , seperti dengan SAP JVM dalam kasus saya.
Mencari informasi lebih lanjut tentang JDBC?
Ada tutorial dari https://people.sap.com/daniel.vanleeuwen tersedia:Hubungkan Menggunakan Driver SAP HANA JDBC sebagai bagian dari misi tutorial Gunakan Klien untuk Query Database SAP HANA.