Juin 2017

Volume 32, numéro 6

Cet article a fait l'objet d'une traduction automatique.

Points de données - Visual Studio Code : Créer une interface IDE de base de données avec l’extension MSSQL

Par Julie Lerman | Juin 2017

Julie LermanLorsque Visual Studio est toujours mon IDE incontournable pour le développement de .NET lourds, j’ai comme pris fou avec Visual Studio Code (Code de Visual Studio), si je travaille dans c# ou JavaScript ou nœud et que je travaille dans Windows ou macOS. Bien entendu, il existe beaucoup d’autres langages et infrastructures prises en charge par VS Code et ses extensions multitude, mais Voici mes ensembles d’outils actuel. Je ne suis pas uniquement mon amoureux de VS Code. Lors du lancement de Visual Studio 2017 en mars 2017, Microsoft a annoncé que VS Code avait 1.3 millions les utilisateurs actifs mensuels. Ce qui est vraiment super est que, comme avec n’importe quel outil inter-plateformes, chaque membre de votre équipe permettre choisir leur système d’exploitation favori, mais tous peuvent toujours utiliser les mêmes outils de codage.

Et puis donnée, il est toujours données impliquées. J’ai passé années et les années fonctionne uniquement avec SQL Server et le codage des applications de Windows. Mais ces dernières années, j’ai développé mon horizon : non seulement avec un nouvel IDE (Code de Visual Studio), mais également les nouvelles bases de données et de nouvelles plates-formes (en cours de frappe cela sur mon MacBook Pro).

Mon incursion dans le Code de Visual Studio a démarré en tant que partie de mon wanderings dans Node.js, ce qui vous avez surveillée dans cette colonne très. Qui a été initialement sur Windows. Mais étant VS Code multiplateforme (générée à partir de l’électronique), j’ai trouvé finalement moi-même va dans les deux sens, vous travaillez sur le même code, parfois dans Windows, parfois dans macOS avec GitHub en tant que le dénominateur commun. Grâce à l’extension de c# et la nature interplateforme du .NET Core, j’ai atteint finalement au-delà de Node.js pour écrire des applications .NET Core avec EF de base dans les deux environnements. Dans Visual Studio, je reposent largement sur SQL Server Data Tools intégrés et l’extension de la boîte à outils de SQL CE/SQLite pour Explorer la plupart des données que créant mes applications. Mais avec le Code de Visual Studio, j’ai besoin d’un élément externe pour Explorer les données. Lorsque vous utilisez Windows et le Code de Visual Studio très léger, il semble jamais vers la droite pour ouvrir SQL Server Management Studio, qui est léger n’est pas défini. Pour les autres bases de données, que ce soit sur les zones de Windows ou Mac, j’ai également utilisé JetBrains DataGrip (jetbrains.com/datagrip), un outil inter-plateformes de base de données qui prend en charge une série de bases de données.

Mais comme l’univers des extensions pour Visual Studio Code a atteint (juste avant de 3 000 comme je suis l’écriture en retard avril 2017), un nombre d’extensions pour interagir avec les magasins de données ont à la table. J’ai déjà travaillé avec deux constituent l’extension de mssql (bit.ly/2gb2ICf) à partir de l’équipe SQL Server ainsi que l’extension de base de données de vscode de SQLite et PostgreSQL (bit.ly/2mh8nYF). Permettent d’écrire et exécuter SQL vos bases de données. Vous pouvez voir des démonstrations des deux dans mon cours Pluralsight, « Entity Framework Core : Prise en main. » Il existe d’autres extensions liées aux données, ainsi, par exemple, pour interagir avec Azure Data Lake (également à partir de Microsoft), Redis et SalesForce des données. Certains d'entre eux sont toujours en version préliminaire, y compris l’extension de mssql.

Dans cet article, je vais vous montrer certains des notions de base de l’utilisation de l’extension mssql. Je prévu pour écrire sur mssql et vscode-base de données, mais mssql est donc riche en fonctionnalités, je possède un grand nombre de fun exploration remplie facilement mon des unités de mots pour cette colonne. Il ne fait aucune différence si vous êtes sous Windows, Mac OS ou Linux à utiliser mssql.

L’extension mssql vous permet d’interagir avec diverses bases de données SQL Server : Microsoft SQL Server, base de données SQL Azure et SQL Data Warehouse. Comme je se produire pour être assis devant un MacBook, je vous connectez à un serveur SQL externe. Vous savez que SQL Server s’exécute désormais sur Linux peut-être, qui n’est ne pas incroyable ? Cela signifie que vous pouvez lancer un conteneur Docker qui exécute SQL Server. Qui ne sont pas faire de cet article, mais j’ai écrit un billet de blog que vous pouvez lire au bit.ly/2qaev9r. Que seront faire, toutefois, est de vous connecter à une base de données Azure SQL Server dans le cloud. Il s’agit d’un rappel puissant que vous n’êtes pas obligé d’être un développeur Windows ou administrateur ou développeur c# pour tirer parti de SQL Server. Vous pouvez gérer sur le portail Azure et s’y connecter à partir de n’importe quel type d’application. Imaginez que votre application est PHP et vous utilisez l’extension PHP pour le Code de Visual Studio et ils s’adressent à une base de données SQL Server sur Azure. 

J’ai des avantages du compte Azure gratuit et crédits sont fournis avec un abonnement Visual Studio pour créer une base de données SQL Azure en fonction de l’exemple AdventureWorks. La documentation pour ce faire est à bit.ly/2o2IDTy.

Dans Visual Studio Code, vous pouvez installer l’extension mssql en cliquant sur l’icône d’extension dans la barre d’activité de Code Visual Studio, le filtrage sur mssql puis en cliquant sur le bouton Install. Vous êtes invité à recharger VS Code lorsqu’il est prêt, mais n’oubliez pas qu’il est différée jusqu'à ce que vous utilisez une de ses commandes, l’installation de partie de l’extension. Notez que pour macOS, vous devez installer OpenSSL. Consultez la documentation de mssql lien (fourni plus haut) pour plus d’informations.

Outre le moteur d’exécution de requête qui est installé, mssql place une série de commandes dans la palette de commandes Visual Studio Code. Il est judicieux pour démarrer en vous connectant à votre base de données, bien que les autres fonctions vous invitera à vous connecter si vous n’avez pas encore.

Ouvrez la palette avec F1 (ou Ctrl ou commande + MAJ + P si vous avez les claviers amusante sans les touches de fonction) et tapez MS SQL pour filtrer sur toutes les commandes mssql. Si vous n’avez pas toutes les extensions qui fournissent les commandes avec le mot clé SQL, SQL simplement fera l’affaire. C’est que vous pouvez même obtenir aider à des fichiers avec la commande de Guide de démarrage. Vous pouvez également stocker différentes connexions et vous connecter facilement avec la fonctionnalité de gérer les profils de connexion.

Le moyen le plus simple d’interagir avec mssql est en ouvrant un fichier pour la modification et s’assurer que Visual Studio Code ne sait que vous modifiez SQL. Vous pouvez effectuer cela si vous disposez d’un dossier ou un projet ouvert grâce à la nouvelle commande de requête. Qui crée un fichier SQLQuery.sql et l’extension sql entraîne le Code de Visual Studio pour basculer vers l’éditeur mssql. L’éditeur actuel est indiquée dans le coin inférieur droit de VS Code et ce change selon les extensions de fichier pour vous donner approprié IntelliSense et autres fonctionnalités pertinentes fournies par l’extension. Vous pouvez cliquer sur ce qui est affiché pour la modifier si nécessaire. L’éditeur de mssql n’enverrez pas uniquement de vous aide à l’écriture de TSQL, il sait également comment exécuter des requêtes et effectuer d’autres tâches définies par l’extension.

Avec un fichier SQL est ouvert dans l’éditeur, en sélectionnant MS SQL : Se connecter à partir de la Palette de commandes affiche une liste des profils de connexion existants vous avez déjà créé et vous permettent de créer un nouveau. Sélectionnez Créer un profil de connexion et que vous êtes invité pour chaque élément clé de la chaîne de connexion. Par exemple, la première invite demande le nom du serveur, comme indiqué dans Figure 1. Ma base de données SQL Azure se trouve sur un serveur nommé thedatafarmsqlerver.database.windows.net, c’est ce que je vais entrer.

Connexion à une base de données SQL avec l’Extension de mssql
Figure 1 connexion à une base de données SQL avec l’Extension mssql

Ensuite, vous êtes invité à entrer le nom de la base de données, votre connexion et le mot de passe, puis un nom de profil facultatif. Par ailleurs, gérer les profils de connexion peut aussi vous amener à ce stade car elle a une option de menu créer.

Une fois que vous venez de fournir les informations de connexion et que vous êtes connecté avec succès, le profil est enregistré dans le fichier de paramètres de VS Code. Avec la version 0,3, si la connexion échoue, le profil ne sont pas obtenir stocké ; mais cette expérience est sur le pont à modifier. Vous pouvez examiner le modèle stocké en accédant aux paramètres et préférences, dans le menu Visual Studio Code ou via la touche Ctrl ou commande +, liste déroulante de séquence de touches (virgule). Voici un exemple d’un profil de connexion :

"mssql.connections": [
  {
    "authenticationType": "SqlLogin",
    "server": "thedatafarmsqlserver.database.windows.net",
    "database": "AdventureWorksSample",
    "user": "me",
    "password": "mypassword",
    "savePassword": true,
    "profileName": "AzureAWSample"}
  }
]

Avec des profils stockées dans les paramètres, vous pouvez sélectionner AzureAWSample ou autres profils stockées lorsque vous souhaitez vous connecter.

Une fois connecté, vous pouvez démarrer l’écriture et l’exécution de TSQL. Pour ce faire, le plus simple consiste à ouvrir un fichier avec l’extension SQL dans l’éditeur. Comme indiqué, cela force les fonctionnalités de l’éditeur SQL s’active et une de ses fonctionnalités merveilleuses est les extraits de code TSQL intégrés.

Commencez par taper sql dans la fenêtre de l’éditeur et IntelliSense affiche la liste des extraits de code intégrés, comme indiqué dans Figure 2.

TSQL des extraits de code fourni par l’extension mssql
Figure 2 TSQL des extraits de code fourni par l’extension mssql

Vous pouvez voir que ce n’est pas limité à l’interrogation simplement les données existantes : mssql exécutera aucun TSQL (valide et autorisée). J’aime répertorier les bases de données ou les tables et les vues à partir d’une base de données sélectionnée pour vérifier que j’ai connecté à la base de données, et que l’extrait de code ListTablesAndViews est très utile qui. Je devrais normalement, demandez à la récupération d’urgence. GoogleBing m’aider à avec TSQL comme suit, je vais très importants dans cet extrait de code.

En appuyant sur Ctrl ou commande + MAJ + E exécute la commande. Vous pouvez également sélectionner le texte et avec le bouton droit pour le menu contextuel, qui inclut une option d’exécution.

Ouvre un volet de résultats avec la réponse comme celle de Figure 3.

Résultats d’une requête de schéma
Figure 3 résultats d’une requête de schéma

Dans le coin supérieur droit, notez deux petites icônes. La première vous permet d’enregistrer les résultats dans un fichier texte CSV. Le deuxième est pour enregistrer les résultats au format JSON. Supposons une requête qui extrait les données du client, consultez ce que les résultats de l’aspect, puis les enregistrement au format JSON. Avec la liste des tables devant me, je peux commencer à taper ma requête et, en tant que Figure 4 montre, plaisir IntelliSense avec le schéma de la base de données.

IntelliSense lit le schéma et vous aide à constituer TSQL
Figure 4 IntelliSense lit le schéma et vous aide à constituer TSQL

J’ai modifié mon instruction select pour obtenir les trois colonnes à partir de SalesLT.Customer. Ensuite, je n’a pu mettre en surbrillance l’instruction et de réutiliser le raccourci clavier Ctrl ou commande + MAJ + E pour exécuter simplement cette requête. Comme avec SQL Server Management Studio, je peux exécuter une ou plusieurs instructions et, en réponse, consultez un ou plusieurs jeux de résultats.

Les résultats sont présentés dans une grille, comme indiqué dans Figure 5. Vous pouvez mettre en surbrillance une ou plusieurs combinaisons de lignes et de colonnes et puis cliquez sur les icônes CSV ou JSON, puis vous invite à entrer un nom de fichier de destination. Et vous pouvez facilement sélectionner toutes les données à partir d’un menu contextuel en cliquant sur la grille.

Résultats d’une requête de données client
Figure 5 résultats d’une requête de données client

L’invite de nom de fichier affiche le chemin d’accès du dossier actuel. Si tel est l’où vous souhaitez enregistrer le fichier, il est inutile à taper le chemin d’accès. Tapez simplement le nom du fichier et il sera enregistré dans le dossier. Je n’a pas été Sachez que les premières fois, en savoir plus, à partir de mon erreur.

J’ai sélectionné uniquement la première ligne des données client ma requête projeté et ensuite utilisé l’enregistrement à l’icône JSON, en spécifiant un nom de fichier. Voici le fichier JSON qui a été envoyé à mon fichier :

[
  {
    "CustomerID": "1",
    "FirstName": "Orlando",
    "LastName": "Gee"
  }
]

Gardez à l’esprit que vous pouvez facilement ajouter vos propres extraits de code de Visual Studio. Nous allons créer une liste des fonctions et procédures stockées. Démarrez en accédant aux préférences et les extraits de code utilisateur. Vous verrez que l’extension mssql ajouté à un modèle pour les extraits de code SQL. Choisissez qui et le modèle vide seront ouvre. Lorsque vous ajoutez plusieurs extraits de code, vous allez continuer à travailler dans ce fichier. En outre, si vous avez créé des extraits de code pour partager (ou peut-être trouver un bogue ou avoir une autre idée de mssql), il s’agit d’une extension open source, et vous pouvez contribuer en accédant à github.com/Microsoft/vscode-mssql pour soumettre des requêtes d’extraction ou de problèmes.

Après la durée pendant laquelle une session avec Dr. GoogleBing et tester différentes idées, ici l’extrait de code que j’ai créé pour répertorier toutes les procédures stockées et fonctions dans la base de données cible :

"List Stored Procedures": {
  "prefix": "sqlListStoredProcedures",
  "body": [
    "SELECT [Name],[Type_Desc] " ,
    "FROM [sys].[all_objects] " ,
    "WHERE ([Type] = 'P' OR [Type]='FN' OR [Type]='TF' OR [Type]='IF') ",
    "AND [Is_MS_Shipped] = 0"
  ],
  "description": "List Stored Procedures"
}

Lorsque vous tapez sql dans la fenêtre de l’éditeur, sqlListStoreProcedures est maintenant l’une des options. Les résultats de l’exécution de cette commande sur ma base de données cible sont :

Name                         Type_Desc
uspPrintError                SQL_STORED_PROCEDURE
uspLogError                  SQL_STORED_PROCEDURE
ufnGetAllCategories          SQL_TABLE_VALUED_FUNCTION
ufnGetSalesOrderStatusText   SQL_SCALAR_FUNCTION
ufnGetCustomerInformation    SQL_INLINE_TABLE_VALUED_FUNCTION

J’ai réussi à partager cette sortie en cliquant sur la grille de résultats et en sélectionnant son option « Copie avec des en-têtes ».

Comme la nuit télévision annonces par exemple, « mais d’attendre ! Il est plus ! » La fenêtre de l’éditeur a un menu contextuel (consultez Figure 6).

Menu contextuel de fenêtre d’éditeur
Menu de contexte de la fenêtre Éditeur de la figure 6

Les éléments plus intéressantes sur celui-ci (dans mon avis modeste) sont atteindre la définition et l’aperçu de définition. Si vous sélectionnez un nom de table dans la fenêtre d’édition, par exemple, le client dans la commande indiquée dans Figure 5: ces commandes affiche le script de création pour la table customer.

L’extension mssql est en constante évolution et j’espère pour les futures mises à jour. La version que j’ai partagé ici est toujours un aperçu, version 0.3.0. Si vous avez installé dans le Code de Visual Studio, vous serez averti des mises à jour. Vous pouvez regarder et participer à son évolution sur son site GitHub aka.ms/mssql-marketplace.


Julie Lermanest directeur régional Microsoft, Microsoft MVP, responsable d’équipe de logiciel et consultant qui réside dans le creux du Vermont. Vous trouverez sa présentation sur l’accès aux données et d’autres rubriques dans les groupes d’utilisateurs et des conférences dans le monde entier. Blogs she à adresse thedatafarm.com/blog et est l’auteur de « Programming Entity Framework », ainsi que d’un Code First et une édition DbContext, à partir d’o ' Reilly Media. Suivre sur Twitter : @julielerman et voir son cours Pluralsight à juliel.me/PS-vidéos.

Merci aux experts techniques Microsoft suivants d'avoir relu cet article : Kevin Cunnane, Eric Kang et Sanjay Nagamangalam