首页 > 解决方案 > RODBC - 查询向量长于 1

问题描述

使用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包含两个元素 - 数据库是否被查询了两次?

标签: rodbc

解决方案


感谢@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

因此,仅使用第一个元素。


推荐阅读