gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:59 24 4
gpt4 key购买 nike

在尝试围绕现有 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com