आपकी समस्या डेटा की मात्रा के साथ नहीं है प्रति से , यह है कि आपके कुछ टुपल्स में numpy.int64
. है वे मान जिन्हें सीधे आपके SQL कथन के लिए पैरामीटर मान के रूप में उपयोग नहीं किया जा सकता है। उदाहरण के लिए,
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, a[1], 1, 1, 1)
crsr.execute(sql, params)
फेंक देंगे
क्योंकि तीसरा पैरामीटर मान numpy.int64
है आपके सुन्न सरणी से तत्व a
. उस मान को int()
. के साथ कनवर्ट करना समस्या से बचेंगे:
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, int(a[1]), 1, 1, 1)
crsr.execute(sql, params)
वैसे, इसकी वजह
sql = 'SET GLOBAL max_allowed_packet=50*1024*1024'
cursor.execute(sql)
काम नहीं किया कि max_allowed_packet
एक MySQL सेटिंग है जिसका Microsoft SQL सर्वर के लिए कोई अर्थ नहीं है।