का उपयोग कर काम करने के लिए MySQL स्रोत क्वेरी प्राप्त नहीं कर सकता मैं कोड की निम्न पंक्तियाँ:अजगर mysqldb मॉड्यूल
sql = "source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql"
cursor.execute (sql)
जब मैं अपने कार्यक्रम क्रियान्वित, मैं निम्नलिखित त्रुटि मिलती है:
Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'source C:\My Dropbox\workspace\projects\hosted_inv\create_site_db.sql' at line 1
अब मैं एक प्रश्न के रूप में mysql में निम्न को कॉपी और पेस्ट कर सकता हूं:
source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql
और यह सही काम करता है। जब मैं क्वेरी मेरी स्क्रिप्ट द्वारा निष्पादित के लिए क्वेरी लॉग की जाँच करें, यह पता चलता है कि मेरी क्वेरी निम्नलिखित था:
source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql
हालांकि, जब मैं मैन्युअल में पेस्ट और निष्पादित, पूरे create_site_db.sql में विस्तार हो जाता है क्वेरी लॉग और यह उस फ़ाइल में सभी SQL क्वेरी दिखाता है।
क्या मुझे यहां कुछ याद आ रहा है कि mysqldb कैसे पूछता है? क्या मैं एक सीमा में भाग रहा हूँ। मेरा लक्ष्य स्कीमा संरचना बनाने के लिए एक एसक्यूएल स्क्रिप्ट चलाने के लिए है, लेकिन मैं एसक्यूएल फ़ाइल स्रोत करने के लिए एक शेल प्रक्रिया में mysql को कॉल नहीं करना चाहता हूं।
कोई विचार? धन्यवाद!
बहुत बहुत धन्यवाद! sql = open ("test.sql")। पढ़ें() वही करता है जो मैं चाहता हूं। मैं एक खोल प्रक्रिया को फेंकने से बचना चाहता था क्योंकि यह न केवल अनावश्यक महसूस करता था, लेकिन फिर मेरे द्वारा निष्पादित सिस्टम पर स्थापित MySQL क्लाइंट बाइनरी पर निर्भरता होगी। हर किसी की मदद के लिए धन्यवाद! – Chris
आप एफवाईआई के लिए क्रिस – YOU