我有一個R腳本,用於從R Studio的SQL查詢獲取結果,而不是Linux上的Rapache。我的兩個連接字符串是:RODBC查詢返回來自Windows的結果,但不是來自Linux
channel = odbcDriverConnect('Driver=FreeTDS;Server=server\\instance;Database=DB;Uid=name;Pwd=password')
channel = odbcDriverConnect('Driver={SQL Server};Server=name\\instance;Database=DB;Trusted_Connection=True;')
我構建了一些SQL,並將它傳遞給這個函數:
get_sql_data <- function(query,as.is=TRUE){
return(sqlQuery(channel, query,as.is=as.is, errors=TRUE))
}
我期待在SQL輪廓,看到BatchStarting和BatchCompleted事件從Rapache查詢。我複製並將查詢複製到SSDT中並返回行。在Rstudio中,我可以查看()結果數據框。在rapache我頭這樣的:
warning('head head')
warning(head(RESULTS))
warning('head tail')
我得到如下:
2: In eval(expr, envir, enclos) : head head 3: In eval(expr, envir, enclos) : 4: In eval(expr, envir, enclos) : head tail
我在做什麼錯?我需要使用sqlGetResults()
什麼的?
爲什麼你有兩個連接字符串?第二個只是覆蓋第一個。其中一個字符串是你在windows上使用的,另一個是你在linux上使用的嗎? – 2014-10-14 18:10:03
@DavidMarxyes是正確的。我在Linux上使用FreeTDS,在Windows上使用Microsoft驅動程序。 – 2014-10-15 13:25:37