Windows 下使用python + odbc 连接 H2 数据库

最近在做一个很搓(code clone detection )的项目, 开发主用了H2 database. 无奈之下只能跟着学习, 遇坑无数, 记录下来,留给后来踩到的人一个启示。 

Windows:

H2 data base set up 

使用windows 必须要安装 odbc for PostgreSQL 

https://ftp.postgresql.org/pub/odbc/versions/msi/psqlodbc_11_00_0000-x64.zip

 使用命令 java -cp ./* org.h2.tools.Server (坑1, 官网上的命令是错的不能用!!!)启动服务PostgreSQL

 

1.java -cp ./* org.h2.tools.Server -pg -key codeclones "C:\BCEvalVersion\bcb;cipher=aes"

解释: C:\BCEvalVersion\bcb 中, ”bcb“ 是H2 数据库文件名, 不用带后缀

2.使用python 代码
import psycopg2
import psycopg2.extras
conn = psycopg2.connect(database="codeclones", user="sa", host = dbhost, port = dbport, password="sa")

坑二: 傻逼的垃圾数据库设计协议连接时不能使用空密码, 但是默认是空密码。 于是必须进入数据库把密码改了,我这里改成sa

2.ALTER USER SA SET PASSWORD 'sa'  // reset password or client with python can not login with 'sa' ! (That is quite stupid design!!!!)

 

Linux:版本的问题较少,安装好需要的安装包即可

pip install jaydebeapi

但执行速度相当慢。

https://stackoverflow.com/questions/41493117/connect-python-to-h2

conn = jaydebeapi.connect("org.h2.Driver", "jdbc:h2:~/test", ["sa", ""], "/Users/angelo/websites/GEPR/h2/bin/h2-1.4.197.jar",)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值