JayDeBeApi を使って Python からJDBC-ODBC Bridge のデータにアクセス
Python と Java がインストールされている環境であれば、Python スクリプトと標準 SQL を使ってJDBC-ODBC Bridge のデータにアクセスできます。CData JDBC-ODBC Bridge Driver と JayDeBeApi モジュールを組み合わせることで、Python からリモートのJDBC-ODBC Bridge のデータを操作できます。CData ドライバーを使用することで、業界標準に準拠した実績のあるドライバーを Python という人気の高い言語で活用できます。この記事では、ドライバーを使って JDBC-ODBC Bridge に SQL クエリを実行し、標準的な Python でJDBC-ODBC Bridge のデータを可視化する方法を説明します。
JayDeBeApi モジュールを使用
JayDeBeApi は、JDBC(Java Database Connectivity)のブリッジとして機能する Python ライブラリで、Python プログラムから CData JDBC ドライバーを含む Java データベースとやり取りできるようになります。pip install コマンドでモジュールをインストールします。
pip install JayDeBeApi
JDBC URL を作成
JayDeBeApi をインストールしたら、SQL を使って Python からJDBC-ODBC Bridge のデータを操作する準備が整います。
To connect to an ODBC data source, specify either the DSN (data source name) or specify an ODBC connection string: Set Driver and the connection properties for your ODBC driver.ビルトイン接続文字列デザイナー
JDBC URL の作成には、JDBC-ODBC Bridge JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから実行します。
java -jar cdata.jdbc.jdbcodbc.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は、一般的な JDBC 接続文字列を含む変数の例です。
jdbc_url = "jdbc:jdbcodbc:Driver={ODBC_Driver_Name};Driver_Property1=Driver_Value1;Driver_Property2=Driver_Value2;..."
Python からJDBC-ODBC Bridge のデータにアクセス
JDBC URL を設定したら、あとは JDBC ドライバーの JAR ファイルへの絶対パスだけが必要です。これはインストールディレクトリの "lib" フォルダにあります(Windows では "C:\Program Files\CData[product_name] 20XX\lib\cdata.jdbc.jdbcodbc.jar")。
注意: まだ設定していない場合は、JAVA_HOME 環境変数を Java のインストールディレクトリに設定してください。
以下のようなコードで JDBC-ODBC Bridge からデータを読み取り、表示できます。
import jaydebeapi
#The JDBC connection string
jdbc_url = "jdbc:jdbcodbc:Driver={ODBC_Driver_Name};Driver_Property1=Driver_Value1;Driver_Property2=Driver_Value2;..."
username = "****"
password = "****"
#The absolute Path to the JDBC driver JAR file, typically:
jdbc_driver_jar = "C:\Program Files\CData[product_name] 20XX\lib\cdata.jdbc.jdbcodbc.jar"
conn = jaydebeapi.connect(
"cdata.jdbc.jdbcodbc.JDBCODBCDriver",
jdbc_url,
[username, password],
jdbc_driver_jar,
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM Account;")
results = cursor.fetchall()
for row in results:
print(row)
cursor.close()
conn.close()
無料トライアルと詳細情報
CData JDBC-ODBC Bridge Driver の 30 日間無料トライアルをダウンロードして、Python でリアルタイムのJDBC-ODBC Bridge のデータを操作してみてください。ご不明な点がございましたら、サポートチームまでお問い合わせください。