我使用的,我一個Microsoft SQL Server 2012的RODBC命令「的SQLQuery」在T-SQL
現在我發現,我感到困惑的現象在應用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執行時數據庫服務器的行爲,看起來服務器完美地處理了它。看來RODBC接口有問題將結果返回到R控制檯。
有沒有人有一個想法如何解決這個問題?
嘗試改變表變量來臨時表。 CREATE TABLE #tbl_IDs ( 國家nvarchar(30), CID nvarchar(5), PriceID int, WindID int ); INSERT INTO #tbl_IDs VALUES ('Germany','DE',112000001,256000002); SELECT * FROM#tbl_Ids' – lad2025
感謝您的回答,但這並未解決問題。我們之前已經測試過了。 – Andro