2008-11-07 11 views
8

मैं अजगर \ pyodbc का उपयोग कर रहा हूं और संग्रहीत प्रक्रिया के दूसरे परिणाम सेट तक पहुंच बनाना चाहता हूं। जैसा कि मैं कह सकता हूं, pyodbc एकाधिक परिणाम सेट का समर्थन नहीं करता है। इसके अतिरिक्त, मैं संग्रहीत प्रक्रिया को संशोधित नहीं कर सकता। एसक्यूएल या कुछ अन्य काम-का उपयोग कर दूसरे परिणाम सेट तक पहुंचने के लिए कोई विकल्प हैं? शायद एक दूसरी संग्रहीत प्रक्रिया बनाएं जो केवल पहले के दूसरे परिणाम सेट को लौटा दे?SQL या अन्य कार्य-आसपास के साथ संग्रहीत प्रक्रिया के दूसरे परिणाम सेट तक पहुंचें? पायथन pyodbc

उत्तर

0

कुछ संभावित विधियां here हैं। यदि परिणाम सेट समान हैं, तो आप INSERT ... EXEC विधि का उपयोग करने में सक्षम हो सकते हैं। अन्यथा OPENQUERY काम कर सकता है।

9

किसी भी चीज़ की कल्पना की आवश्यकता नहीं है। बस नेक्ससेट का उपयोग करें:


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

संबंधित मुद्दे