Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

pymssql संग्रहीत कार्यविधि निष्पादित करता है लेकिन कोई परिणाम नहीं देता है

मैं समस्या को दूर करने में कामयाब रहा हूं। कॉलिंग conn.commit() कर्सर को अपने परिणाम खो रहा था। मैंने शायद कुछ pymssql दस्तावेज़ों को गलत तरीके से पढ़ा और उस पंक्ति को गलती से जोड़ दिया - कोड इसके बिना सही काम करता है।

संपादित करें :मैंने यह परिवर्तन करने के बाद देखा, संग्रहीत प्रक्रिया परिणाम लौटाएगी हालांकि प्रक्रिया के सम्मिलित/अद्यतन भाग सहेजे नहीं जा रहे थे। अब मेरे लिए यह स्पष्ट है कि conn.commit() कर रहे थे। यदि आपकी संग्रहीत कार्यविधि परिणाम देती है और डेटाबेस में परिवर्तन करती है, तो आपको conn.commit() पर कॉल करने की आवश्यकता है उन्हें लाने के बाद।

server = 'MY\SERVER'
user = 'user'
password = 'password'
database = 'db'
proc = 'checkin'

with pymssql.connect(server, user, password, database) as conn:
    with conn.cursor() as cursor:
        cursor.callproc(proc, (eha, ip, url, alias, location, rotation))
        cursor.nextset()
        results = cursor.fetchall()
        conn.commit()
        f = open('/var/wwwdata/locations.txt', 'w')
        for result in results:
            print result[0]
            f.write(result[0])
        f.close()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल सर्वर 2008 में एक्सएमएल को सी # से संग्रहीत प्रक्रिया में कैसे पास करें?

  2. SQL में ASN.NET के साथ अनुप्रयोग भूमिका के प्रदर्शन हिट को समझना

  3. SQL सर्वर में सशर्त शर्तें

  4. कॉलम चयन सूची में अमान्य है क्योंकि यह या तो एक समग्र कार्य या ग्रुप बाय क्लॉज में शामिल नहीं है

  5. Mssql मॉड्यूल का उपयोग करके Node.JS से विंडोज़ प्रमाणीकरण के साथ SQL सर्वर से कैसे कनेक्ट करें?