Depois de horas trabalhando nisso, finalmente consegui fazer o sqlSave funcionar enquanto especificava o nome da tabela - respiração profunda, por onde começar. Aqui está a lista de coisas que eu fiz para que isso funcionasse:
- Abra o Administrador ODBC de 32 bits, crie um DSN de usuário e configure-o para seu banco de dados específico. No meu caso, estou criando uma tabela temporária global, então vinculei ao tempdb. Use este nome de conexão em seu
odbcConnection(Name). Aqui está meu códigomyconn2 <- odbcConnect("SYSTEMDB"). - Depois defini meus tipos de dados com o seguinte 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)"). - Atualizei meus tipos de classe de quadro de dados usando
as.charactereas.Datepara corresponder aos tipos de dados listados acima. - Eu já criei a tabela desde que estou trabalhando nela há horas, então tive que descartar a tabela usando
sqlDrop(myconn2, "##R_Claims_Data"). - Em seguida, executei:
sqlSave(myconn2, MainClmDF2, tablename = "##R_Claims_Data", verbose=TRUE, rownames= FALSE, varTypes=columnTypes)
Então minha cabeça caiu porque funcionou! Eu realmente espero que isso ajude alguém daqui para frente. Aqui estão os links que me ajudaram a chegar a este ponto:
Tabela não encontrada
sqlSalvar em R
RODBC