Acceder a datos en Visual StudioAccess data in Visual Studio

En Visual Studio, puede crear aplicaciones que se conecten a datos en prácticamente cualquier producto o servicio de base de datos, en cualquier formato y en cualquier lugar: en un equipo local, en una red de área local o en una nube pública, privada o híbrida.In Visual Studio, you can create applications that connect to data in virtually any database product or service, in any format, anywhere—on a local machine, on a local area network, or in a public, private, or hybrid cloud.

En el caso de las aplicaciones de JavaScript, Python, PHP C++, Ruby o, se conecta a los datos de la misma forma que hace nada más, mediante la obtención de bibliotecas y la escritura de código.For applications in JavaScript, Python, PHP, Ruby, or C++, you connect to data like you do anything else, by obtaining libraries and writing code. En el caso de las aplicaciones .NET, Visual Studio proporciona herramientas que puede usar para explorar orígenes de datos, crear modelos de objetos para almacenar y manipular datos en memoria y enlazar datos a la interfaz de usuario.For .NET applications, Visual Studio provides tools that you can use to explore data sources, create object models to store and manipulate data in memory, and bind data to the user interface. Microsoft Azure proporciona SDK para .NET, Java, node. js, PHP, Python, Ruby y Mobile Apps, y herramientas de Visual Studio para conectarse a Azure Storage.Microsoft Azure provides SDKs for .NET, Java, Node.js, PHP, Python, Ruby, and mobile apps, and tools in Visual Studio for connecting to Azure Storage.

En las listas siguientes se muestran solo algunos de los diversos sistemas de base de datos y almacenamiento que se pueden usar desde Visual Studio.The following lists show just a few of the many database and storage systems that can be used from Visual Studio. Las ofertas Microsoft Azure son servicios de datos que incluyen todo el aprovisionamiento y la administración del almacén de datos subyacente.The Microsoft Azure offerings are data services that include all provisioning and administration of the underlying data store. La carga de trabajo de desarrollo de Azure en Visual Studio 2017 le permite trabajar con almacenes de datos de Azure directamente desde Visual Studio.The Azure development workload in Visual Studio 2017 enables you to work with Azure data stores directly from Visual Studio.

Carga de trabajo Desarrollo de Azure

La mayoría de los demás productos de base de datos SQL y NoSQL que se enumeran aquí se pueden hospedar en un equipo local, en una red local o en Microsoft Azure en una máquina virtual.Most of the other SQL and NoSQL database products that are listed here can be hosted on a local machine, on a local network, or in Microsoft Azure on a virtual machine. Si hospeda la base de datos en una máquina virtual Microsoft Azure, es responsable de administrar la propia base de datos.If you host the database in a Microsoft Azure virtual machine, you're responsible for managing the database itself.

Microsoft AzureMicrosoft Azure

  • SQL DatabaseSQL Database
  • Azure Cosmos DBAzure Cosmos DB
  • Almacenamiento (blobs, tablas, colas, archivos)Storage (blobs, tables, queues, files)
  • SQL Data WarehouseSQL Data Warehouse
  • SQL Server Stretch DatabaseSQL Server Stretch Database
  • StorSimpleStorSimple
  • Y mucho más...And more...

SQLSQL

  • SQL Server 2005-2016 (incluye Express y LocalDB)SQL Server 2005-2016 (includes Express and LocalDB)
  • FirebirdFirebird
  • MariaDBMariaDB
  • MySQLMySQL
  • OracleOracle
  • PostgreSQLPostgreSQL
  • SQLiteSQLite
  • Y mucho más...And more...

NoSQLNoSQL

  • Apache CassandraApache Cassandra
  • CouchDBCouchDB
  • MongoDBMongoDB
  • NDatabaseNDatabase
  • OrientDB|OrientDB|
  • RavenDBRavenDB
  • VelocityDBVelocityDB
  • Y mucho más...And more...

Muchos proveedores de bases de datos y terceros admiten la integración de Visual Studio mediante paquetes de NuGet.Many database vendors and third parties support Visual Studio integration by NuGet packages. Puede explorar las ofertas en nuget.org o a través del administrador de paquetes NuGet en Visual Studio (herramientas > Administrador de paquetes Nuget > administrar paquetes Nuget para la solución).You can explore the offerings on nuget.org or through the NuGet Package Manager in Visual Studio (Tools > NuGet Package Manager > Manage NuGet Packages for Solution). Otros productos de base de datos se integran con Visual Studio como una extensión.Other database products integrate with Visual Studio as an extension. Puede examinar estas ofertas en el Visual Studio Marketplace o desplazándose hasta herramientas > extensiones y actualizaciones y, a continuación, seleccionando en línea en el panel izquierdo del cuadro de diálogo.You can browse these offerings in the Visual Studio Marketplace or by navigating to Tools > Extensions and Updates and then selecting Online in the left pane of the dialog box. Para obtener más información, vea sistemas de base de datos compatibles para Visual Studio.For more information, see Compatible database systems for Visual Studio.

Muchos proveedores de bases de datos y terceros admiten la integración de Visual Studio mediante paquetes de NuGet.Many database vendors and third parties support Visual Studio integration by NuGet packages. Puede explorar las ofertas en nuget.org o a través del administrador de paquetes NuGet en Visual Studio (herramientas > Administrador de paquetes Nuget > administrar paquetes Nuget para la solución).You can explore the offerings on nuget.org or through the NuGet Package Manager in Visual Studio (Tools > NuGet Package Manager > Manage NuGet Packages for Solution). Otros productos de base de datos se integran con Visual Studio como una extensión.Other database products integrate with Visual Studio as an extension. Puede examinar estas ofertas en el Visual Studio Marketplace o desplazándose hasta extensiones > administrar extensiones y seleccionando en línea en el panel izquierdo del cuadro de diálogo.You can browse these offerings in the Visual Studio Marketplace or by navigating to Extensions > Manage Extensions and then selecting Online in the left pane of the dialog box. Para obtener más información, vea sistemas de base de datos compatibles para Visual Studio.For more information, see Compatible database systems for Visual Studio.

Note

El soporte extendido para SQL Server 2005 finalizó el 12 de abril de 2016.Extended support for SQL Server 2005 ended on April 12, 2016. No hay ninguna garantía de que las herramientas de datos de Visual Studio 2015 y versiones posteriores seguirán funcionando con SQL Server 2005.There is no guarantee that data tools in Visual Studio 2015 and later will continue to work with SQL Server 2005. Para obtener más información, consulte el anuncio de final de soporte técnico para SQL Server 2005.For more information, see the end-of-support announcement for SQL Server 2005.

Lenguajes .NET.NET languages

Todo el acceso a datos de .NET, incluido en .NET Core, se basa en ADO.NET, un conjunto de clases que define una interfaz para tener acceso a cualquier tipo de origen de datos, tanto relacionales como no relacionales.All .NET data access, including in .NET Core, is based on ADO.NET, a set of classes that defines an interface for accessing any kind of data source, both relational and non-relational. Visual Studio tiene varias herramientas y diseñadores que funcionan con ADO.NET para ayudarle a conectarse a bases de datos, manipular los datos y presentar los datos al usuario.Visual Studio has several tools and designers that work with ADO.NET to help you connect to databases, manipulate the data, and present the data to the user. En la documentación de esta sección se describe cómo usar esas herramientas.The documentation in this section describes how to use those tools. También puede programar directamente con los objetos de comando ADO.NET.You can also program directly against the ADO.NET command objects. Para obtener más información sobre cómo llamar directamente a las API de ADO.NET, consulte ADO.net.For more information about calling the ADO.NET APIs directly, see ADO.NET.

Para obtener documentación sobre el acceso a datos relacionado con ASP.NET, consulte trabajar con datos en el sitio de ASP.net.For data-access documentation related to ASP.NET, see Working with Data on the ASP.NET site. Para ver un tutorial sobre el uso de Entity Framework con ASP.NET MVC, consulte Introducción con Entity Framework 6 Code First con MVC 5.For a tutorial on using Entity Framework with ASP.NET MVC, see Getting Started with Entity Framework 6 Code First using MVC 5.

Las aplicaciones Plataforma universal de Windows (UWP) C# en o Visual Basic pueden usar el Microsoft Azure SDK para .net para acceder a Azure Storage y a otros servicios de Azure.Universal Windows Platform (UWP) apps in C# or Visual Basic can use the Microsoft Azure SDK for .NET to access Azure Storage and other Azure services. La clase Windows. Web. HttpClient permite la comunicación con cualquier servicio RESTful.The Windows.Web.HttpClient class enables communication with any RESTful service. Para obtener más información, consulte cómo conectarse a un servidor http mediante Windows. Web. http.For more information, see How to connect to an HTTP server using Windows.Web.Http.

En el caso del almacenamiento de datos en el equipo local, el enfoque recomendado es usar SQLite, que se ejecuta en el mismo proceso que la aplicación.For data storage on the local machine, the recommended approach is to use SQLite, which runs in the same process as the app. Si se requiere una capa de asignación relacional de objetos (ORM), puede usar Entity Framework.If an object-relational mapping (ORM) layer is required, you can use Entity Framework. Para obtener más información, vea acceso a datos en el centro para desarrolladores de Windows.For more information, see Data access in the Windows Developer Center.

Si va a conectarse a los servicios de Azure, asegúrese de descargar las últimas herramientas de Azure SDK.If you are connecting to Azure services, be sure to download the latest Azure SDK tools.

Proveedores de datosData providers

