एक पायथन लिपि में, मुझे एक डेटास्रोत पर एक क्वेरी चलाने की आवश्यकता है और उस क्वेरी से प्रत्येक पंक्ति को एक अलग डेटा स्रोत पर एक तालिका में डालने की आवश्यकता है। मैं सामान्य रूप से एक एकल सम्मिलित/चयन कथन के साथ ऐसा करता हूं जिसमें एक tsql लिंक किए गए सर्वर शामिल होते हैं लेकिन मेरे पास इस विशेष डेटास्रोत से कोई लिंक सर्वर कनेक्शन नहीं है।मूल pyodbc थोक सम्मिलित करें
मुझे इसका एक सरल pyodbc उदाहरण खोजने में परेशानी हो रही है। यहां बताया गया है कि मैं इसे कैसे करूंगा लेकिन मुझे लगता है कि एक लूप के अंदर एक सम्मिलन कथन निष्पादित करना बहुत धीमा है।
result = ds1Cursor.execute(selectSql)
for row in result:
insertSql = "insert into TableName (Col1, Col2, Col3) values (?, ?, ?)"
ds2Cursor.execute(insertSql, row[0], row[1], row[2])
ds2Cursor.commit()
क्या पीओडीबीसी के साथ रिकॉर्ड डालने का एक बेहतर थोक तरीका है? या यह वैसे भी ऐसा करने का एक अपेक्षाकृत प्रभावी तरीका है। मैं एसक्यूएलसेवर 2012 और नवीनतम पायडबैक और पायथन संस्करणों का उपयोग कर रहा हूं।
बस एक नोट, निष्पादन वास्तव में सच बल्किन्सर्ट नहीं करता है। दृश्य के पीछे यह अभी भी 1 से 1 सम्मिलित करता है। यह वास्तव में एक आवरण है जो डेटा को अधिक पाइथनिक रूप से सोर्स करने की अनुमति देता है। यह एसओ पोस्ट उचित बल्बकिन्स प्रस्तुत करता है। http://stackoverflow.com/questions/29638136/how-to-speed-up-with-bulk-insert-to-ms-server-from-python-with-pyodbc-from-csv – casbby