Acessar dados no Visual StudioAccess data in Visual Studio

No Visual Studio, você pode criar aplicativos que se conectam aos dados em praticamente qualquer produto de banco de dados ou serviço, em qualquer formato, em qualquer lugar — em um computador local, em uma rede local ou em uma nuvem pública, privada ou 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.

Para aplicativos em JavaScript, Python, PHP, Ruby ou C++, você se conectar a dados como faria qualquer outra coisa, obtendo bibliotecas e escrever 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. Para aplicativos .NET, Visual Studio fornece ferramentas que você pode usar para explorar fontes de dados, criar modelos de objeto para armazenar e manipular os dados na memória e associar dados à interface do usuário.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 fornece SDKs para .NET, Java, Node. js, PHP, Python, Ruby e aplicativos móveis e ferramentas no Visual Studio para se conectar ao armazenamento do Azure.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.

As listas a seguir mostram apenas alguns os muitos sistemas de banco de dados e armazenamento que podem ser usados no Visual Studio.The following lists show just a few of the many database and storage systems that can be used from Visual Studio. O Microsoft Azure ofertas são serviços de dados que incluem todos os provisionamento e administração de armazenamento de dados subjacente.The Microsoft Azure offerings are data services that include all provisioning and administration of the underlying data store. O desenvolvimento do Azure carga de trabalho no Visual Studio 2017 permite que você trabalhe com repositórios de dados do Azure diretamente do Visual Studio.The Azure development workload in Visual Studio 2017 enables you to work with Azure data stores directly from Visual Studio.

Carga de trabalho de desenvolvimento do Azure

A maioria dos outros SQL e NoSQL banco de dados produtos listados aqui pode ser hospedada em um computador local, em uma rede local ou no Microsoft Azure em uma 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. Se você hospedar o banco de dados em uma máquina virtual do Microsoft Azure, você é responsável por gerenciar o próprio banco de dados.If you host the database in a Microsoft Azure virtual machine, you're responsible for managing the database itself.

Microsoft AzureMicrosoft Azure

  • Banco de Dados SQLSQL Database
  • Azure Cosmos DBAzure Cosmos DB
  • Armazenamento (blobs, tabelas, filas, arquivos)Storage (blobs, tables, queues, files)
  • SQL Data WarehouseSQL Data Warehouse
  • SQL Server Stretch DatabaseSQL Server Stretch Database
  • StorSimpleStorSimple
  • E muito mais...And more...

SQLSQL

  • SQL Server 2005-2016 (inclui o Express e LocalDB)SQL Server 2005-2016 (includes Express and LocalDB)
  • FirebirdFirebird
  • MariaDBMariaDB
  • MySQLMySQL
  • OracleOracle
  • PostgreSQLPostgreSQL
  • SQLiteSQLite
  • E muito mais...And more...

NoSQLNoSQL

  • Apache CassandraApache Cassandra
  • CouchDBCouchDB
  • MongoDBMongoDB
  • NDatabaseNDatabase
  • OrientDB |OrientDB|
  • RavenDBRavenDB
  • VelocityDBVelocityDB
  • E muito mais...And more...

Muitos fornecedores de banco de dados e terceiros dão suporte à integração do Visual Studio pacotes do NuGet.Many database vendors and third parties support Visual Studio integration by NuGet packages. Você pode explorar as ofertas em nuget.org ou por meio do Gerenciador de pacotes NuGet no Visual Studio (ferramentas > Gerenciador de pacotes NuGet > gerenciar NuGet Pacotes para a solução).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). Outros produtos de banco de dados integram ao Visual Studio como uma extensão.Other database products integrate with Visual Studio as an extension. Você pode procurar essas ofertas na Visual Studio Marketplace ou navegando até ferramentas > extensões e atualizações e, em seguida, selecionando On-line no painel esquerdo da caixa 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 obter mais informações, consulte sistemas de banco de dados compatível para o Visual Studio.For more information, see Compatible database systems for Visual Studio.

Muitos fornecedores de banco de dados e terceiros dão suporte à integração do Visual Studio pacotes do NuGet.Many database vendors and third parties support Visual Studio integration by NuGet packages. Você pode explorar as ofertas em nuget.org ou por meio do Gerenciador de pacotes NuGet no Visual Studio (ferramentas > Gerenciador de pacotes NuGet > gerenciar NuGet Pacotes para a solução).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). Outros produtos de banco de dados integram ao Visual Studio como uma extensão.Other database products integrate with Visual Studio as an extension. Você pode procurar essas ofertas na Visual Studio Marketplace ou navegando até extensões > gerenciar extensões e, em seguida, selecionando On-line no painel esquerdo da caixa 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 obter mais informações, consulte sistemas de banco de dados compatível para o Visual Studio.For more information, see Compatible database systems for Visual Studio.

Note

O suporte estendido para o SQL Server 2005 terminou em 12 de abril de 2016.Extended support for SQL Server 2005 ended on April 12, 2016. Não há nenhuma garantia de que as ferramentas de dados no Visual Studio 2015 e versões posteriores continuarão funcionando com o 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 obter mais informações, consulte o comunicado de fim do suporte para o SQL Server 2005.For more information, see the end-of-support announcement for SQL Server 2005.

Linguagens .NET.NET languages

Todos os acesso de dados do .NET, incluindo no .NET Core baseia-se no ADO.NET, um conjunto de classes que define uma interface para acessar qualquer tipo de fonte de dados, relacional e não relacionais.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. O Visual Studio tem várias ferramentas e designers que trabalham com o ADO.NET para ajudá-lo a se conectar a bancos de dados, manipular os dados e apresentá-los para o usuário.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. A documentação nesta seção descreve como usar essas ferramentas.The documentation in this section describes how to use those tools. Você também pode programar diretamente em relação os objetos de comando do ADO.NET.You can also program directly against the ADO.NET command objects. Para obter mais informações sobre como chamar as APIs do ADO.NET diretamente, consulte ADO.NET.For more information about calling the ADO.NET APIs directly, see ADO.NET.

Para obter a documentação de acesso a dados relacionada ao ASP.NET, consulte trabalhando com dados no site do ASP.NET.For data-access documentation related to ASP.NET, see Working with Data on the ASP.NET site. Para obter um tutorial sobre como usar o Entity Framework com o ASP.NET MVC, consulte Introdução ao Entity Framework 6 Code First usando 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.

Aplicativos universais do Windows Platform (UWP) em c# ou Visual Basic podem usar o SDK do Microsoft Azure para .NET para acessar o armazenamento do Azure e outros serviços do 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. A classe Windows.Web.HttpClient permite a comunicação com qualquer serviço RESTful.The Windows.Web.HttpClient class enables communication with any RESTful service. Para obter mais informações, consulte como se conectar a um servidor HTTP usando o Windows.For more information, see How to connect to an HTTP server using Windows.Web.Http.

Para o armazenamento de dados no computador local, a abordagem recomendada é usar o SQLite, que é executado no mesmo processo que o aplicativo.For data storage on the local machine, the recommended approach is to use SQLite, which runs in the same process as the app. Se uma camada de mapeamento relacional de objeto (ORM) for necessária, você pode usar o Entity Framework.If an object-relational mapping (ORM) layer is required, you can use Entity Framework. Para obter mais informações, consulte acesso a dados no Centro de desenvolvedores do Windows.For more information, see Data access in the Windows Developer Center.

Se você estiver se conectando aos serviços do Azure, certifique-se de baixar a versão mais recente Azure SDK tools.If you are connecting to Azure services, be sure to download the latest Azure SDK tools.

Provedores de dadosData providers

Para um banco de dados ser consumível no ADO.NET, ele deve ter um personalizado provedor de dados ADO.NET ou else deve expor uma interface ODBC ou 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. A Microsoft fornece um lista de provedores de dados ADO.NET para produtos do SQL Server, bem como provedores de ODBC e OLE DB.Microsoft provides a list of ADO.NET data providers for SQL Server products, as well as ODBC and OLE DB providers.

Modelagem de dadosData modeling

No .NET, você tem três opções de modelagem e manipulação de dados na memória depois que você recuperou de uma fonte de dados:In .NET, you have three choices for modeling and manipulating data in memory after you have retrieved it from a data source:

Entity Framework a tecnologia Microsoft ORM preferencial.Entity Framework The preferred Microsoft ORM technology. Você pode usá-lo ao programa em relação aos dados relacionais como objetos de primeira classe .NET.You can use it to program against relational data as first-class .NET objects. Para novos aplicativos, ele deve ser a primeira opção padrão quando um modelo é necessário.For new applications, it should be the default first choice when a model is required. Ele requer suporte personalizado do provedor de ADO.NET subjacente.It requires custom support from the underlying ADO.NET provider.

O LINQ to SQL um mapeador relacional de objetos da geração anterior.LINQ to SQL An earlier-generation object-relational mapper. Ele funciona bem para cenários menos complexos, mas não está mais em desenvolvimento ativo.It works well for less complex scenarios but is no longer in active development.

Conjuntos de dados o mais antigo dos três tecnologias de modelagem.Datasets The oldest of the three modeling technologies. Ele é projetado principalmente para desenvolvimento rápido de aplicativos "formulários sobre dados" na qual você não é enormes quantidades de dados de processamento ou execução de consultas complexas ou transformações.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. Um objeto de conjunto de dados consiste em objetos DataTable e DataRow logicamente semelhantes a objetos de banco de dados do SQL muito mais do que objetos .NET.A DataSet object consists of DataTable and DataRow objects that logically resemble SQL database objects much more than .NET objects. Para aplicativos relativamente simples com base em fontes de dados SQL, conjuntos de dados ainda podem ser uma boa opção.For relatively simple applications based on SQL data sources, datasets might still be a good choice.

Não há nenhum requisito para usar qualquer uma dessas tecnologias.There is no requirement to use any of these technologies. Em alguns cenários, especialmente quando o desempenho for crítico, você pode simplesmente usar um objeto DataReader para ler do banco de dados e copie os valores que você precisa para um objeto de coleção como 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++

Aplicativos de C++ que se conectam ao SQL Server devem usar o Microsoft® ODBC Driver 13.1 para SQL Server na maioria dos casos.C++ applications that connect to SQL Server should use the Microsoft® ODBC Driver 13.1 for SQL Server in most cases. Se os servidores vinculados, em seguida, o OLE DB é necessário e para que você use o SQL Server Native Client.If the servers are linked, then OLE DB is necessary and for that you use the SQL Server Native Client. Você pode acessar outros bancos de dados usando ODBC ou drivers de OLE DB diretamente.You can access other databases by using ODBC or OLE DB drivers directly. O ODBC é a interface padrão do banco de dados atual, mas a maioria dos sistemas de banco de dados fornecer funcionalidade personalizada que não pode ser acessada por meio da interface do 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 é uma tecnologia de acesso a dados COM herdados ainda têm suporte, mas não é recomendada para novos aplicativos.OLE DB is a legacy COM data-access technology that is still supported but not recommended for new applications. Para obter mais informações, consulte acesso a dados no Visual C++.For more information, see Data Access in Visual C++.

Programas do C++ que consumirem serviços REST podem usar o C++ REST SDK.C++ programs that consume REST services can use the C++ REST SDK.

Programas do C++ que funcionam com o armazenamento do Microsoft Azure podem usar o cliente de armazenamento do Microsoft Azure.C++ programs that work with Microsoft Azure Storage can use the Microsoft Azure Storage Client.

Modelagem de dados—Visual Studio não fornece uma camada ORM para C++.Data modeling—Visual Studio does not provide an ORM layer for C++. ODB é um ORM do código-fonte aberto popular para C++.ODB is a popular open-source ORM for C++.

Para saber mais sobre como conectar aos bancos de dados de aplicativos em C++, consulte ferramentas de dados do Visual Studio para C++.To learn more about connecting to databases from C++ apps, see Visual Studio data tools for C++. Para obter mais informações sobre as tecnologias de acesso a dados herdadas do Visual C++, consulte acesso a dados.For more information about legacy Visual C++ data-access technologies, see Data Access.

