sql >> Databasteknik >  >> RDS >> Mysql

Problem med RODBC sqlSave

Jag vet en väldigt gammal fråga, men jag hade (och löste för mitt exempel) samma problem nyss och fick det här felet

Error in odbcUpdate(channel, query, mydata, coldata[m, ], test = test,  : 
  missing columns in 'data'

från att använda

sqlSave(

I rodbc-paketet.

Jag löste det genom att ställa in

,fast = F

Om någon annan från de första Google-resultaten landar här, hoppas det här hjälper

EDIT:Så jag har sedan dess tittat på detta mer.När du sätter flaggan till "F", som jag rekommenderar nedan, infogar du raderna, rad för rad i databasen. Även om det var "T" skulle det misslyckas om en rad var felaktig, men nu misslyckas den raden och du vet inte om det. Så databasen kanske saknar data som du trodde fanns där. Kontrollera antalet rader i databasen kontra antalet rader du förväntar dig att infogas från din dataram. Du har förmodligen ett enda värde som är inkompatibelt. Det jag har börjat göra nu är att använda "klistra in"-funktionen i en loop för att skapa en sträng som "insert into tableName values("eg1","eg2") "på så sätt kan jag få tillbaka felmeddelanden om varför det inte gick in i databasen



  1. Hash MySQL-databasschema

  2. Få rekordantal för alla tabeller i MySQL-databasen

  3. Uppdatera MySQL-tabellen och ignorera dubbletter

  4. SQL*Plus kör inte SQL-skript som SQL Developer gör