2016-06-08 22 views
0

RI Verwendung versuchte zu MS SQL 2014 auf einer Azure VM (nicht Windows-Authentifizierung)R Verbindung zu MS SQL

library(RODBC) 
conn <- odbcDriverConnect(connection = "Driver=SQL Server;Server=someinternetmachine.cloudapp.net;Database=MyDatabase;Uid=MyUsername;Pwd=MyPassword;") 
queryResult <- sqlQuery(conn, "SELECT top 10 * FROM sometable") 

Mit RODBC zu verbinden gibt es überall diese mit nur eine Verbindungszeichenfolge zu tun (kein DSN)?

die oben ich mit dem unten Fehler

Warning messages: 
1: In odbcDriverConnect("driver={SQL Server};server=servername\\instancename,port;database=testing;uid=abc;pwd=123456") : 
    [RODBC] ERROR: state 08001, code 6, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]Specified SQL server not found. 
2: In odbcDriverConnect("driver={SQL Server};server=servername\\instancename,port;database=testing;uid=abc;pwd=123456") : 
[RODBC] ERROR: state 01000, code 11001, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). 
3: In odbcDriverConnect("driver={SQL Server};server=servername\\instancename,port;database=testing;uid=abc;pwd=123456") : 

ODBC-Verbindung fehlgeschlagen

+0

PS Arbeit zu bekommen - ich extern Fein verbinden kann SQL-Authentifizierung unter Verwendung von SSMS & ADO.Net –

Antwort

1

Managed dies mit

driver.name <- "SQL Server" 
db.name <- "master" 
host.name <- "someinternetmachine.cloudapp.net" 
port <- "" 
server.name <- "someinternetmachine.cloudapp.net" 
user.name <- "MyUsername" 
pwd <- "MyPassword" 
# Use a full connection string to connect 
con.text <- paste("DRIVER=", driver.name, 
       ";Database=", db.name, 
       ";Server=", server.name, 
       ";Port=", port, 
       ";PROTOCOL=TCPIP", 
       ";UID=", user.name, 
       ";PWD=", pwd, sep = "") 

con1 <- odbcDriverConnect(con.text) 

res <- sqlQuery(con1, 'select * from information_schema.tables') 

odbcCloseAll() 
1

Haben Sie wählen öffentliche Bereitstellung für die VM in Azure bekommen? Darüber hinaus müssen Sie die Ports für SQL Server in der Windows-Firewall öffnen (die Portnummer hängt vom Standard oder der benannten Instanz ab). Im Fall einer benannten Instanz, wenn Sie dynamische Ports verwenden, muss auch der SQL-Browser geöffnet werden. Weitere Informationen finden Sie unter dem Link here.

+0

ich extern Fein verbinden kann ADO.Net mit - und auch über SSMS. Wish R könnte ADO.Net verwenden –