Подключение к Microsoft SQL Server с помощью R (представление находится в базе данных в Microsoft SQL Server Management Studio (SSMS) - PullRequest
0 голосов
/ 09 января 2019

У меня есть права на чтение некоторых «Представлений» (таблиц) в Microsoft SQL Server Management Studio (SSMS). Я подключаюсь, делаю свой запрос и экспортирую файлы в формате csv, а затем читаю его в R. Теперь я хотел бы сделать свои запросы внутри R. Я потратил несколько часов, читая об этом, но все еще не понимаю, как должен выглядеть мой код. сделать соединение. Я использую пакеты в tidyverse много и видел, что там есть пакет dbplyr.

Информация при подключении к SSMS: 1) Тип сервера: ядро ​​базы данных 2) Имя сервера: у меня есть это. 3) Аутентификация: аутентификация Windows. 4) Имя пользователя: у меня есть это.

Мне не нужен пароль (возможно, это из-за того, что я работаю в сети?)

Может кто-нибудь написать полный код (включая какие библиотеки мне нужно загрузить) для доступа к представлениям в SSMS. Итак, я установил эти пакеты:

library(DBI)
library(dplyr)
library(dbplyr)
library(odbc)

Затем я запускаю следующий код:

con <- dbConnect(odbc::odbc(), 
                 Driver = "SQL Server", 
                 Server = "something", 
                 user = "something\\my_username",
                 Trusted_Connection = "True")


dbListTables(con)

Но я не могу выбрать те представления или таблицы, которые мне нужны. Это огромная база данных. На самом деле, когда я использую SSMS, существует много баз данных, и у меня есть доступ только к некоторому представлению внутри этой базы данных.

1 Ответ

0 голосов
/ 15 января 2019

Ну, я решил проблему (благодаря ссылке, на которую ссылается Денис в комментарии). Вот мой код:

library(DBI)
library(dplyr)
library(dbplyr)
library(odbc)

con <- dbConnect(odbc::odbc(), 
                 Driver = "SQL Server", 
                 Server = "path\\path", # remember \\ if your path has a \ 
                 Database = "the_database_name",
                 user = "your_user_name", # remember \\ if your username has a \
                 Trusted_Connection = "True")  
...