1. 前言
本文介绍在Windows环境下Python语言通过ODBC和JDBC的方式连接SinoDB数据库,并对数据库进行基本操作。
2. 软件安装包
SinoDB数据库:SinoDB 12.10.FC8
SinoDB CSDK(Windows):SinoDB Client-SDK 4.10.FC8
Python语言开发包:python-3.10.11-amd64.exe
Python语言IDE:pycharm-professional-2023.1.exe (免费试用30天)
JDK版本:jdk1.8.0
3. 环境配置
3.1 SinoDB数据库
安装SinoDB并初始化数据库实例(例如,数据库实例:sinodb_ids,端口:9091),创建一个database,创建一张表;
$echo "create database testdb in datadbs with log;" | dbaccess
$echo "create table t_20230423(c1 int, c2 char(16));" | dbaccess testdb
3.2 SinoDB CSDK(Windows)
1、安装SinoDB Client-SDK 4.10.FC8
2、配置ODBC数据源
- 安装CSDK后,打开setnet32.exe,进行配置:
- 配置ODBC确认能连上数据库
打开ODBC数据源(64位)
如果测试连接失败,检查SinoDB数据库服务器的防火墙是否已经关闭。
4. Python语言通过ODBC连接SinoDB数据库
4.1 下载第三方库
pip install pyodbc
4.2 新建一个Python File文件:main.py
import pyodbc
conn = pyodbc.connect(
“DSN=sinodb;”
)
cursor = conn.cursor()
cursor.execute(“SELECT * FROM t_20230423”)
rows = cursor.fetchall()
for row in rows:
print(row)
cursor.close()
conn.close()
4.3 运行程序
5. Python语言通过JDBC连接SinoDB数据库
5.1 下载第三方库
pip install jaydebeapi
5.2 新建一个Python File文件:sinodb.py
import jaydebeapi
jclassname = ‘com.informix.jdbc.IfxDriver’
url = ‘jdbc:informix-sqli://192.168.16.21:9091/testdb:INFORMIXSERVER=sinodb_ids’
driver_args = [‘informix’, ‘sinoregal’]
jars = ‘d:/lib/sinodb12.10fc8/ifxjdbc.jar’
conn = jaydebeapi.connect(jclassname, url, driver_args, jars=jars)
cursor = conn.cursor()
cursor.execute(“SELECT * FROM t_20230423”)
rows = cursor.fetchall()
for row in rows:
print(row)
cursor.close()
conn.close()
5.3 设置Java环境变量
安装配置JDK