我正在使用我在 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
到目前为止,一切都很好。
但是,如果我尝试将记录写入表变量并执行
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
然后,在 R 中,结果将是一个空字符,而不是具有一条记录的数据框。同样的查询仍然可以完美地与 SQL Server Management Studio 配合使用。此外,我们在执行 R-Query 时跟踪了 DB 服务器的行为,似乎服务器完美地处理了它。似乎是 RODBC 接口有问题将结果返回到 R 控制台。
有谁知道如何解决这个问题?