我正在尝试将由字符串,varbinary和datetime对象组成的行批量插入MSSQL。
varbinary对象实际上是一张图片,并且在逐行插入这些行时可以很好地上传这些行:
sql = ('insert into %s '
'(id,cover_big,date) '
'values (?,?,?)' % dest_table_covers
)
cover_big = pyodbc.Binary(big_cover)
vars = (id, cover_big, now)
conn.execute(sql, vars) #conn is Engine()
但是当我尝试使用ORM时,big_cover总是以NULL结尾,而其他列包含预期的数据。
metadata = sqlalchemy.MetaData()
covers_table = sqlalchemy.Table(dest_table_covers,metadata,autoload=True,autoload_with=conn)
ins = covers_table.insert()
conn.execute(ins,cover_list)
有人可以看到我在做什么吗?我验证了(使用print()),两种情况下的数据均以bytearray(b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\...
开头,但在第二种情况下,big_cover列的结尾均为NULL。