我正在使用我在Microsoft SQL Server 2012上应用的RODBC包.
现在我发现了一个困扰我的现象.
如果我使用RODBC命令sqlQuery运行以下查询,那么在R中,我将返回一个包含Country,CID,PriceID和WindID列的空数据框.
DECLARE @tbl_IDs TABLE
(
Country nvarchar(30),
CID nvarchar(5),
PriceID int,
WindID int
)
SELECT * FROM @tbl_Ids
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好.
但是,如果我尝试将记录写入表变量并执行
DECLARE @tbl_IDs TABLE
(
Country nvarchar(30),
CID nvarchar(5),
PriceID int,
WindID int
)
INSERT INTO @tbl_IDs
VALUES
('Germany', 'DE', 112000001, 256000002);
SELECT * FROM @tbl_Ids
Run Code Online (Sandbox Code Playgroud)
然后,在R中,结果将是一个空字符而不是具有一个记录的数据帧.仍然相同的查询与SQL Server Management Studio完美配合.此外,我们在执行R-Query时跟踪了数据库服务器的行为,服务器似乎完美地处理了它.看起来RODBC接口有问题将结果返回到R控制台.
有没有人知道如何解决这个问题?