2012-03-29 8 views
5

का उपयोग कर डेटाबेस कैसे बना सकता हूं I pymssql का उपयोग कर डेटाबेस बनाने की कोशिश कर रहा हूं और मुझे यह त्रुटि मिल रही है।मैं pymssql

cur.execute("CREATE DATABASE %s;" % self.getsql('dbname'), conn) 

*** OperationalError: (226, 'CREATE DATABASE statement not allowed within multi- 
statement transaction.DB-Lib error message 226, severity 16:\\nGeneral SQL Serve 
r error: Check messages from the SQL Server\\n') 

इसका क्या मतलब है देता है ??

+0

'cur.execute (" डेटाबेस% s "% (self.getsql ('dbname'),), conn कोशिश करें),' getql' के बिना इसे भी आजमाएं कहते हैं। –

+1

यदि आप अपने 'डेटा बनाएं' से पहले अन्य बयान चला रहे हैं, तो आपको इसे चलाने से पहले मौजूदा लेनदेन को प्रतिबद्ध() 'करने की आवश्यकता हो सकती है। – Amber

उत्तर

5

मुद्दा यह है कि cur.execute एक सौदे हर बार शुरू होता है, लेकिन 'डाटाबेस' बनाएँ 'आपरेशन एक सौदे

http://social.msdn.microsoft.com/Forums/pl/adodotnetdataproviders/thread/594ff024-8af6-40b3-89e0-53edb3ad7245

>>> connection.autocommit(True) 
>>> cursor = connection.cursor() 
>>> cursor.execute("CREATE DATABASE Foo") 
>>> connection.autocommit(False) 
कार्यों के लिए

यह भीतर excuted नहीं किया जा सकता था। आश्चर्यजनक रूप से यह pymssql में प्रलेखित नहीं है ... hmmm