2013-07-24 151 views
2

我在python 2.7中用Flask-SQLAlchemy(.16)和SQL Alchemy(0.8.2)查詢Microsoft SQL Server 2008。SQLAlchemy截斷VARCHAR(MAX)

當我嘗試查詢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() 

回答

2

是否使用ODBC? freetds的? ODBC對於大型文本/二進制字段具有固定的最大大小。在FreeTDS中,您需要設置text size設置以支持您所需的大型字段。

+0

@CodeLikeBeaker:我遇到了同樣的問題。你能在這裏澄清一下嗎?你是說:在沒有SQLAlchemy的情況下使用pyodbc解決了這個問題?我可以重現。或者你是否說:如果我用SQLAlchemy使用pyODBC,它是否解決了這個問題?在這種情況下,我想知道如何使用SQLAlchemy設置pyODBC?本質上,我已經嘗試將文本大小設置爲2Gb。這並不能解決我的問題。鏈接中鏈接的是什麼?由於鏈接不再有效,很難看到該鏈接如何幫助您指向正確的方向。 – Thornhale