Para que una base de datos se pueda usar en ADO.NET, debe tener un proveedor de datos ADO.net personalizado, o bien debe exponer una interfaz ODBC o OLE DB.For a database to be consumable in ADO.NET, it must have a custom ADO.NET data provider or else must expose an ODBC or OLE DB interface. Microsoft proporciona una lista de proveedores de datos de ADO.net para productos SQL Server, así como proveedores de OLE DB y ODBC.Microsoft provides a list of ADO.NET data providers for SQL Server products, as well as ODBC and OLE DB providers.

Modelado de datosData modeling

En .NET, dispone de tres opciones para el modelado y la manipulación de datos en la memoria después de haberlos recuperado de un origen de datos:In .NET, you have three choices for modeling and manipulating data in memory after you have retrieved it from a data source:

Entity Framework La tecnología de Microsoft ORM preferida.Entity Framework The preferred Microsoft ORM technology. Puede utilizarlo para programar datos relacionales como objetos de primera clase .NET.You can use it to program against relational data as first-class .NET objects. En el caso de las aplicaciones nuevas, debe ser la primera opción predeterminada cuando se requiere un modelo.For new applications, it should be the default first choice when a model is required. Requiere compatibilidad personalizada del proveedor ADO.NET subyacente.It requires custom support from the underlying ADO.NET provider.

LINQ to SQL Un asignador relacional de objetos de generación anterior.LINQ to SQL An earlier-generation object-relational mapper. Funciona bien en escenarios menos complejos, pero ya no está en desarrollo activo.It works well for less complex scenarios but is no longer in active development.

Conjuntos de valores La más antigua de las tres tecnologías de modelado.Datasets The oldest of the three modeling technologies. Está diseñado principalmente para el desarrollo rápido de aplicaciones de "formularios sobre datos" en las que no se procesan grandes cantidades de datos o se realizan consultas o transformaciones complejas.It is designed primarily for rapid development of "forms over data" applications in which you are not processing huge amounts of data or performing complex queries or transformations. Un objeto DataSet se compone de objetos DataTable y DataRow que se parecen lógicamente a objetos de base de datos SQL, mucho más que objetos .NET.A DataSet object consists of DataTable and DataRow objects that logically resemble SQL database objects much more than .NET objects. En el caso de aplicaciones relativamente sencillas basadas en orígenes de datos SQL, es posible que los conjuntos de datos sigan siendo una buena elección.For relatively simple applications based on SQL data sources, datasets might still be a good choice.

No es necesario usar ninguna de estas tecnologías.There is no requirement to use any of these technologies. En algunos escenarios, especialmente cuando el rendimiento es crítico, puede simplemente usar un objeto DataReader para leer de la base de datos y copiar los valores que necesita en un objeto de colección, como la lista <T >.In some scenarios, especially where performance is critical, you can simply use a DataReader object to read from the database and copy the values that you need into a collection object such as List<T>.

C++ nativoNative C++

C++las aplicaciones que se conectan a SQL Server deben usar el controlador ODBC de Microsoft® 13,1 para SQL Server en la mayoría de los casos.C++ applications that connect to SQL Server should use the Microsoft® ODBC Driver 13.1 for SQL Server in most cases. Si los servidores están vinculados, OLE DB es necesario y, para ello, se usa el SQL Server Native Client.If the servers are linked, then OLE DB is necessary and for that you use the SQL Server Native Client. Puede tener acceso a otras bases de datos mediante los controladores ODBC o OLE DB directamente.You can access other databases by using ODBC or OLE DB drivers directly. ODBC es la interfaz de base de datos estándar actual, pero la mayoría de los sistemas de base de datos proporcionan funcionalidad personalizada a la que no se puede tener acceso a través de la interfaz ODBC.ODBC is the current standard database interface, but most database systems provide custom functionality that can't be accessed through the ODBC interface. OLE DB es una tecnología de acceso a datos COM heredada que todavía se admite pero no se recomienda para las nuevas aplicaciones.OLE DB is a legacy COM data-access technology that is still supported but not recommended for new applications. Para obtener más información, vea acceso a datos C++en Visual .For more information, see Data Access in Visual C++.

C++los programas que consumen servicios REST pueden usar el C++ SDK de REST.C++ programs that consume REST services can use the C++ REST SDK.

C++los programas que funcionan con Microsoft Azure Storage pueden utilizar el cliente de Microsoft Azure Storage.C++ programs that work with Microsoft Azure Storage can use the Microsoft Azure Storage Client.

El modelado de datos —Visual Studio no proporciona una capa C++ORM para.Data modeling—Visual Studio does not provide an ORM layer for C++. ODB es un conocido ORM de código abierto para C++.ODB is a popular open-source ORM for C++.

