След часове работа по това, най-накрая успях да накарам sqlSave да работи, докато уточнявам името на таблицата - дълбоко дишане, откъде да започна. Ето списъка с нещата, които направих, за да накарам това да работи:
- Отворете 32-битов ODBC администратор и създайте потребителски DSN и го конфигурирайте за вашата конкретна база данни. В моя случай създавам глобална временна таблица, така че се свързах с tempdb. Използвайте това име на връзката във вашия
odbcConnection(Name)
. Ето моя кодmyconn2 <- odbcConnect("SYSTEMDB")
. - След това дефинирах моите типове данни със следния код:
columnTypes <- list(Record = "VARCHAR(10)", Case_Number = "VARCHAR(15)", Claim_Type = "VARCHAR(15)", Block_Date = "datetime", Claim_Processed_Date = "datetime", Status ="VARCHAR(100)")
. - След това актуализирах типовете класове на моите рамки с данни, използвайки
as.character
иas.Date
за да съответстват на типовете данни, изброени по-горе. - Вече създадох таблицата, тъй като работих върху нея с часове, така че трябваше да пусна таблицата с помощта на
sqlDrop(myconn2, "##R_Claims_Data")
. - След това изпълних:
sqlSave(myconn2, MainClmDF2, tablename = "##R_Claims_Data", verbose=TRUE, rownames= FALSE, varTypes=columnTypes)
Тогава главата ми падна, защото работи! Наистина се надявам това да помогне на някой да продължи напред. Ето връзките, които ми помогнаха да стигна до този момент: