У команды RODBC 'sqlQuery' есть проблемы с табличными переменными в t-SQL
Я использую пакет RODBC, который я применяю на Microsoft SQL Server 2012.
Теперь я обнаружил явление, которое озадачивает меня.
Если я выполню следующий запрос с командой 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-запроса, и, кажется, сервер прекрасно с ним справляется. Кажется, что у интерфейса RODBC есть проблема, чтобы возвратить результат в консоль R.
У кого-нибудь есть идеи, как решить эту проблему?