我在 R 中执行 SQL Server 2008 存储过程时遇到问题。R 中的执行如下:
<小时/>library(RODBC)
dbhandle <- odbcDriverConnect('driver={SQLServer};server=xxx;database=xxx;trusted_connection=true')
data <-sqlquery(dbhandle, "EXEC ihshsf35.FPR_GET_PF10 @tipo_pes='F' , @date_process='2016-11-30'")
odbcCloseAll()
<小时/>
R中出现的错误:
Error in as.POSIXlt.character(x, tz, ...) :
character string is not in a standard unambiguous format
<小时/>
存储过程调用特征和日期来从数据库中提取信息:
Procedure [ihshsf35].[FPR_GET_PF10]
(
@tipo_pes varchar(1),
@date_process as datetime
)
AS
BEGIN
<小时/>
我从 SAS 和 SPSS 等其他系统执行此存储过程没有问题,但当我在 R 中尝试时却出现错误。 注意:在 SQL Server 中,数据的格式为“aaaa-mm-dd”,与我在 R 中询问的格式相同
谁能帮我解决 R 中的问题吗?
提前致谢
最佳答案
最后,我知道问题是什么以及如何解决。需要将参数as.is=T
与函数sqlExecute
一起使用:
data <- sqlExecute(dbhandle, "exec FPR_GET_PJ @tipo_pes='J', @date_process='2016-12-31'",
fetch = TRUE, as.is=T)
关于sql-server - 在 R 中执行 SQL Server 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41522309/