簡體   English   中英

是否可以使用sqlalchemy中的ResultProxy對象讀取多個結果集?

[英]Is it possible to read multiple result sets using a ResultProxy object in sqlalchemy?

我正在嘗試使用SQLAlchemy調用返回多個結果集的存儲過程。 如果重要的話,我正在使用PyODBC和FreeTDS。 我使用帶有“exec”的原始查詢調用execute()方法,在會話對象上調用我的存儲過程並返回ResultProxy對象。

使用原始pyodbc游標,我可以調用nextset()函數前進到下一個結果集。 我認為使用從SQLAlchemy返回的ResultProxy無法做同樣的事情。 的確, 文檔說:

當ResultProxy的所有結果行(如果有)耗盡時,DBAPI游標將被關閉。

有沒有辦法用SQLAlchemy讀取多個結果集,還是我必須用原始DBAPI執行此查詢?

對nextset()的支持是1635票 已經兩歲了。 它包含一個需要更新的部分補丁,特別是與一個執行選項一起工作,該選項傳遞該語句將返回多個結果集的提示,以便resultproxy的現有自動關閉行為可以保持默認值。 該功能還需要大量的測試。

這個功能沒有重大的技術障礙,但對這個用例通常沒什么興趣。 所以目前你需要堅持使用原始光標,直到人們對此功能表達足夠的興趣,再次為它增添動力。

你讀過http://docs.sqlalchemy.org/en/rel_0_7/core/connections.html?highlight=resultproxy#basic-usage嗎? 您可以迭代ResultProxy對象,關閉它們等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM