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

अधिक उन्नत क्वेरी चलाते समय ऑब्जेक्ट बंद होने पर ऑपरेशन की अनुमति नहीं है

ADODB का उपयोग करते समय एक संग्रहित प्रक्रिया से आउटपुट के रूप में व्याख्या की जा रही पंक्ति गणना के कारण यह एक आम समस्या है SQL सर्वर के साथ।

इससे बचने के लिए सेट करना याद रखें

SET NOCOUNT ON;

आपकी संग्रहीत प्रक्रिया में यह ADODB को एक बंद रिकॉर्डसेट लौटाना बंद कर देगा, या यदि किसी भी कारण से आप ऐसा नहीं करना चाहते हैं (सुनिश्चित नहीं है कि आप हमेशा @@ROWCOUNT का उपयोग क्यों कर सकते हैं पंक्ति गणना को वापस पास करने के लिए), आप उपयोग कर सकते हैं

'Return the next recordset, which will be the result of the Stored Procedure, not 
'the row count generated when SET NOCOUNT OFF (default).
Set rs = rs.NextRecordset()

जो अगला ADODB.Recordset returns लौटाता है अगर एडीओडीबी ने पाया है कि संग्रहीत प्रक्रिया द्वारा लौटाया जा रहा है (rs.State <> adStateClosed जांचना सबसे अच्छा हो सकता है एकाधिक ADODB.Recordset ऑब्जेक्ट्स के साथ काम करते समय)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MS SQL सर्वर में पूर्ण किए गए कार्यों के बारे में स्वचालित डेटा संग्रह

  2. SQL तालिका से डुप्लिकेट पंक्तियों को हटाना (एकाधिक स्तंभों के मानों के आधार पर)

  3. SQL सर्वर ऑपरेटिंग सिस्टम त्रुटि 5:5 (प्रवेश निषेध है।)

  4. कॉलम नाम के साथ अनपिवट करें

  5. SQL में एकाधिक कॉलम अपडेट करें