Использование доверенного соединения в строке подключения RxSqlServerData

У меня есть следующая строка подключения и запрос, который я хотел бы запустить с помощью RxSqlServerData:

connString <- paste("Driver=SQL Server", paste("Server=", config$dwServer, sep = ""), paste("Database=", config$dwName, sep = ""), "trusted_connection=true", sep = ";")

rxSetComputeContext("local")


query <- "SELECT * FROM Table1"

RxSqlServerData(sqlQuery=query,connectionString=connString)

Мой синтаксис для указания доверенного соединения/аутентификации окна кажется неправильным. Кто-нибудь может сказать мне, как правильно использовать доверенное соединение с пакетом RevoScaleR?


person Tryggvi Jonsson    schedule 10.05.2016    source источник


Ответы (1)


Вот как я заставил свою работать. Обратите внимание, что вы должны настроить DSN ODBC в Администраторе источника данных ODBC, а затем вам нужно убедиться, что имя драйвера в вашей строке подключения точно соответствует тому, что использует ваш DSN. В моем случае это «Собственный клиент SQL Server 11.0». Фигурные скобки позволяют использовать пробелы в имени драйвера. Кроме того, мне пришлось установить для параметра trusted_connection значение «да», а не «истина».

instance_name <- "yourDsnName";
database_name <- "youDataBaseName";
connStr <- paste("Driver={SQL Server Native Client 11.0};Server=",instance_name, ";Database=",database_name,";Trusted_Connection=yes;",sep="");

# Set other variables used to define the compute context
sqlWait = TRUE;
sqlConsoleOutput = FALSE;
sqlShareDir <- paste("C:\\RShared\\",Sys.getenv("USERNAME"),sep="")

# Create and set the compute context to Dev SQL Server
sqlCC <- RxInSqlServer(connectionString = connStr, shareDir = sqlShareDir,   
                   wait = sqlWait, consoleOutput = sqlConsoleOutput,
                   traceEnabled=TRUE,traceLevel=7)
rxSetComputeContext(sqlCC)

rxGetVarInfo(RxSqlServerData(sqlQuery = "select 1 as test",connectionString = connStr, colClasses = c(test = "integer"), rowsPerRead=500))
person Bpa    schedule 19.08.2016