Nachdem ich stundenlang daran gearbeitet hatte, war ich endlich in der Lage, sqlSave zum Laufen zu bringen, während ich den Tabellennamen angab – tief durchatmen, wo ich anfangen soll. Hier ist die Liste der Dinge, die ich getan habe, um dies zum Laufen zu bringen:
- Öffnen Sie den 32-Bit-ODBC-Administrator, erstellen Sie einen Benutzer-DSN und konfigurieren Sie ihn für Ihre spezifische Datenbank. In meinem Fall erstelle ich eine globale temporäre Tabelle, also habe ich eine Verbindung zu tempdb hergestellt. Verwenden Sie diesen Verbindungsnamen in Ihrem
odbcConnection(Name)
. Hier ist mein Codemyconn2 <- odbcConnect("SYSTEMDB")
. - Dann habe ich meine Datentypen mit folgendem Code definiert:
columnTypes <- list(Record = "VARCHAR(10)", Case_Number = "VARCHAR(15)", Claim_Type = "VARCHAR(15)", Block_Date = "datetime", Claim_Processed_Date = "datetime", Status ="VARCHAR(100)")
. - Ich habe dann meine Datenrahmen-Klassentypen mit
as.character
aktualisiert undas.Date
um den oben aufgeführten Datentypen zu entsprechen. - Ich habe die Tabelle bereits erstellt, da ich stundenlang daran gearbeitet habe, also musste ich die Tabelle mit
sqlDrop(myconn2, "##R_Claims_Data")
löschen . - Ich habe dann ausgeführt:
sqlSave(myconn2, MainClmDF2, tablename = "##R_Claims_Data", verbose=TRUE, rownames= FALSE, varTypes=columnTypes)
Dann fiel mir der Kopf ab, weil es funktionierte! Ich hoffe wirklich, dass dies jemandem weiterhilft. Hier sind die Links, die mir geholfen haben, an diesen Punkt zu gelangen: