Ordinateurs

Se connecter à SQL Server à partir de R

Harsh est un DBA SQL ayant une expérience de plus de 13 ans. Il a travaillé sur la plupart des technologies liées à SQL Server. Il aime la politique, la lecture

Connectez-vous à SQL Server à partir de R

Se connecter de R à SQL Server

De quoi parle cet article

La plupart des données d’aujourd’hui sont stockées dans des bases de données relationnelles et R a besoin d’un moyen d’accéder à ces données.

Bien que vous obteniez probablement beaucoup de données à partir de fichiers de données tels que des fichiers séparés par des virgules ou des tabulations, vos données commerciales peuvent souvent être stockées dans une base de données relationnelle telle que SQL Server, Oracle ou MySQL. Parfois, votre entreprise peut copier ces données dans le format de votre choix, comme des fichiers séparés par des virgules, et vous les donner.

Mais souvent, ils peuvent simplement vous donner un accès en lecture à la base de données et vous demander d’obtenir ces données directement de la base de données. Dans un tel scénario, vous devez pouvoir vous connecter à la base de données relationnelle stockant les données. Vous devez également avoir au moins quelques connaissances de base sur les bases de données relationnelles et T-SQL comme select, joins, clause where, etc. Fondamentalement, vous devez être capable d’écrire des requêtes SQL.

Cet article montrera simplement comment se connecter à SQL Server à partir de R et exécuter une requête simple.

Ceci n’est pas un article sur l’écriture de requêtes SQL.

De quoi as-tu besoin

Pour vous connecter à SQL Server, vous devez connaître 3 bits d’informations avant même de commencer.

  • Adresse IP de SQL Server :
  • Nom d’utilisateur pour se connecter à SQL Server
  • Mot de passe permettant à l’utilisateur de se connecter

Vous pouvez demander ces informations à l’équipe de DBA qui gère les serveurs sur lesquels résident les données.

Une fois que vous avez ces informations prêtes, nous pouvons maintenant commencer à configurer notre connexion à SQL Server à partir de R.

A lire aussi :  Comment utiliser les interruptions dans les microcontrôleurs Pic et dsPic

Forfait RODBC

Il existe de nombreux packages qui vous aident à vous connecter à des bases de données relationnelles dans R. Pour cette démonstration, j’utilise un package nommé RODBC. Vous devez d’abord installer ce paquet.

install.packages("RODBC")

Assurez-vous que cette installation est terminée sans aucune erreur. Vous pouvez également vérifier si ce package a été installé correctement ou non en exécutant la commande suivante.

library(RODBC)
Charger la bibliothèque RODBC dans R

Charger la bibliothèque RODBC dans R

Vous devriez voir l’invite de commande sans aucune erreur. Si cela se produit, cela signifie que la bibliothèque est chargée dans R. Comme vous pouvez le voir, il s’agit d’un pilote ODBC pour la connexion à la base de données relationnelle. La même bibliothèque peut être utilisée pour se connecter à pratiquement n’importe quelle source de données prenant en charge les connexions ODBC.

Créer une source de données sous Windows

Donc, pour se connecter à SQL Server, nous allons d’abord créer une source de données (DSN) dans Windows.

Faites défiler pour continuer

(Je comprends que beaucoup de gens utilisent R sous Linux. J’ai bien peur que je n’ai pas de machine Linux moi-même, je ne peux pas le faire pour les utilisateurs Linux.)

Pour créer une source de données, cliquez sur Démarrer → Outils d’administration → Sources de données (ODBC).

Rechercher DSN sur Windows

Rechercher DSN sur Windows

Cela ouvrira la fenêtre suivante où vous pourrez créer la source de données ODBC qui pointe vers le serveur SQL hébergeant les données.

Comme vous pouvez le voir, j’ai surligné en jaune une source de données que j’ai déjà créée. Je l’ai nommé UAT.

DSN existant

DSN existant

Cliquez sur Ajouter pour créer une nouvelle source de données et sélectionnez l’option indiquée dans la capture d’écran ci-dessous et cliquez sur Terminer.

Sélectionnez les pilotes pour la source de données

Sélectionnez les pilotes pour la source de données

Dans la fenêtre suivante, vous devez remplir deux champs. L’un est le nom de cette source de données. Cela sera utilisé dans R. Dans mon cas, j’ai ce nom de source de données UAT.

La description peut être n’importe quoi.

Le serveur est la chose la plus importante. C’est ici que vous entrez l’adresse IP du serveur SQL sur lequel les données sont hébergées. Veuillez noter que pour des raisons de confidentialité, j’ai effacé l’adresse IP que j’ai saisie lors de la création de cette source de données.

