sql >> Databáze >  >> RDS >> Mysql

Problémy s RODBC sqlSave

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



  1. Jak opravit:„SQLServerAgent aktuálně neběží…“

  2. Chronické zastaralé výsledky pomocí MySQLdb v Pythonu

  3. Emulace transakčně bezpečné SEKVENCE v MySQL

  4. Schéma databáze, autoinkrementace