2016-05-10 9 views
1

Ich habe die folgende Verbindungszeichenfolge und Abfrage, die Ich mag würde RxSqlServerData laufen mit:Mit vertrauenswürdiger Verbindung in RxSqlServerData Verbindungszeichenfolge

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) 

Meine Syntax, um eine vertrauenswürdige Verbindung/Fenster-Authentifizierung für die Angabe scheint falsch zu sein. Kann mir jemand sagen, wie man eine vertrauenswürdige Verbindung mit dem RevoScaleR Paket richtig verwendet?

Antwort

1

Hier ist, wie ich meins zur Arbeit bekam. Beachten Sie, dass Sie einen ODBC-DSN in dem ODBC-Datenquellenadministrator einrichten müssen, und dann müssen Sie sicherstellen, dass der Treibername in Ihrer Verbindungszeichenfolge übereinstimmt, was Ihr DSN genau verwendet. In meinem Fall ist es "SQL Server Native Client 11.0". Die geschweiften Klammern scheinen Leerzeichen im Namen des Treibers zuzulassen. Außerdem musste ich den Parameter trusted_connection auf "Ja" und nicht auf "Wahr" setzen.

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))