Po hodinách práce na tom se mi konečně podařilo zprovoznit sqlSave při zadávání názvu tabulky – hluboké dýchání, kde začít. Zde je seznam věcí, které jsem udělal, aby to fungovalo:
- Otevřete 32bitový správce ODBC a vytvořte uživatelské DSN a nakonfigurujte jej pro vaši konkrétní databázi. V mém případě vytvářím globální dočasnou tabulku, takže jsem se propojil s tempdb. Použijte tento název připojení v
odbcConnection(Name)
. Zde je můj kódmyconn2 <- odbcConnect("SYSTEMDB")
. - Poté jsem definoval své datové typy pomocí následujícího kódu:
columnTypes <- list(Record = "VARCHAR(10)", Case_Number = "VARCHAR(15)", Claim_Type = "VARCHAR(15)", Block_Date = "datetime", Claim_Processed_Date = "datetime", Status ="VARCHAR(100)")
. - Potom jsem aktualizoval své typy tříd datových rámců pomocí
as.character
aas.Date
aby odpovídaly datovým typům uvedeným výše. - Tuto tabulku jsem již vytvořil, protože jsem na ní pracoval hodiny, takže jsem ji musel zrušit pomocí
sqlDrop(myconn2, "##R_Claims_Data")
. - Potom jsem spustil:
sqlSave(myconn2, MainClmDF2, tablename = "##R_Claims_Data", verbose=TRUE, rownames= FALSE, varTypes=columnTypes)
Pak mi spadla hlava, protože to fungovalo! Opravdu doufám, že to někomu pomůže do budoucna. Zde jsou odkazy, které mi pomohly dostat se k tomuto bodu: