Bardzo stare pytanie, które znam, ale miałem (i rozwiązałem dla mojego przykładu) ten sam problem właśnie teraz, otrzymuję ten błąd
Error in odbcUpdate(channel, query, mydata, coldata[m, ], test = test, :
missing columns in 'data'
od używania
sqlSave(
W pakiecie rodbc.
Rozwiązałem to ustawiając
,fast = F
Jeśli ktoś inny z pierwszych wyników wyszukiwania Google trafi tutaj, mam nadzieję, że to pomoże
EDYCJA:Od tego czasu przyjrzałem się temu więcej. Podczas ustawiania flagi na „F”, jak zalecam poniżej, wstawiasz wiersze, wiersz po wierszu do bazy danych. Chociaż było to „T”, nie powiedzie się, jeśli jeden wiersz będzie niepoprawny, ale teraz ten rząd zawodzi i nie wiesz o tym. Tak więc w bazie danych może brakować danych, o których myślałeś, że się tam znajdowały. Sprawdź liczbę wierszy w bazie danych w porównaniu z liczbą wierszy, które chcesz wstawić z ramki danych. Prawdopodobnie masz jedną niezgodną wartość. To, co teraz zrobiłem, to użycie funkcji „wklej” w pętli, aby utworzyć ciąg znaków, taki jak „wstaw do wartości tableName” („eg1”, „eg2”) „ w ten sposób mogę uzyskać komunikaty o błędach o tym, dlaczego nie poszło do bazy danych