【python】H2DB_jaydebeapi_connect_データベース接続
H2 Database
pythonで開発する際にH2 Databaseに接続してデータを取得できる方法は、あるのか調べました。
sqlalchemyでH2 Databaseに接続する方法がわかる方、情報共有してくれると嬉しいです。
今回は、jeydebeapiを利用して接続するコードを紹介します。
あまり、調べても出てこなかったので、備忘録として残します。
パッケージ
pip install JayDeBeApi
pip install JPype1
pip install psycopg2
パッケージは,pip install で、JayDeBeApi、JPype1, 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'>
データ
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を変更する。