✍73 配置sqlalchemy及STPython
使用 SQLAlchemy 来操作神通数据库
需对原有 SQLAlchemy 包进行扩展 :
- 神通 oscar 方言 (mysql, oracle之类的数据库都有方言)
对Python解释器也进行扩展:
- 神通 STPython 接口
- 神通 ACI 接口
一.部署软件版本
软件 | 版本 |
---|---|
python | 支持SQLAlchemy1.4.15的版本 |
STPython | 按Python版本选择(私有库文件) |
ACI | 无(私有库文件) |
sqlalchemy | 1.4.15(当前这个版本支持oscar) |
oscar方言 | 按sqlalchemy版本选(私有) |
二.软件安装
1.sqlalchemy 安装
pip install sqlalchemy==1.4.15
2.STPython 安装
- 选择相应系统相应Python版本进行安装
pip install STPython-2.0.13-cp37-cp37m-linux_x86_64.whl
3.ACI 安装
将
aci-2.0.44
文件中bin
目录下的2个dll文件(win)
或者so文件(linux)
放入 python 解释器site-packages
内
4.oscar 方言安装
选择相应系统的文件夹 :
例如 linux :
stpython-2.0.13.linux64.publish\STPython\Orm-sqlalchemy\sqlalchemy-1.4.15\oscar
将整个
oscar
文件夹放入 Python 解释器xxxx\Lib\site-packages\sqlalchemy\dialects
下神通 oscar 方言不区分平台,方言只和 SQLAlchemy 的版本有关
5.代码测试
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine, MetaData, or_, join, outerjoin
from sqlalchemy import Column, String, Integer, Float, Boolean, DECIMAL
from sqlalchemy import Enum, Date, DateTime, Time, Text
from sqlalchemy import LargeBinary, UnicodeText, TIMESTAMP
from sqlalchemy import func, Table
from sqlalchemy.dialects.oscar import CLOB, BLOB
# 创建引擎
engine = create_engine("oscar+stpython://sysdba:168168@10.64.66.118:2003/SONG_TEST", echo=False)
# 建立 session 链接(connect), 绑定 engine
session = sessionmaker(bind=engine)
# 建立游标 cursor
cursor = session()
# 执行 sql 语句
res = cursor.execute("select * from test").fetchall()
print(res)
# 关闭游标
cursor.close()
# 关闭引擎
engine.dispose()
更多操作查看文档
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步