Après avoir joué avec les choses, j'ai réalisé quel était le problème :field.types
doit être une liste NOMMÉE vecteur, pas simplement une liste ; de plus, les noms de ligne ne doivent pas être inclus, sinon nous avons besoin de trois types de champs. Pour l'exemple ci-dessus, ce qui suit fonctionne bien :
dbWriteTable(con, name="table_name", value=df,
field.types = c(dte="date", val="double(20,10)"), row.names=FALSE)