2012-04-28 84 views
4

我想調用一個使用SQLAlchemy返回多個結果集的存儲過程。如果有關係,我使用PyODBC和FreeTDS。我使用帶有「exec」的原始查詢調用execute()方法,在會話對象上調用我的存儲過程並返回ResultProxy對象。是否可以在sqlalchemy中使用ResultProxy對象讀取多個結果集?

與原料pyodbc光標,我可以調用nextset()函數前進到下一個結果集。我看不到使用SQLAlchemy返回的ResultProxy做同樣的事情。事實上,docs說:

的DBAPI光標將由ResultProxy當所有 結果行(如果有的話)耗盡被關閉。

有沒有一種方法來讀取多個結果集與SQLAlchemy的,否則我將不得不與原料DBAPI執行此查詢?

回答

8

()的支持是ticket 1635。它已經兩歲了。它包含需要更新的部分補丁,特別是與執行選項一起工作,該選項傳遞聲明將返回多個結果集,以便resultproxy的現有autoclose行爲可以保持默認狀態。該功能也需要大量的測試。

有沒有重大的技術障礙此功能,但通常有一個在這種使用情況下很少的興趣。所以目前你需要堅持使用原始光標,直到人們對這個特性表現出足夠的興趣以再次推動它。

相關問題