angefügt werden Ich versuche, eine SQL-Tabelle mithilfe der Funktion sqlSave des RODBC-Pakets in R zu aktualisieren. Daten sind in einem Datenrahmen vorhanden. Wenn ich versuche, den Befehl auszuführen:Kann nicht an SQL Server-Tabelle mit sqlSave in R
sqlSave(DBConn, dat=df, verbose=T, tablename='table', append=T)
bekomme ich folgende Fehlermeldung:
Query: INSERT INTO "table" ("col1", "col2", "col3", "col4") VALUES (?,?,?,?,?)
sqlwrite returned
42000 -131 [Sybase][ODBC Driver][Sybase IQ]Syntax error near 'table' on line 1
[RODBC] ERROR: Could not SQLPrepare 'INSERT INTO "table" ("col1", "col2", "col3", "col4") VALUES (?,?,?,?,?)'
Was mache ich falsch hier zu tun, so dass ich nicht die Werte in SQLQuery bekommen?
Vielen Dank für jede Hilfe im Voraus
EDIT 1 nach @Gordon Kommentar:
Fehler zeigt 5 Platzhalter, aber meine data.frame hat nur 4 Spalten. Ich habe Dim (df) und bekam 4. Ist es irgendwie mit dem Zeilenindex von df verwandt?
EDIT 2
Auf der folgenden Aktionen ausführen:
sqlSave(DBConn, dat=df, verbose=T, tablename='table', append=T)
Der Fehler jetzt ich erhalte, ist immer noch das gleiche mit 4 Platzhalter statt, aber alle Werte sind noch (?,?,?,?)
EDIT 3
Ich versuchte mit s qlUpdate auch
sqlUpdate(DBConn, dat=df, verbose=T, tablename='table')
Fehler, die ich jetzt habe ist:
Query: UPDATE "table" SET "col2"=?, "col3"=?, "col4"=? WHERE "col1"=?
Error in sqlUpdate(DBConn, t, tablename = "table", verbose = T) :
42000 -131 [Sybase][ODBC Driver][Sybase IQ]Syntax error near 'table' on line 1[RODBC] ERROR: Could not SQLPrepare 'UPDATE "table" SET "col2"=?, "col3"=?, "col4"=? WHERE "col1"=?'
Sie haben vier Spalten und fünf Platzhalter für eine Sache. –
@GordonLinoff: Schöne Beobachtung. Aber Dim (t) ergibt nur 4. Kann es wegen row inde oder etwas damit verbunden sein? – user1465557
FWIW Ich konnte diesen Befehl nie erhalten, um vorhandene Tabellen korrekt anzufügen; es scheint wie ein Fehler für mich. – nrussell