Dit problem er ikke mængden af data i sig selv , det er, at nogle af dine tuples indeholder numpy.int64
værdier, der ikke kan bruges direkte som parameterværdier for din SQL-sætning. For eksempel
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, a[1], 1, 1, 1)
crsr.execute(sql, params)
vil kaste
fordi den tredje parameterværdi er en numpy.int64
element fra dit numpy-array a
. Konvertering af denne værdi med int()
vil undgå problemet:
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, int(a[1]), 1, 1, 1)
crsr.execute(sql, params)
Forresten, grunden til, at
sql = 'SET GLOBAL max_allowed_packet=50*1024*1024'
cursor.execute(sql)
virkede ikke, er det max_allowed_packet
er en MySQL-indstilling, der ikke har nogen betydning for Microsoft SQL Server.