Соединитесь с RJDBC как с odbc - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь подключиться к своей базе данных MS SQL с помощью RJDBC, и я не знаю, что заполнить url аргумент.С odbc этого было достаточно:

dbConnect(odbc::odbc(),
          Driver = "SQL Server",
          dsn = "MyDsn",
          uid = "User",
          pwd = "123456",
          server = "myserver123456\\myserver1",
          database = "MyDatabase")

Когда я меняю драйвер с odbc на jdbc, происходит сбой:

dbConnect(RJDBC::JDBC(classPath = "C:/jdbc/mssql-jdbc-7.0.0.jre8.jar"),
          Driver = "SQL Server",
          dsn = "MyDsn",
          uid = "User",
          pwd = "123456",
          server = "myserver123456\\myserver1",
          database = "MyDatabase")

Ошибка: Error in .jcall("java/sql/DriverManager", "Ljava/sql/Connection;", "getConnection", : argument "url" is missing, with no default

Что должноя пишу в аргумент URL?Как узнать?

1 Ответ

0 голосов
/ 16 октября 2018

RJDBC использует различные аргументы для функции dbConnect: определение драйвера и URL-адрес соединения (фрагмент, который вам не хватает).Например (из https://www.rforge.net/RJDBC/), для подключения к базе данных MySQL ваш код будет выглядеть следующим образом:

library(RJDBC)
drv <- JDBC("com.mysql.jdbc.Driver",
       "/etc/jdbc/mysql-connector-java-3.1.14-bin.jar",
       identifier.quote="`")
conn <- dbConnect(drv, "jdbc:mysql://localhost/test", "user", "pwd")

Загружает драйвер JDBC для MySQL (настройте путь к драйверуJAR-файл при необходимости) и подключается к локальной базе данных «test». Дескриптор подключения conn используется для всех последующих операций.

Для SQL Server ваш код будет выглядеть примерно так (из https://www.r -bloggers.com / подключение к sql-серверу от r-using-rjdbc / ):

require(RJDBC)
drv <- JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver",
            "C:/jdbc/mssql-jdbc-7.0.0.jre8.jar") 
conn <- dbConnect(drv, "jdbc:sqlserver://serverName", "userID", "password")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...