连接到MS SQL Server时RODBC临时表问题
发布时间:2020-12-12 16:46:43 所属栏目:MsSql教程 来源:网络整理
导读:我在unix上运行R,我正在使用RODBC软件包连接到MS SQL服务器.我可以执行一个返回结果的查询,但是如果我在SQL查询中的某个地方使用了一个临时表,那么返回一个空字符串.在浏览网页后,我认为问题可能是RODBC软件包是假设最终用户正在使用标准SQL(而不是MS SQL)编
我在unix上运行R,我正在使用RODBC软件包连接到MS SQL服务器.我可以执行一个返回结果的查询,但是如果我在SQL查询中的某个地方使用了一个临时表,那么返回一个空字符串.在浏览网页后,我认为问题可能是RODBC软件包是假设最终用户正在使用标准SQL(而不是MS SQL)编写的.我以下面的代码为例.
有趣的是,如果我使用RJDBC包,则临时表问题不存在.然而,RJDBC软件包导入速度很慢,甚至导入了80,000行(10列),并且会频繁地停顿,所以也不是一个选择.有没有人遇到这个问题?如果有没有想到的替代解决方案,我很乐意听到他们的意见. 看来我不是唯一有这个问题的人,也许这是一个R-Bug? 谢谢 这里是R的例子: library(RODBC) ch <- odbcConnect(insert your server info here) qry4 <- "create table #tempTable( Test int ) insert into #tempTable select 2 select * from #tempTable drop table #tempTable " df4 <- sqlQuery(ch,qry4) 解决方法RODBC驱动程序似乎认为当SQL Server返回整个语句完成的任何行数时.所以你需要在你调用的语句或存储过程的开头设置nocount.set nocount on 这允许我使用在R中使用临时表的存储过程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |