Как подключиться к SQL из R Studio - PullRequest
0 голосов
/ 08 октября 2019

Я использую Microsoft SQL Server Management Studio в Windows 10 для подключения к следующей базе данных, и вот как выглядит экран входа в систему:

Server Type:      Database Engine
Server Name:      sqlmiprod.b298745190e.database.windows.net
Authentication:   SQL Server Authentication
Login:            my_user_id
Password:         my_password

Этот недавний RВ статье Studio предлагается простой способ подключения к серверам SQL из R Studio с помощью следующего:

con <- DBI::dbConnect(odbc::odbc(),
                      Driver   = "[your driver's name]",
                      Server   = "[your server's path]",
                      Database = "[your database's name]",
                      UID      = rstudioapi::askForPassword("Database user"),
                      PWD      = rstudioapi::askForPassword("Database password"),
                      Port     = 1433)

У меня два вопроса

  1. Что следует использовать в качестве "[your driver's name]"?
  2. Что я должен использовать как "[your database's name]"?

Путь к серверу, который я буду использовать, - sqlmiprod.b298745190e.database.windows.net (сверху), и я оставлю порт на 1433. Если это не так, пожалуйста, дайте мне знать.

1 Ответ

1 голос
/ 08 октября 2019

Драйвер

Исходя из комментариев @ Zaynul и моего собственного опыта, поле драйвера представляет собой текстовую строку с именем драйвера ODBC. Этот ответ содержит более подробную информацию по этому вопросу.

Возможно, вы хотите что-то вроде:

  • Driver = 'ODBC Driver 17 for SQL Server' (из комментария @ Zaynul)
  • Driver = 'ODBC Driver 11 for SQL Server' (из моего собственного контекста)

База данных

База данных по умолчанию, к которой вы хотите подключиться. Примерно эквивалентно запуску сценария SQL с

USE my_database
GO

Если вся ваша работа будет находиться в одной базе данных, поместите ее имя здесь.

В некоторых случаях вы можете оставить это поле пустым. , но затем вам нужно использовать команду in_schema для добавления имени базы данных при каждом подключении к таблице.

Если вы работаете с несколькими базами данных, я рекомендую ввести имя одной базы данных, изатем с помощью команды in_schema укажите базу данных в каждой точке подключения.

Пример использования команды in_schema ( подробности ):

df = tbl(con, from = in_schema('database.schema', 'table'))

Хотя я не пробовал, если у вас нет схемы, то

df = tbl(con, from = in_schema('database', 'table'))

также должно работать (я уже некоторое время пользуюсь этим хаком без проблем).

...