【python】H2DB_jaydebeapi_connect_データベース接続

Python

ad2

【python】H2DB_jaydebeapi_connect_データベース接続

H2 Database

pythonで開発する際にH2 Databaseに接続してデータを取得できる方法は、あるのか調べました。

sqlalchemyでH2 Databaseに接続する方法がわかる方、情報共有してくれると嬉しいです。

今回は、jeydebeapiを利用して接続するコードを紹介します。

あまり、調べても出てこなかったので、備忘録として残します。

パッケージ

pip install JayDeBeApi

pip install JPype1

pip install psycopg2

パッケージは,pip install で、JayDeBeApiJPype1, psycopg2をインストールしてください。

ソースコード

import jaydebeapi

# DB ConnectString
conn = jaydebeapi.connect("org.h2.Driver", r'jdbc:h2:tcp://localhost/C:/h2db/TEST', ['sa', 'password'], r'C:\Program Files (x86)\H2\bin\h2-2.1.214.jar')
curs = conn.cursor()
# Table create
curs.execute('create table PERSON ("PERSON_ID" INTEGER not null, "NAME" VARCHAR not null, primary key ("PERSON_ID"))')
# data insert
curs.execute("insert into PERSON values (1, 'John'), (2, 'Sam'), (3, 'Lisa')")
# data select
curs.execute("select * from PERSON")
data = curs.fetchall()
# output
print(data)
print(type(data))


# -----
結果(1, 'John'), (2, 'Sam'), (3, 'Lisa')]
<class 'list'>

データ

h2database_screen1

Error

pythonの実行環境と、jvmの32bit 64bitの種類は、一致させること。

★Error

JVMNotSupportedException: JVM mismatch, python is 32 bit and JVM is 64 bit

このエラーメッセージが出た場合、環境変数の「JAVA_HOME」に設定しているjreのパスが32bit(or 64bit)になっていないかチェックすること。

対策:oracle javaサイトから32bitまたは、64bitのjreファイルをダウンロードしてインストール⇒環境変数Pathを変更する。

oracle_java_jre