Váš problém není s objemem dat per se , některé z vašich n-tic obsahují numpy.int64
hodnoty, které nelze přímo použít jako hodnoty parametrů pro váš příkaz SQL. Například
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, a[1], 1, 1, 1)
crsr.execute(sql, params)
bude házet
protože hodnota třetího parametru je numpy.int64
prvek z vašeho numpy pole a
. Převeďte tuto hodnotu pomocí int()
zabrání problému:
a = numpy.array([10, 11, 12], dtype=numpy.int64)
params = (1, 1, int(a[1]), 1, 1, 1)
crsr.execute(sql, params)
Mimochodem, důvod, proč
sql = 'SET GLOBAL max_allowed_packet=50*1024*1024'
cursor.execute(sql)
nefungovalo, je to max_allowed_packet
je nastavení MySQL, které nemá pro Microsoft SQL Server žádný význam.