我目前使用R中的RODBC軟件包對SQL Server數據庫運行查詢。 Knitr現在可以使用SQL code chunks(使用DBI package)。我想利用這一點,因爲它允許我在RMarkdown(RMD)文檔中嵌入乾淨的SQL。但是,我在遇到DBI連接到SQL Server環境時遇到問題。如何將R DBI包連接到SQL Server?
我已經瀏覽了DBI的幫助文件和小插曲,但我很茫然。他們提到SQL Server的RSQLServer,但它已從CRAN中提取。我知道我可以使用devtools從gitHub安裝它,但我寧願不依賴於無法在CRAN上保留的軟件包。我還喜歡避免使用RJDBC連接器,因爲我聽說過可靠性問題,並且使代碼更加便於攜帶。
雖然我的目標是在RMD文件中使用它,但下面的代碼是一個簡單的R腳本,以儘可能減少示例。
有沒有人知道如何獲得與RODBC示例類似的方式工作的DBI示例?
# *** Query - edit table name to work with your db
my_query = "select top 100 * from my_table"
# *** This code works ***
library(RODBC)
# Replace <<SERVER>> and <<DB>> with your server and database, respectively
SQLServer <- odbcDriverConnect(connection = "Driver={SQL Server};server=<<SERVER>>;database=<<DB>>;trusted_connection=yes")
sqlResult <- sqlQuery(SQLServer, my_query)
# *** This code doesn't ***
library(DBI)
# Replace <<SERVER>> and <<DB>> with your server and database, respectively
SQLServer <- dbConnect(dbDriver("ODBC"), "server=<<SERVER>>;database=<<DB>>;trusted_connection=yes")
sqlResult <- dbSendQuery(con, my_query)
我編輯的問題在問題本身中提供一個明確的問題陳述以及一個可重複的例子。有人可以審查重新開放? –
您可能想要閱讀:https://github.com/rstats-db/odbc – p0bs