【问题标题】:SQLAlchemy Truncating VARCHAR(MAX)SQLAlchemy 截断 VARCHAR(MAX)
【发布时间】:2013-07-24 20:57:10
【问题描述】:

我在 python 2.7 中使用 Flask-SQLAlchemy (.16) 和 SQL Alchemy (0.8.2) 查询 Microsoft SQL Server 2008。

当我尝试查询 varchar(max) 列时。它将其截断为 4096 个字符。我在代码中尝试了不同的数据类型。字符串、文本、VARCHAR。

任何想法让我的代码从我的列中提取所有数据?

下面是部分代码:

from web import db

class DynamicPage(db.Model):
    __tablename__ = 'DynamicPage'
    DynamicPageId = db.Column(db.Integer, primary_key=True)
    PageHtml = db.Column(db.VARCHAR)

还有查询:

pages = DynamicPage().query.all()

【问题讨论】:

    标签: sql-server-2008 python-2.7 sqlalchemy flask-sqlalchemy


    【解决方案1】:

    您在使用 ODBC 吗?免费TDS? ODBC 对大型文本/二进制字段有一个固定的最大大小。在 FreeTDS 中,您需要设置 text size 设置以支持所需的尽可能大的字段。

    【讨论】:

    • @CodeLikeBeaker:我遇到了同样的问题。你能在这里澄清一下吗?你是说:在没有 SQLAlchemy 的情况下使用 pyodbc 解决了这个问题?我可以重现。或者你是说:如果我将 pyODBC 与 SQLAlchemy 一起使用,它可以解决问题吗?在这种情况下,我想知道如何使用 SQLAlchemy 设置 pyODBC?我已经尝试将文本大小本质上设置为 2Gb。这并不能解决我的问题。链接中的链接是什么?由于该链接不再处于活动状态,因此很难看出该链接如何帮助您指明正确的方向。
    猜你喜欢
    • 2021-01-03
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多