Учусь использовать пакет odbc
, и я только что наткнулся на маленький камень преткновения. У меня есть код (ниже) в сценарии, который называется conn_to_db.R.
Когда я запускаю conn_to_db.R в консоли, соединение появляется в окне соединений RStudio, и я могу выполнять запросы, например c.
Похоже, что когда я вызываю его в другом R-скрипте с source("conn_to_db.R")
, соединение не происходит. Сценарий, кажется, запускается (если я прошу его напечатать что-то, он делает). Почему он не подключается к SQL серверу?
EDIT Кажется, что соединение установлено, но оно не отображается на панели соединений RStudio при запуске с source()
, тогда как оно делает, когда я запускаю те же строки через консоль.
Информация RStudio: Версия 1.2.5001 Build 1440 (7b3fe265, 2019-09-18)
#conn_to_db.R looks like this
library(odbc)
library(DBI)
#save user and password in a file not on git
source("USER.R")
source("PW.R")
#connect to DB
con <- DBI::dbConnect(odbc::odbc(),
Driver = "/usr/local/lib/libmsodbcsql.17.dylib"
, Server = "working_IP_Address"
, PWD = PW
, Port = 1433)
cat("recall when done good practice to close connection.
\nAlso, sometimes useful to clear the result of a query, e.g. here a query called \`stu\`
\n# clear results dbClearResult(stu)
\n# close connection dbDisconnect(con)")