RODB C - вектор запроса длиннее 1 - PullRequest
0 голосов
/ 14 февраля 2020

Используя RODBC, вы можете запросить базу данных следующим образом:

library(RODBC)

dbHandle <- odbcDriverConnect('driver=SQL Server;server=SOME_SERVER;trusted_connection=true')
returnDf <- sqlQuery(dbHandle, query, stringsAsFactors = FALSE)
odbcClose(dbHandle)

Это предполагает, что объект query является вектором длины 1. Что произойдет, если это не так? Итак, если query содержит два элемента - запрашивается ли база данных дважды?

1 Ответ

0 голосов
/ 14 февраля 2020

Спасибо @ r2evans за указание решения:

query <- c("select 1 as a", "select 2 as b")

dbhandle <- odbcDriverConnect('driver=SQL Server;server=SOME_SERVER;database=csn_pricing;trusted_connection=true')
df <- sqlQuery(dbhandle, query, stringsAsFactors = FALSE)
odbcClose(dbhandle)

Это приводит к

> df
  a
1 1

Следовательно, используется только первый элемент.

...