DBI :: dbConnect (), кажется, не соединяется при вызове с source () - PullRequest
0 голосов
/ 18 марта 2020

Учусь использовать пакет 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)")

1 Ответ

0 голосов
/ 18 марта 2020

В конце (после чата) соединение установлено, но не отображается на панели «Подключения» RStudio. Тем не менее, объект отображается в среде, поэтому соединение работает, и последующие запросы работают как положено.

...