2013-03-14 19 views
15

Sto cercando di utilizzareRODBC odbcDriverConnect() Errore di connessione

odbcDriverConnect('driver={SQL Server};server=servername\instancename,port;database=testing;username=abc;password=123456') 

per collegare server di database remoto (sql server 2008). Ma ho ottenuto

[RODBC] ERROR: state 08001, code 17, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.

errore. Qualche idea?

posso usare

odbcDriverConnect('driver={SQL Server};server=localhost;database=testing;trusted_connection=true') 

per collegare il mio server di database locale (sql server 2008).

risposta

28

la sintassi corretta dovrebbe essere:

odbcDriverConnect('driver={SQL Server};server=servername\\instancename,port;database=testing;uid=abc;pwd=123456') 

Se si utilizza il metodo di autenticazione di Windows:

odbcDriverConnect('driver={SQL Server};server=servername\\\\instancename,port;database=testing;trusted_connection=true') 

Slash sembra un carattere di escape, sfuggendo opere oblique.

1

1.Connet a MySQL

a) se MySQL è installato nel sistema, se non installarlo.

b) scarica il RMySQL IN R

library(RMySQL)

drv = dbDriver("MySQL 5.0.1")

assicurarsi versione MySQL è corretta.

con = dbConnect(drv,host="localhost",dbname="test",user="root",pass="root")

uso host locale o utilizzare l'indirizzo IP del server cioè

utilizzare il nome del database richiesto, il nome utente e la password

album = dbGetQuery(con,statement="select * from table")

corsa richiesto interrogazione

close(con)

2.Un altro modo per collegare database di

a) prima installare qualsiasi database come MySQL, Oracle, SQL Server

b) installare il connettore ODBC per il database

library(Rodbc)

channel <- odbcConnect("test", uid="ripley", pwd="secret")

prova è il nome della connessione di odbc conector che l'utente deve impostare manualmente

utente

può trovare questo in strumento Administrator

res <- sqlFetch(ch, "table name")

Una tabella può essere recuperata da un frame di dati

res<-sqlQuery(channel, paste("select query"))

parte con condizione di una tabella può essere recuperato come un frame di dati

sqlSave(channel, dataframe)

per salvare un dataframe nel database (don t usa "res < -" qualcosa di simile)

come utente può utilizzare

sqlCopy() sqlDrop()

sqlTables()

close(channel)

chiudere sempre la connessione

8

Per la Micr Microsoft ODBC Driver 11 per SQL Server su Linux con RODBC versione 1.3-7 in R versione 3.0.1 nessuna delle risposte precedenti ha funzionato. Ciò che tuttavia funzionava era il seguente:

dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server; 
       Server=127.0.0.1; Database=MyDBName; 
       Uid=MyName; Pwd=XXXX") 

(inserire l'indirizzo IP, il nome del database ecc.).

In caso di una connessione di fiducia:

dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server; 
       Server=127.0.0.1; Database=MyDBName; 
       Uid=MyName; Pwd=XXXX; trusted_connection=yes") 

trusted_connection sarà solo ascoltare "sì" o "no" e non a "vero" e "falso"