Para obtener más información sobre cómo conectarse a bases de C++ datos desde aplicaciones de, vea Visual Studio C++Data Tools para .To learn more about connecting to databases from C++ apps, see Visual Studio data tools for C++. Para obtener más información sobre las C++ tecnologías de acceso a datos de Visual heredado, vea acceso a datos.For more information about legacy Visual C++ data-access technologies, see Data Access.

JavaScriptJavaScript

JavaScript en Visual Studio es un lenguaje de primera clase para compilar aplicaciones multiplataforma, aplicaciones para UWP, servicios en la nube, sitios web y aplicaciones Web.JavaScript in Visual Studio is a first-class language for building cross-platform apps, UWP apps, cloud services, websites, and web apps. Puede usar Bower, impesado, Gulp, NPM y NuGet desde Visual Studio para instalar sus bibliotecas de JavaScript y productos de base de datos favoritos.You can use Bower, Grunt, Gulp, npm, and NuGet from within Visual Studio to install your favorite JavaScript libraries and database products. Para conectarse a Azure Storage y a los servicios, descargue los SDK desde el sitio web de Azure.Connect to Azure storage and services by downloading SDKs from the Azure website. Edge. js es una biblioteca que conecta JavaScript del lado servidor (node. js) con los orígenes de datos de ADO.NET.Edge.js is a library that connects server-side JavaScript (Node.js) to ADO.NET data sources.

Plantillas dePython

Instale la compatibilidad con Python en Visual Studio para crear aplicaciones de Python.Install Python support in Visual Studio to create Python applications. La documentación de Azure incluye varios tutoriales sobre la conexión a datos, entre los que se incluyen los siguientes:The Azure documentation has several tutorials on connecting to data, including the following:

Microsoft AI platform —Provides una introducción a la nube inteligente de Microsoft, incluido el conjunto de análisis de Cortana y compatibilidad con Internet de las cosas.Microsoft AI platform—Provides an introduction to the Microsoft intelligent cloud, including Cortana Analytics Suite and support for Internet of Things.

Microsoft Azure Storage —Describes Azure Storage y cómo crear aplicaciones con blobs, tablas, colas y archivos de Azure.Microsoft Azure Storage—Describes Azure Storage, and how to create applications by using Azure blobs, tables, queues, and files.

Azure SQL Database —Describes cómo conectarse a Azure SQL Database, una base de datos relacional como servicio.Azure SQL Database—Describes how to connect to Azure SQL Database, a relational database as a service.

SQL Server Data Tools —Describes las herramientas que simplifican el diseño, la exploración, las pruebas y la implementación de aplicaciones y bases de datos conectadas a datos.SQL Server Data Tools—Describes the tools that simplify design, exploration, testing, and deploying of data-connected applications and databases.

ADO.NET—Describe la arquitectura de ADO.NET y cómo usar las clases de ADO.NET para administrar los datos de aplicación e interactuar con orígenes de datos y XML.ADO.NET—Describes the ADO.NET architecture and how to use the ADO.NET classes to manage application data and interact with data sources and XML.

ADO.NET Entity Framework —Describes cómo crear aplicaciones de datos que permitan a los programadores programar con un modelo conceptual en lugar de hacerlo directamente en una base de datos relacional.ADO.NET Entity Framework—Describes how to create data applications that allow developers to program against a conceptual model instead of directly against a relational database.

WCF Data Services 4,5—describe cómo usar Servicios de datos de WCFWCF Data Services para implementar servicios de datos en Internet o en una intranet que implementa Open Data Protocol (OData).WCF Data Services 4.5—Describes how to use Servicios de datos de WCFWCF Data Services to deploy data services on the web or an intranet that implement the Open Data Protocol (OData).

Los datos de las soluciones de office —Contains vínculos a temas que explican cómo funcionan los datos en las soluciones de Office.Data in Office Solutions—Contains links to topics that explain how data works in Office solutions. Se incluye información sobre la programación orientada a esquema, el almacenamiento de datos en caché y el acceso a datos en el servidor.This includes information about schema-oriented programming, data caching, and server-side data access.

LINQ (Language-Integrated Query) —Describes las capacidades de consulta integradas en C# y Visual Basic, y el modelo común para consultar bases de datos relacionales, documentos XML, conjuntos de datos y colecciones en memoria.LINQ (Language-Integrated Query)—Describes the query capabilities built into C# and Visual Basic, and the common model for querying relational databases, XML documents, datasets, and in-memory collections.

Las herramientas XML de Visual Studio —Discusses trabajar con datos XML, depurar XSLT, características de .net XML y la arquitectura de la consulta XML.XML Tools in Visual Studio—Discusses working with XML data, debugging XSLT, .NET XML features, and the architecture of XML Query.

Documentos y datos xml —Provides información general sobre un conjunto completo e integrado de clases que funcionan con datos y documentos XML en .net.XML Documents and Data—Provides an overview to a comprehensive and integrated set of classes that work with XML documents and data in .NET.