windows客户端使用sqlalchemy-gbasedbt 查询GBASE 8s数据库出错
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:
GBase8sV8.8_TL_3.5.1_x86
【操作系统】:
window10 22H2
【CPU】:
AMD Ryzen 7 4800H with Radeon Graphics 2.90 GHz
【问题描述】*:
按照官网sqlalchemy例子,执行查询程序崩溃退出:

不使用sqlalchemy,使用DbtPy写了个demo测试是可以正常执行查询的。
出错代码如下:
import os
if 'GBASEDBTDIR' in os.environ:
os.add_dll_directory(os.path.join(os.environ['GBASEDBTDIR'],"bin"))
from sqlalchemy import MetaData, Table, Column, String, create_engine, BigInteger, Integer, CHAR
from sqlalchemy.dialects import registry
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
registry.register("gbasedbt", "sqlalchemy_gbasedbt.dbtdb", "GBasedbtDialect")
server_name = "ol_gbasedbt1210"
# 创建对象的基类:
Base = declarative_base()
# 定义User对象:
class ProductLineModel(Base):
__tablename__ = 'product_line'
id = Column("ID", BigInteger, primary_key=True)
desc = Column("DESC", String)
is_delete = Column("IS_DELETE", Integer, default=0)
name = Column("NAME", String, unique=True)
ConStr = 'gbasedbt://gbasedbt:123456@192.168.65.38:9088/sysmaster;SERVER=ol_gbasedbt1210;DB_LOCALE=zh_CN.GB18030-2000;CLIENT_LOCALE=zh_CN.utf8;DELIMIDENT=y'
engine = create_engine(ConStr)
# 创建对象
# Base.metadata.create_all(engine)
# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)
# 创建session对象:
session = DBSession()
# 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
results = session.query(ProductLineModel).first()
print(results)
session.close()
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25051
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526