JavaScriptJavaScript

JavaScript no Visual Studio é uma linguagem de primeira classe para a criação de aplicativos de plataforma cruzada, aplicativos da UWP, serviços de nuvem, sites e aplicativos web.JavaScript in Visual Studio is a first-class language for building cross-platform apps, UWP apps, cloud services, websites, and web apps. Você pode usar o Bower, Grunt, Gulp, npm e NuGet de dentro do Visual Studio para instalar seus produtos de banco de dados e bibliotecas JavaScript favoritas.You can use Bower, Grunt, Gulp, npm, and NuGet from within Visual Studio to install your favorite JavaScript libraries and database products. Conectar-se ao armazenamento do Azure e serviços baixando SDKs do site do Azure.Connect to Azure storage and services by downloading SDKs from the Azure website. Js é uma biblioteca JavaScript do lado do servidor (Node. js) conecta-se a fontes de dados do ADO.NET.Edge.js is a library that connects server-side JavaScript (Node.js) to ADO.NET data sources.

PythonPython

Instale suporte do Python no Visual Studio para criar aplicativos Python.Install Python support in Visual Studio to create Python applications. Documentação do Azure tem vários tutoriais sobre como se conectar a dados, incluindo o seguinte:The Azure documentation has several tutorials on connecting to data, including the following:

Plataforma Microsoft AI—fornece uma introdução à nuvem inteligente da Microsoft, incluindo o Cortana Analytics Suite e o suporte para a Internet das coisas.Microsoft AI platform—Provides an introduction to the Microsoft intelligent cloud, including Cortana Analytics Suite and support for Internet of Things.

Armazenamento do Microsoft Azure—descreve o armazenamento do Azure e como criar aplicativos usando arquivos, tabelas, filas e blobs do Azure.Microsoft Azure Storage—Describes Azure Storage, and how to create applications by using Azure blobs, tables, queues, and files.

Banco de dados SQL do Azure—descreve como se conectar ao banco de dados SQL, banco de dados relacional como um serviço.Azure SQL Database—Describes how to connect to Azure SQL Database, a relational database as a service.

SQL Server Data Tools—descreve as ferramentas que simplificam o design, exploração, teste e implantação de aplicativos conectados a dados e bancos de dados.SQL Server Data Tools—Describes the tools that simplify design, exploration, testing, and deploying of data-connected applications and databases.

ADO.NET—descreve a arquitetura do ADO.NET e como usar as classes ADO.NET para gerenciar dados de aplicativo e interagir com fontes de dados e 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—descreve como criar aplicativos de dados que permitem aos desenvolvedores de programas em um modelo conceitual em vez de diretamente em um banco de dados 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.

Serviços de dados WCF 4.5—descreve como usar WCF Data ServicesWCF Data Services para implantar serviços de dados na web ou em uma intranet que implementam o Open Data Protocol (OData).WCF Data Services 4.5—Describes how to use WCF Data ServicesWCF Data Services to deploy data services on the web or an intranet that implement the Open Data Protocol (OData).

Dados em soluções do Office—contém links para tópicos que explicam como dados funcionam em soluções do Office.Data in Office Solutions—Contains links to topics that explain how data works in Office solutions. Isso inclui informações sobre programação orientada a esquema, caching de dados e acesso a dados do lado do servidor.This includes information about schema-oriented programming, data caching, and server-side data access.

LINQ (consulta integrada à linguagem)—descreve os recursos de consulta incorporados no c# e Visual Basic e o modelo comum para consultar bancos de dados relacionais, documentos XML, conjuntos de dados e coleções na memória.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.

Ferramentas XML no Visual Studio—aborda o trabalho com recursos de XML do .NET de dados, depuração XSLT, XML e a arquitetura de consulta XML.XML Tools in Visual Studio—Discusses working with XML data, debugging XSLT, .NET XML features, and the architecture of XML Query.

Documentos e dados XML—fornece uma visão geral para um conjunto abrangente e integrado de classes que funcionam com documentos XML e dados no .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.