Ihr Problem liegt nicht im Datenvolumen an sich , enthalten einige Ihrer Tupel numpy.int64
Werte, die nicht direkt als Parameterwerte für Ihre SQL-Anweisung verwendet werden können. Beispiel:
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, a[1], 1, 1, 1)
crsr.execute(sql, params)
wird werfen
weil der dritte Parameterwert ein numpy.int64
ist Element aus Ihrem numpy-Array a
. Konvertieren Sie diesen Wert mit int()
wird das Problem vermeiden:
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, int(a[1]), 1, 1, 1)
crsr.execute(sql, params)
Übrigens, der Grund dafür, dass
sql = 'SET GLOBAL max_allowed_packet=50*1024*1024'
cursor.execute(sql)
nicht funktioniert hat, ist das max_allowed_packet
ist eine MySQL-Einstellung, die für Microsoft SQL Server keine Bedeutung hat.