web-dev-qa-db-fra.com

Erreur de connexion RODBC odbcDriverConnect ()

J'essaye d'utiliser

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

pour connecter un serveur de base de données distant (SQL Server 2008). Mais j'ai

[RODBC] ERREUR: état 08001, code 17, message [Microsoft] [Pilote ODBC SQL Server] [DBNETLIB] SQL Server n'existe pas ou l'accès est refusé.

erreur. Une idée?

Je peux utiliser

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

pour connecter mon serveur de base de données local (sql server 2008).

18
lijie98

La syntaxe correcte doit être:

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

Si vous utilisez la méthode d'authentification Windows:

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

Slash semble être un personnage d'échappement, échappant aux travaux de slash.

34
lijie98

Pour Microsoft ODBC Driver 11 pour SQL Server sur Linux avec RODBC version 1.3-7 dans R version 3.0.1 aucune des réponses ci-dessus n'a fonctionné. Ce qui a fonctionné cependant était le suivant:

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

(entrez l'adresse IP, le nom de la base de données, etc.).

En cas de connexion sécurisée:

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 n'écoutera que "oui" ou "non" et non "vrai" et "faux"

9
FvD

1.Connet à MySQL

a) si Mysql est installé sur votre système, sinon installez-le.

b) téléchargez RMySQL IN R

library(RMySQL)

drv = dbDriver("MySQL 5.0.1")

assurez-vous que la version de MySQL est correcte.

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

utiliser l'hôte local ou utiliser le serveur, c'est-à-dire l'adresse IP

utiliser le nom de base de données, le nom d'utilisateur et le mot de passe requis

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

exécuter la requête requise

close(con)

2.Une autre façon de connecter la base de données

a) installez d'abord une base de données comme MySQL, Oracle, SQL Server

b) installez le connecteur ODBC pour la base de données

library(Rodbc)

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

test est le nom de connexion du conector odbc que l'utilisateur doit définir manuellement

l'utilisateur peut trouver cela dans l'outil Administrateur

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

Une table peut être récupérée sous forme de bloc de données

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

une partie de la table avec condition un peut être récupérée sous forme de trame de données

sqlSave(channel, dataframe)

pour enregistrer une trame de données dans la base de données (n'utilisez pas "res <-" quelque chose comme ça)

comme l'utilisateur peut utiliser

sqlCopy()sqlDrop()

sqlTables()

close(channel)

toujours fermer la connexion

1
sanjeeb