小编And*_*dro的帖子

RODBC命令'sqlQuery'在t-SQL中存在表变量问题

我正在使用我在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控制台.

有没有人知道如何解决这个问题?

t-sql r table-variable rodbc

4
推荐指数
1
解决办法
2407
查看次数

标签 统计

r ×1

rodbc ×1

t-sql ×1

table-variable ×1