Después de horas de trabajar en esto, finalmente pude hacer que sqlSave funcionara mientras especificaba el nombre de la tabla:respiración profunda, por dónde empezar. Aquí está la lista de cosas que hice para que esto funcione:
- Abra el Administrador ODBC de 32 bits, cree un DSN de usuario y configúrelo para su base de datos específica. En mi caso, estoy creando una tabla temporal global, así que la vinculé a tempdb. Use este nombre de conexión en su
odbcConnection(Name)
. Aquí está mi códigomyconn2 <- odbcConnect("SYSTEMDB")
. - Luego definí mis tipos de datos con el siguiente código:
columnTypes <- list(Record = "VARCHAR(10)", Case_Number = "VARCHAR(15)", Claim_Type = "VARCHAR(15)", Block_Date = "datetime", Claim_Processed_Date = "datetime", Status ="VARCHAR(100)")
. - Luego actualicé mis tipos de clases de marcos de datos usando
as.character
yas.Date
para que coincida con los tipos de datos enumerados anteriormente. - Ya creé la tabla porque estuve trabajando en ella durante horas, así que tuve que eliminar la tabla usando
sqlDrop(myconn2, "##R_Claims_Data")
. - Luego ejecuté:
sqlSave(myconn2, MainClmDF2, tablename = "##R_Claims_Data", verbose=TRUE, rownames= FALSE, varTypes=columnTypes)
¡Entonces mi cabeza se cayó porque funcionó! Realmente espero que esto ayude a alguien en el futuro. Aquí están los enlaces que me ayudaron a llegar a este punto: