Utiliser des données dans Visual Studio

Dans Visual Studio, vous pouvez créer des applications qui se connectent à des données dans pratiquement n’importe quel produit ou service de base de données, dans n’importe quel format, n’importe où—sur un ordinateur local, sur un réseau local ou dans un cloud public, privé ou hybride.

Pour les applications en JavaScript, Python, PHP, Ruby ou C++, vous vous connectez aux données comme vous le faites pour toute autre chose, en obtenant des bibliothèques et en écrivant du code. Pour les applications .NET, Visual Studio fournit des outils que vous pouvez utiliser pour explorer les sources de données, créer des modèles objet pour stocker et manipuler des données en mémoire, et lier des données à l’interface utilisateur. Microsoft Azure fournit des kits SDK pour .NET, Java, Node.js, PHP, Python, Ruby et des applications mobiles, ainsi que des outils dans Visual Studio pour la connexion au stockage Azure.

Les listes suivantes montrent seulement quelques-uns des nombreux systèmes de base de données et de stockage qui peuvent être utilisés à partir de Visual Studio. Les offres Microsoft Azure sont des services de données qui incluent l’approvisionnement et l’administration du magasin de données sous-jacent. La charge de travail développement Azure dans Visual Studio vous permet d’utiliser des magasins de données Azure directement à partir de Visual Studio.

Charge de travail de développement Azure

La plupart des autres produits de base de données SQL et NoSQL répertoriés ici peuvent être hébergés sur un ordinateur local, sur un réseau local ou dans Microsoft Azure sur une machine virtuelle. Si vous hébergez la base de données dans une machine virtuelle Microsoft Azure, vous êtes responsable de la gestion de la base de données elle-même.

Microsoft Azure

  • Base de données SQL
  • Azure Cosmos DB
  • Stockage (objets blob, tables, files d’attente, fichiers)
  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Et bien plus...

SQL

  • SQL Server 2005-2016 (y compris Express et LocalDB)
  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Et bien plus...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Et bien plus...

De nombreux fournisseurs de base de données et tiers prennent en charge l’intégration de Visual Studio par les packages NuGet. Vous pouvez explorer les offres sur nuget.org ou via le Gestionnaire de package NuGet dans Visual Studio (Outils>Gestionnaire de package NuGet>Gérer les packages NuGet pour la solution). D’autres produits de base de données s’intègrent à Visual Studio en tant qu’extension. Vous pouvez parcourir ces offres dans Visual Studio Marketplace ou en accédant à Extensions>Gérer les extensions, puis en sélectionnant En ligne dans le volet gauche de la boîte de dialogue. Pour plus d’informations, consultez Systèmes de base de données compatibles pour Visual Studio.

En utilisant Visual Studio Connected Services, vous pouvez simplifier le processus d’ajout de la prise en charge des bases de données à vos projets.

Pour SQL Server scénarios que nous prenons en charge via les services connectés :

  • SQL Server local. Dans ce scénario, vous installez SQL Server quelque part sur votre réseau local et vous y connectez.
  • SQL Server sur votre ordinateur local. Dans ce scénario, vous installez SQL Server sur votre ordinateur local et vous y connectez.
  • SQL Server Express LocalDB. Vous n’installez rien d’autre que Visual Studio ; vous vous y connectez simplement.
  • SQL Server Express LocalDB sur le conteneur. LocalDB comme dans l’option précédente, mais à l’intérieur d’un conteneur local.
  • Base de données Azure SQL Server. Connectez-vous au service en cours d’exécution dans Azure.

Pour les autres technologies liées aux données, Visual Studio 2022 prend en charge les éléments suivants :

  • Stockage Azure (local et distant)
  • Azure Cosmos DB (local et distant)
  • SQLite (option locale uniquement)
  • PostgreSQL sur le conteneur (option locale uniquement)
  • MongoDB sur le conteneur (option locale uniquement)

Outre les Services connectés, les listes suivantes montrent quelques-uns des nombreux systèmes de base de données et de stockage qui peuvent être utilisés à partir de Visual Studio. Les offres Microsoft Azure sont des services de données qui incluent l’approvisionnement et l’administration du magasin de données sous-jacent. La charge de travail développement Azure dans Visual Studio vous permet d’utiliser des magasins de données Azure directement à partir de Visual Studio.

Charge de travail de développement Azure

La plupart des autres produits de base de données SQL et NoSQL répertoriés ici peuvent être hébergés sur un ordinateur local, sur un réseau local ou dans Microsoft Azure sur une machine virtuelle. Si vous hébergez la base de données dans une machine virtuelle Microsoft Azure, vous êtes responsable de la gestion de la base de données elle-même.

Microsoft Azure

  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Et bien plus...

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • Et bien plus...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Et bien plus...

Notes

Le support étendu pour SQL Server 2005 a pris fin le 12 avril 2016. Il n’existe aucune garantie que les outils de données dans Visual Studio 2015 et versions ultérieures continueront à fonctionner avec SQL Server 2005. Pour plus d'informations, consultez l'annonce de fin de support pour SQL Server 2005.

Langages .NET

La technologie d’accès aux données décrite dans la documentation Visual Studio utilise ADO.NET. ADO.NET est un framework d’accès aux données hérité et n’est pas recommandé pour les applications de données modernes. Nous vous recommandons de cibler .NET Core, ou .NET 5 et versions ultérieures et d’utiliser Entity Framework Core pour le développement de l’accès aux données.

ADO.NET est un ensemble de classes qui définit une interface pour accéder à n’importe quel type de source de données, relationnelles et non relationnelles. Visual Studio dispose de plusieurs outils et concepteurs qui fonctionnent avec ADO.NET pour vous aider à vous connecter aux bases de données, à manipuler les données et à les présenter à l’utilisateur. La documentation de cette section explique comment utiliser ces outils. Vous pouvez également programmer directement sur les objets de commande ADO.NET. Pour plus d’informations sur l’appel direct des API ADO.NET, consultez ADO.NET.

Pour obtenir la documentation sur l’accès aux données liée à ASP.NET, consultez Utilisation des données sur le site ASP.NET. Pour obtenir un tutoriel sur l'utilisation d'Entity Framework avec ASP.NET modèle-vue-contrôleur, consultez Prise en main avec Entity Framework 6 Code First à l'aide de MVC 5.

Les applications de plateforme Windows universelle (UWP) en C# ou Visual Basic peuvent utiliser le Kit de développement logiciel (SDK) Microsoft Azure pour .NET pour accéder au stockage Azure et à d’autres services Azure. La classe Windows.Web.HttpClient permet la communication avec n’importe quel service RESTful. Pour plus d’informations, consultez Comment se connecter à un serveur HTTP à l’aide de Windows.Web.Http.

Pour le stockage de données sur l’ordinateur local, l’approche recommandée consiste à utiliser SQLite, qui s’exécute dans le même processus que l’application. Si une couche de mappage objet-relationnel (ORM) est requise, vous pouvez utiliser Entity Framework. Pour plus d’informations, voir Accès aux données dans le Centre de développement Windows.

Si vous vous connectez aux services Azure, veillez à télécharger les derniers outils SDK Azure.

Fournisseurs de données

Pour qu’une base de données soit consommable dans ADO.NET, elle doit avoir un fournisseur de données ADO.NET personnalisé ou doit exposer une interface ODBC ou OLE DB. Microsoft fournit une liste des fournisseurs de données ADO.NET pour les produits SQL Server, ainsi que des fournisseurs ODBC et OLE DB.

Notes

Si vous utilisez Visual Studio pour vous connecter à des bases de données à l’aide de fournisseurs de données OLEDB ou ODBC, vous devrez savoir que les versions de Visual Studio antérieures à Visual Studio 2022 sont toutes des processus 32 bits. Cela signifie que certains outils de données de Visual Studio pourront uniquement se connecter à des bases de données OLEDB ou ODBC à l’aide de fournisseurs de données 32 bits. Cela concerne le fournisseur de données OLEDB 32 bits Microsoft Access, ainsi que d’autres fournisseurs 32 bits tiers.

Si vous utilisez Visual Studio 2022 pour vous connecter aux bases de données, vous devrez savoir que Visual Studio 2022 est un processus 64 bits. Cela signifie que certains outils de données de Visual Studio ne pourront pas se connecter aux bases de données OLEDB ou ODBC à l’aide de fournisseurs de données 32 bits.

Si vous devez conserver des applications 32 bits qui se connectent à des bases de données OLEDB ou ODBC, vous pourrez toujours générer et exécuter l’application avec Visual Studio 2022. Toutefois, si vous devez utiliser l’un des outils de données Visual Studio, tels que l’Explorateur de serveurs, l’Assistant Source de données ou le Concepteur de jeu de données, vous devrez utiliser une version antérieure de Visual Studio dont le processus est toujours 32 bits. La dernière version de Visual Studio qui était un processus 32 bits était Visual Studio 2019.

Si vous envisagez de convertir le projet en processus 64 bits, il est recommandé d'utiliser le moteur de base de données Microsoft Access 64 bits, également appelé Moteur de connectivité Access (ACE). Pour plus d’informations, consultez Fournisseur OLEDB pour Jet et pilote ODBC sont des versions 32 bits uniquement.

modélisation de données ;

Dans .NET, vous avez trois choix pour modéliser et manipuler des données en mémoire après les avoir récupérées à partir d’une source de données :

Entity Framework La technologie MICROSOFT ORM préférée. Vous pouvez l’utiliser pour programmer des données relationnelles en tant qu’objets .NET de première classe. Pour les nouvelles applications, il doit s’agir du premier choix par défaut lorsqu’un modèle est requis. Cela nécessite une prise en charge personnalisée du fournisseur de ADO.NET sous-jacent.

LINQ to SQL Mappeur relationnel objet de génération antérieure. Il fonctionne bien pour les scénarios moins complexes, mais n’est plus en développement actif.

Jeux de données La plus ancienne des trois technologies de modélisation. Il est principalement conçu pour le développement rapide d’applications « formulaires sur données » dans lesquelles vous ne traitez pas d’énormes quantités de données ou n’effectuez pas de requêtes ou de transformations complexes. Un objet DataSet se compose d'objets DataTable et DataRow qui ressemblent logiquement à des objets de base de données SQL bien plus qu'à des objets .NET. Pour les applications relativement simples basées sur des sources de données SQL, les jeux de données peuvent toujours être un bon choix.

Il n’est pas nécessaire d’utiliser l’une de ces technologies. Dans certains scénarios, en particulier lorsque les performances sont critiques, vous pouvez simplement utiliser un objet DataReader pour lire à partir de la base de données et copier les valeurs dont vous avez besoin dans un objet de collection tel que List<T>.

C++ natif

Les applications C++ qui se connectent à SQL Server doivent utiliser Microsoft® ODBC Driver 13.1 pour SQL Server dans la plupart des cas. Si les serveurs sont liés, OLE DB est nécessaire et pour cela, vous utilisez le SQL Server Native Client. Vous pouvez accéder à d’autres bases de données à l’aide de pilotes ODBC ou OLE DB directement. ODBC est l’interface de base de données standard actuelle, mais la plupart des systèmes de base de données fournissent des fonctionnalités personnalisées qui ne sont pas accessibles via l’interface ODBC. OLE DB est une technologie d’accès aux données COM héritée qui est toujours prise en charge, mais non recommandée pour les nouvelles applications. Pour plus d’informations, consultez Accès aux données dans Visual C++.

Les programmes C++ qui consomment des services REST peuvent utiliser le SDK REST C++.

Les programmes C++ qui fonctionnent avec Stockage Microsoft Azure peuvent utiliser le client Stockage Microsoft Azure.

Modélisation des données : Visual Studio ne fournit pas de couche ORM pour C++. ODB est un ORM open source populaire pour C++.

Pour en savoir plus sur la connexion aux bases de données à partir d’applications C++, consultez Outils de données Visual Studio pour C++. Pour plus d’informations sur les technologies d’accès aux données héritées de Visual C++, consultez Accès aux données.

JavaScript

JavaScript dans Visual Studio est un langage de première classe permettant de créer des applications multi-plateformes, des applications UWP, des services cloud, des sites web et des applications web. Vous pouvez utiliser Bower, Grunt, Gulp, npm et NuGet à partir de Visual Studio pour installer vos bibliothèques JavaScript et vos produits de base de données préférés. Connectez-vous au stockage Azure et aux services Azure en téléchargeant les kits SDK à partir du site web Azure. Edge.js est une bibliothèque qui connecte JavaScript côté serveur (Node.js) à ADO.NET sources de données.

Python

Installez Prise en charge de Python dans Visual Studio pour créer des applications Python. La documentation Azure propose plusieurs tutoriels sur la connexion aux données, notamment les suivants :

Plateforme Microsoft AI : offre une introduction au cloud intelligent Microsoft, notamment Cortana Analytics Suite et la prise en charge de l’Internet des objets.

Stockage Microsoft Azure : décrit le stockage Azure et explique comment créer des applications à l’aide d’objets blob, de tables, de files d’attente et de fichiers Azure.

Azure SQL Database : décrit comment se connecter à Azure SQL Database, une base de données relationnelle en tant que service.

SQL Server Data Tools : décrit les outils qui simplifient la conception, l’exploration, le test et le déploiement d’applications et de bases de données connectées aux données.

ADO.NET : décrit l’architecture de ADO.NET et comment utiliser les classes ADO.NET pour gérer les données d’application et interagir avec les sources de données et XML.

ADO.NET Entity Framework : décrit comment créer des applications de données qui permettent aux développeurs de programmer sur un modèle conceptuel plutôt que directement sur une base de données relationnelle.

WCF Data Services 4.5 : décrit comment utiliser WCF Data Services pour déployer des services de données sur le web ou un intranet qui implémente le protocole OData (Open Data Protocol).

Données dans les solutions Office : contient des liens vers des rubriques qui expliquent le fonctionnement des données dans les solutions Office. Cela inclut des informations sur la programmation orientée schéma, la mise en cache des données et l’accès aux données côté serveur.

LINQ (Language Integrated Query) : décrit les fonctionnalités de requête intégrées à C# et Visual Basic, ainsi que le modèle courant d'interrogation de bases de données relationnelles, de documents XML, de jeux de données et de collections en mémoire.

Outils XML dans Visual Studio : traite de l’utilisation des données XML, du débogage de XSLT, des fonctionnalités XML .NET et de l’architecture de la requête XML.

Documents et données XML : fournit une vue d’ensemble d’un ensemble complet et intégré de classes qui fonctionnent avec des documents et des données XML dans .NET.