Efter timmars arbete med detta kunde jag äntligen få sqlSave att fungera samtidigt som jag angav tabellnamnet - djupt andetag, var jag ska börja. Här är listan över saker jag gjorde för att få det här att fungera:
- Öppna 32-bitars ODBC Administrator och skapa ett användar-DSN och konfigurera det för din specifika databas. I mitt fall skapar jag en global temptabell så jag länkade till tempdb. Använd detta anslutningsnamn i din
odbcConnection(Name)
. Här är min kodmyconn2 <- odbcConnect("SYSTEMDB")
. - Då definierade jag mina datatyper med följande kod:
columnTypes <- list(Record = "VARCHAR(10)", Case_Number = "VARCHAR(15)", Claim_Type = "VARCHAR(15)", Block_Date = "datetime", Claim_Processed_Date = "datetime", Status ="VARCHAR(100)")
. - Jag uppdaterade sedan mina dataramklasstyper med
as.character
ochas.Date
för att matcha datatyperna ovan. - Jag har redan skapat tabellen eftersom jag har arbetat med den i timmar så jag var tvungen att ta bort tabellen med
sqlDrop(myconn2, "##R_Claims_Data")
. - Jag körde sedan:
sqlSave(myconn2, MainClmDF2, tablename = "##R_Claims_Data", verbose=TRUE, rownames= FALSE, varTypes=columnTypes)
Sen ramlade huvudet av för det funkade! Jag hoppas verkligen att det här hjälper någon framåt. Här är länkarna som hjälpte mig att komma dit: