Vím, že je to velmi stará otázka, ale právě teď jsem měl (a vyřešil jsem to) stejný problém, zobrazuje se mi tato chyba
Error in odbcUpdate(channel, query, mydata, coldata[m, ], test = test, :
missing columns in 'data'
z používání
sqlSave(
V balíčku rodbc.
Vyřešil jsem to nastavením
,fast = F
Pokud se sem dostane někdo další z prvních výsledků Google, doufám, že to pomůže
EDIT:Od té doby jsem se na to podíval více. Při nastavení příznaku na "F", jak doporučuji níže, vkládáte řádky řádek po řádku do databáze. I když to bylo "T", selhalo by, pokud by jeden řádek byl nesprávný, ale teď ten řádek selže a vy o tom nevíte. V databázi tedy mohou chybět data, o kterých jste si mysleli, že tam jsou. Zkontrolujte počet řádků v databázi a počet řádků, které očekáváte, že budou vloženy z vašeho datového rámce. Pravděpodobně máte jednu hodnotu, která je nekompatibilní. To, co jsem nyní udělal, je použití funkce "vložit" ve smyčce k vytvoření řetězce jako "vložit do hodnot tableName("eg1","eg2") "takto mohu získat chybové zprávy o tom, proč to nešlo do databáze