2008-11-07 6 views
8

Ich benutze Python \ Pyodbc und möchte auf die zweite Ergebnismenge einer gespeicherten Prozedur zugreifen. Soweit ich das beurteilen kann, unterstützt Pyodbc nicht mehrere Ergebnismengen. Außerdem kann ich die gespeicherte Prozedur nicht ändern. Gibt es Optionen, um mit SQL oder einer anderen Problemumgehung auf die zweite Ergebnismenge zuzugreifen? Vielleicht erstellen Sie eine zweite gespeicherte Prozedur, die nur die zweite Ergebnismenge der ersten zurückgibt?Zugriff auf die zweite Ergebnismenge der gespeicherten Prozedur mit SQL oder einer anderen Problemumgehung? Python pyodbc

Antwort

0

Es gibt ein paar mögliche Methoden here. Wenn die Ergebnismengen alle gleich sind, können Sie möglicherweise die INSERT ... EXEC-Methode verwenden. Ansonsten könnte OPENQUERY funktionieren.

9

Keine Notwendigkeit für etwas Phantasie. Verwenden Sie einfach nextset:


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 

+0

http://code.google.com/p/pyodbc/wiki/Cursor#nextset – bernie

Verwandte Themen