sql >> データベース >  >> Database Tools >> DBeaver

DBeaverからSAPHANACloudへの安全な接続

    以前の投稿では、HDBSQLからSAPHANACloudへの安全な接続でHDBSQLを使用しました。それでは、DBeaver CEに移りましょう。これは、以前のいくつかの投稿ですでに使用した無料のデータベースマネージャーです。今日、それは私がすでに私のマシンにインストールした最新のアップデート7.0.3を手に入れました。

    SAPHANACloud…

    …は、クラウドネイティブの新しいSAP HANA製品であり、以前の投稿またはThomasJungによる最近のライブコーディングエピソードで使用されています。

    始める前の2つの簡単なメモ:

    1. 現在、SAP Cloud Platformでは有料サービスとしてのみ利用可能ですが、(将来の見通しに関する通常の免責事項が適用されます)試用版は今年後半に利用可能になる予定です。
    2. 念のため、DBクライアントがSAP HANA Cloudインスタンスに接続しようとするマシンのIPアドレスは、管理者がホワイトリストに登録する必要があります。

    幸い、私の場合、私はこのSAPHANACloudインスタンスの管理者の1人です。そのため、私のIPアドレスからアクセスできます。

    インスタンスのエンドポイントを取得する必要があります。これは次のとおりです。

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

    DBeaverに戻る…

    …2つの素晴らしいことに気付くことができます:

    1. SAPHANAはすでに利用可能なドライバーのリストに含まれています
    2. HANAJDBCドライバーngdbc 必要または更新されると自動的にダウンロードされます。必要に応じて、マシンにプレインストールされている可能性のあるドライバーを指定することもできます。

    新しい接続を作成しましょう。

    だから、私はホストを置く必要があります およびポート それに応じて、HANACloudインスタンスのコックピットからコピーされたエンドポイントに応じて。これにより、 JDBC URLが自動的に入力されます 。さらに、ユーザー名を入力します およびパスワード 田畑。では、接続をテストしましょう…

    Receive of connect failed. 「?なんで?もちろん、前の投稿を読んだら😉

    クライアントはSAPHANACloudへの安全な接続のみを確立できます!

    このencryptを追加しましょう 接続へのパラメータ。残念ながら、これはDBevaerUIがやや直感的でないことに気付いた場所です。

    ドライバーのプロパティに切り替えます ユーザープロパティを右クリックします 新しいプロパティを追加します。

    残念ながら、DBevarではencrypt=trueを入力できませんでした ここだけです。代わりに、encryptを追加しました プロパティをクリックしてから(計算に30分かかりました)、のプロパティの横をダブルクリックします。 編集する列。 trueと入力します そこに。

    では、接続をテストしましょう 今…

    ビンゴ!これで、インスタンスに接続して作業できるようになりました。

    もう1つの明らかな免責事項があります。

    DBAdminなどの管理者ユーザーは絶対に使用しないでください 、作業を行うために!
    管理者用または開発用に別々のユーザーを作成します。

    MacOSを使用しています…何か見逃したことはありますか?

    繰り返しになりますが、前の投稿を読んだ場合、「DigiCertグローバルルートCA 安全な通信を確立するためにSAPHANAホストを認証するには、ルート証明書が必要でした。また、MacOSまたはLinixでは、HDBSQLでその証明書を明示的に使用する必要があったことを覚えているかもしれません。

    DBeaverとの違いは何ですか?これはJavaアプリであり、JDBCドライバーを使用しています。完全なJREはDBeaverのインストールに含まれています。

    また、デフォルトでは、JREにはcacertsが付属しています。 ルート証明書のストア。確認しましょう。

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

    まだ信頼していませんか?

    個人的には、これらの仮定が正しいかどうかを再確認したいと思います。

    Macに別のJavaをインストールしています:

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

    それでは、trustStoreを提供するために使用できるかどうかを確認しましょう 代わりに、JDBC接続のプロパティ。

    そしてWindowsはどうですか?

    まあ、それほど違いはありません。 DBeaverとともにインストールされたデフォルトのJREを使用します…

    …またはcacertsを使用できます 他の%JAVA_HOME%で配信 、私の場合のSAPJVMのように。

    JDBCに関する詳細情報をお探しですか?

    https://people.sap.com/daniel.vanleeuwenからチュートリアルが利用可能です。チュートリアルミッションの一部としてSAPHANAJDBCDriverを使用して接続するクライアントを使用してSAPHANAデータベースをクエリします。


    1. kohanaを使用してphpmyadminによって生成されたSQLダンプからテーブルを作成します

    2. MySQLまたはphpmyadminでテーブルをロックするにはどうすればよいですか?

    3. SQL SERVER MANAGEMENT STUDIO:変数を強調表示する

    4. スキップ番号を自動インクリメントしますか?