私は python\pyodbc を使用しており、ストアド プロシージャの 2 番目の結果セットにアクセスしたいと考えています。私が知る限り、pyodbc は複数の結果セットをサポートしていません。さらに、ストアド プロシージャを変更できません。SQL またはその他の回避策を使用して 2 番目の結果セットにアクセスするオプションはありますか? おそらく、最初の結果セットの 2 番目の結果セットのみを返す 2 番目のストアド プロシージャを作成しますか?
4891 次
2 に答える
17
No need for anything fancy. Just use the cursor's nextset()
method:
import pyodbc
db = pyodbc.connect ("")
q = db.cursor ()
q.execute ("""
SELECT TOP 5 * FROM INFORMATION_SCHEMA.TABLES
SELECT TOP 10 * FROM INFORMATION_SCHEMA.COLUMNS
""")
tables = q.fetchall ()
q.nextset ()
columns = q.fetchall ()
assert len (tables) == 5
assert len (columns) == 10
于 2008-11-24T08:31:21.097 に答える
0
いくつかの方法が考えられます。結果セットがすべて同じであれば、INSERT...EXEC メソッドを使用できる可能性があります。そうしないと、OPENQUERY が機能する可能性があります。
于 2008-11-07T19:43:29.553 に答える