Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Sawa_Ito
Product and Topic Expert
Product and Topic Expert
0 Kudos

このブログは、2022 年 11 月 11 日に SAP ジャパン公式ブログに掲載されたものを SAP ジャパン公式ブログ閉鎖に伴い転載したものです。




このブログは、 danielsblog01 が執筆したブログ「 Making a Direct Connection to a HANA Data Lake with Python from a Windows Laptop(2021 年 7 月 15 日)の抄訳です。最新の情報は、SAP Community の最新ブログマニュアルを参照してください。

 






スタンドアロンの SAP HANA Cloud, data lake と Python の愛好家であれば、pyodbc を使用した スタンドアロンの SAP HANA Cloud, data lake への直接の接続に関するこのブログが役に立つでしょう。
現在、Python を使用してスタンドアロンの  SAP HANA, data lake に格納されたデータのやりとりをするには 2 つの方法があります。
1 つは、既存の Python hdbcli を使用してSAP HANA データベースと接続を確立し、スタンドアロンの SAP HANA Cloud, data lake へリモート接続する方法です。
しかしながら、このアプローチにはSAP HANA データベースに仮想テーブルを作成する必要があります。
2 つ目の方法は、pyodbc を使用して直接接続し、データをやりとりする方法です。

 

SAP IQ ODBC ドライバーのインストール

接続のために最初に必要になるのは、適切な SAP IQ ODBC ドライバーのインストールです。
これは、SAP Software Center にあります。
最新の SAP HANA Cloud, data lake(IQ) クライアントパッケージをダウンロードすることを推奨します。
インストールするパッケージが、python スクリプトを実行するオペレーティングシステムをサポートしていることを確認してください。

ダウンロードしたら、SAP HANA, data lake クライアントパッケージをインストールし、システムで ODBC ドライバーが認識されていることを確認します。
Windows では、コントロールパネルで確認できます。コントロールパネルを開いて「odbc」を検索します。

 

「Set up ODBC data sources (XX-bit)」のいずれかを開き、「Sybase IQ」ドライバーを含む User Data Sourceに表示されているか、あるいは、「追加…」をクリックして「Sybase IQ」がドライバー選択メニューのオプションに含まれていることを確認します。


 

ドライバーのインストールが確認できたので、python で利用できるようになります。

 


 

Python との接続を確立する

ここからが楽しいパートです。
最初に、ターミナルを開いて、 pip install pyodbc のコマンドで pyodbc パッケージをインストールします。
その後、python スクリプトまたは jupyter notebook を開いて後で埋める下のコードテンプレートを貼り付けます。

import pyodbc 

driver = "Sybase IQ"

UID = ""

PWD = ""

host = ""

CONN_STR = f'DRIVER={driver};UID={UID};PWD={PWD};host={host};ENC=TLS(tls_type=rsa;direct=yes)'

cnxn = pyodbc.connect(CONN_STR)

cursor = cnxn.cursor()

for row in cursor.execute('SELECT * FROM DUMMY'):

    print(row)


 

残りは、スタンドアロンの SAP HANA Cloud, data lake インスタンスのホストとクレデンシャルを貼り付けるだけです。
SAP BTP cockpit に移動し、[Data Lake インスタンス]メニューから SQL エンドポイントをコピーします。

コードテンプレートのホスト変数へ SQL エンドポイントを貼り付け、接続用の User ID とパスワードを埋めます。
その後、スクリプトを実行します。
接続が確立され、アウトプットの「(0, )」が表示されます!

 

これで終了です!
タイプしたあらゆる SQL クエリーが、pyodbc による直接接続でスタンドアロンの SAP HANA Cloud, data lake に送信されます。 こちらのチュートリアル(英語)も参考にしてください。