神通数据库配置sqlalchemy及STPython

814次阅读
没有评论

共计 1409 个字符,预计需要花费 4 分钟才能阅读完成。

使用 SQLAlchemy 来操作神通数据库

需对原有 SQLAlchemy 包进行扩展 :

  • 神通 oscar 方言 (mysql, oracle 之类的数据库都有方言)

对 Python 解释器也进行扩展:

  • 神通 STPython 接口
  • 神通 ACI 接口

私有库:https://gitee.com/wx_3d25ad0b9a/shentong_Python_sql

一. 部署软件版本

软件 版本
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

神通数据库配置 sqlalchemy 及 STPython

神通数据库配置 sqlalchemy 及 STPython

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 的版本有关

神通数据库配置 sqlalchemy 及 STPython

神通数据库配置 sqlalchemy 及 STPython

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()

更多操作查看文档

正文完
 
shawn
版权声明:本站原创文章,由 shawn 2023-06-12发表,共计1409字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)