python - 使用现有 Teradata 数据库定义供 Flask 应用程序使用的模型时出现“QVCI 功能已禁用”错误

标签 python flask sqlalchemy odbc teradata

在尝试围绕现有 Teradata 数据库构建 Flask 应用程序时,我遇到了一个问题,该问题定义了我的应用程序从该现有数据库使用的数据库模型。我收到 sqlalchemy.exc.DatabaseError: (teradata.api.DatabaseError) (9719, '[HY000] [Teradata][ODBC Teradata Driver]Teradata DatabaseQVCI 功能已禁用。')。我使用的是 teradata 版本 16.20,看来 QVCI 功能已在此最新版本中禁用。

我已经能够通过我的 Flask 应用程序使用 sqlalchemy 和 pyodbc 成功连接到 Teradata 数据库。所以问题不在于建立初始连接。我正在努力的地方是围绕我已经能够连接的现有数据库构建我的 flask 应用程序。我有一些示例代码,我能够根据另一个问题找到这些代码,我期望将我的“users_table”并使其可用作我的 flask 应用程序的“用户”类。但是,当尝试让 sqlalchemy 检索“users_table”时,teradata 告诉我 QVCI 功能已被禁用。这是我找到的导致错误的代码:

#!/usr/bin/python
# -*- mode: python -*-

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base

user = 'user_string'
pasw='password_string'
host = 'host_string'

engine = create_engine('teradata://'+ user +':' + pasw + '@'+ host + '/' + '?authentication=LDAP', convert_unicode=True, echo=False)

Base = declarative_base()
Base.metadata.reflect(engine)


from sqlalchemy.orm import relationship, bckref

class Users(Base):
    __table__ = Base.metadata.tables['users_table']


if __name__ == '__main__':
    from sqlalchemy.orm import scoped_session, sessionmaker, Query
    db_session = scoped_session(sessionmaker(bind=engine))
    for item in db_session.query(Users.id, Users.name):
        print(item)

运行后,我收到 sqlalchemy.exc.DatabaseError: (teradata.api.DatabaseError) (9719, '[HY000] [Teradata][ODBC Teradata Driver]Teradata DatabaseQVCI 功能已禁用。')。感谢您提前提供的帮助。

最佳答案

我使用 sqlalchemy-teradata 遇到了同样的问题sqlalchemy 的方言。对我来说,切换到 teradatasqlalchemy 就足够了。似乎第一个不再被积极开发。第二个由 Teradata 官方支持,正在积极开发中。所以我想无论如何这都是要走的路!

关于python - 使用现有 Teradata 数据库定义供 Flask 应用程序使用的模型时出现“QVCI 功能已禁用”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57566094/

相关文章:

python - 如何在 Flask 的 session 中添加多个项目

python - 在 heroku 上使用 flask 提供静态 html 页面

mysql - sqlalchemy Pyramid 查询keyerror

python - 比较 SQLAlchemy 对象实例的属性相等性

python - python中离散点(LDDP)的限制密度

python - MySQL-解析字段

python - 流行的火焰图标在 CKAN 中不显示

python - Flask,为 React 应用程序提供服务 : cannot refresh "pages"

python - 如何构建带有 @> 运算符过滤器的 sqlalchemy 查询?

python - urllib 中 http ://www. ssa.gov/cgi-bin/popularnames.cgi 的(大概是基本的)网络抓取