首页 > 数据库 >✍73 配置sqlalchemy及STPython

✍73 配置sqlalchemy及STPython

时间:2022-11-10 15:37:28浏览次数:73  
标签:engine sqlalchemy oscar STPython 73 版本 import

使用 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

image-20220401174319760

image-20220401174341020

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

image-20220401174510404

image-20220401175319372

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:[email protected]: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()

更多操作查看文档

标签:engine,sqlalchemy,oscar,STPython,73,版本,import
From: https://www.cnblogs.com/songhaixing/p/16877180.html

相关文章

  • vscode升级到1.73后,ctrl+shift+b编译失败原因
    昨天将vscode升级到了1.73.0,今天发现以前一直使用的ctrl+shift+b无法编译,但是直接使用指令是可以编译的,我这里是用来编译arm的,使用的是arm-none-eabi,后来发现是task.jso......
  • 题解 LGP7343【[DSOI 2021] 电子跃迁】
    postedon2021-02-0718:12:18|under题解|source题意简述给出一长为\(n\)的数列\(a\)和一长为\(m\)的数列\(b\),你可以交换\((a_i,a_{i+1})\)的位置,但不能......
  • UESTC 1273 God Qing's circuital law
    DescriptionAsweallknow,GodQingisaverypowerfulACMer.Sheverylikejuniorsisterapprentice,butinUESTC-ACMteam,thereisnojuniorsisterapprentic......
  • ZOJ 2873 Smart Sister
    SmartSisterTimeLimit: 5Seconds     MemoryLimit: 32768KBYesterday,Kamranwasworkingonareport,whichhemustsubmittohisbossnextSatur......
  • HDU 4739 Zhuge Liang's Mines
    ProblemDescriptionIntheancientthreekingdomperiod,ZhugeLiangwasthemostfamousandsmartestmilitaryleader.HisenemywasShimaYi,whoalways......
  • 尚硅谷java零基础教程面向对象(中)239p-273p(2022.3.11)
    239每天一考1.构造器的作用是创建对象,初始化对象的结构2.类的属性的赋值,有几种赋值的方法,谈谈赋值的先后顺序默认初始化--显式初始化--构造器中初始化--对象.方法或对象.属......
  • POJ-3737
    POJ-3737题意给出一个圆锥的表面积,求最大体积。思路显然,得到底面积的半径后,一切都能得到。在我们慢慢延长半径时,发现不满足线性,而是单峰函数。故三分。圆锥复习Code......
  • Flask-SQLAlchemy
    认识Flask-SQLAlchemyFlask-SQLAlchemy是一个为Flask应用增加SQLAlchemy支持的扩展。它致力于简化在Flask中SQLAlchemy的使用。SQLAlchemy是目前python中最......
  • CH573F蓝牙从机(peripheral)例程讲解(服务修改篇)
    修改服务需要对蓝牙比较熟悉的工程师去完成,否则在例程功能满足自己需求时,不建议修改,很容易改错,下面就简单介绍下如何在别的char添加一个nofify属性。step1:给SimpleProfi......
  • P8773 [蓝桥杯 2022 省 A] 选数异或
    题面给定一个长度为\(n\)的数列\(A_{1},A_{2},\cdots,A_{n}\)和一个非负整数\(x\),给定\(m\)次查询,每次询问能否从某个区间\([l,r]\)中选择两个数使得他......