我正在尝试使用RODBC包中的sqlSave向MSAccess数据库写入数据。我成功连接到数据库,可以读取表格,甚至可以使用sqlSave进行某些简单的更新操作。但是,在以下表格和更新操作时,R前端会崩溃。无论是在运行真实计算数据的Rscript还是在Rstudio中运行以下命令时都会发生这种情况。我正在以32位模式(与Access兼容)运行R 3.1版本。我已经创建了一个名为“ch”的通道,并打算向名为“data.mdb”的数据库中的“Test_Table”表格中写入数据。
test <- c(1,"Fixed","Upward","Gas", "2014-07-31",14,0.99)
test.df <- as.data.frame(t(test))
names(test.df) <- c("ID","Contract_Type","Direction", "Name_Of_Underlying","Data_Date","Months_To_Maturity","Absolute_Price_Move")
types <- c("integer","varchar","varchar","varchar","datetime","integer","double")
names(types) <- names(test.df)
sqlSave(ch, dat = test.df, tablename = "Test_Table",varTypes = types, append = T, verbose = T,safer = T)
我也尝试了 safer = F。
当我在RStudio中运行时,出现了“炸弹”符号,并要求我启动新会话。当我通过Rscript运行时,命令行输出指示所有正确的绑定正在发生,参数正确。然后弹出一个窗口,说Windows版R前端已停止工作,没有写入数据库的内容。
欢迎任何想法。