A lire aussi :  Scénario PC 1 : Raisons pour lesquelles votre ordinateur ne s'allume pas

Une fois ces informations saisies, cliquez sur Suivant.

Fournir des informations sur le serveur SQL

Fournir des informations sur le serveur SQL

Sur cet écran, vous devez indiquer à la source de données comment se connecter à SQL Server. C’est ici que vous devrez spécifier le nom d’utilisateur et le mot de passe pour le serveur SQL que vous avez peut-être obtenu du DBA.

Une fois de plus, j’ai effacé mon ID utilisateur de la capture d’écran suivante. Cliquez sur suivant après avoir entré le nom d’utilisateur et le mot de passe.

Fournir des informations d'authentification SQL Server

Fournir des informations d’authentification SQL Server

Sur cet écran, vous n’avez pas besoin de changer quoi que ce soit et cliquez simplement sur suivant.

Aucune action n'est nécessaire ici.  Cliquez simplement sur suivant

Aucune action n’est nécessaire ici. Cliquez simplement sur suivant

Sur l’écran suivant également, n’apportez aucune modification et cliquez simplement sur suivant. Vous arriverez maintenant à l’écran final.

Tester la source de données

Tester la source de données

Ici, vous verrez UAT au lieu de UST dans mon cas. Comme j’avais déjà nommé une source de données, j’ai dû changer le nom en UST. De plus, dans le champ du serveur marqué en jaune dans la capture d’écran, j’ai effacé l’adresse IP de mon serveur. Dans votre cas, vous verrez ici l’adresse IP du serveur que vous avez entrée au début.

Maintenant, pour vous assurer que la source de données fonctionne, cliquez sur le bouton Tester la source de données. Si tout se passe bien, vous devriez voir un écran comme celui-ci.

DSN testé avec succès

DSN testé avec succès

Utiliser DSN dans R

Eh bien, c’était la partie la plus difficile. Maintenant, il suffit d’utiliser cette source de données (DSN en R) pour s’y connecter et lancer une requête simple.

Nous allons maintenant exécuter les commandes suivantes dans R. Cette première commande créera un objet de connexion pointant vers le DSN que nous avons créé précédemment. Nous devons utiliser le même nom UAT que nous avons utilisé pour le DSN.

uat_conn = odbcConnect("UAT")

Dans la deuxième étape, nous utiliserons l’objet de connexion créé à l’étape précédente et obtiendrons les données du serveur SQL.

A lire aussi :  Introduction à Python - TurboFuture

Dans la deuxième étape, nous utiliserons l’objet de connexion créé à l’étape précédente et obtiendrons les données du serveur SQL. C’est la requête que je vais exécuter. Cela me donnera la liste des bases de données du serveur.

sqlQuery(uat_conn,"select name from master.sys.sysdatabases where dbid > 4")

Ici, la requête que j’exécute est entre guillemets.

La source de données sur laquelle cette requête doit être exécutée est uat_conn que nous avions créée lors de la première étape. Donc, fondamentalement, cette commande R se connecte à l’objet de source de données (DSN) nommé uat_conn et exécute une requête. La requête est comme indiqué ci-dessous

select name from master.sys.sysdatabases where dbid > 4

Une fois que vous l’avez exécuté dans R, vous devriez voir la capture d’écran suivante.

Données SQL Server en R

Données SQL Server en R

Sommaire

Ainsi, cette commande de R se connectera au nom DSN UAT (cela pointe vers le serveur SQL que vous avez utilisé lorsque vous avez créé le DSN), obtiendra une liste des bases de données de ce serveur et l’affichera dans R.

Cet article est exact et fidèle au meilleur de la connaissance de l’auteur. Le contenu est uniquement à des fins d’information ou de divertissement et ne remplace pas un conseil personnel ou un conseil professionnel en matière commerciale, financière, juridique ou technique.

© 2018 Harshvardhan Diwan

ammu le 31 mai 2020 :

Merci, ça marche. Pouvons-nous écrire une requête à partir de R pour créer une table dans la base de données sélectionnée à l’aide de cette instruction sqlQuery ? Si oui, pourriez-vous s’il vous plaît aider en montrant comment faire cela?

Marilia le 14 août 2019 :

J’essaie ça, mais ça ne marche pas !

Anonyme le 16 avril 2019 :

Merci!

Utilisateur anonyme le 15 avril 2019 :

Merci beaucoup, ça marche.

Jeff Jenkins le 03 avril 2019 :

Belles instructions ! J’ai pu me connecter.

Bouton retour en haut de la page