В настоящее время я использую пакет RODBC в R для запуска запросов к базам данных SQL Server. В настоящее время Knitr имеет возможность использовать SQL code chunks (используя DBI package). Я хотел бы воспользоваться этим, так как он позволяет мне иметь чистый SQL, встроенный в мой RMarkDocument (RMD). Тем не менее, я столкнулся с трудностями при подключении DBI к моей среде SQL Server.Как подключить пакет R DBI к SQL Server?
Я просмотрел файл справки DBI и виньетки, но я в недоумении. Они упоминают RSQLServer для SQL Server, но он был извлечен из CRAN. Я знаю, что могу установить его из gitHub, используя devtools, но я бы предпочел не полагаться на пакеты, которые не могут быть сохранены на CRAN. Я также предпочел бы избежать разъема RJDBC, поскольку я слышал о проблемах надежности, и это делает код менее переносимым.
Хотя моя цель - использовать это в файлах RMD, приведенный ниже код является простым R-скриптом, чтобы максимально упростить пример.
Кто-нибудь знает, как получить пример DBI, работающий аналогично примеру RODBC?
# *** 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