Visão geral de dados local

Quando você usa dados local, você conecta seu aplicativo a um arquivo de banco de dados no computador local, em vez a um banco de dados em um servidor separado.Por exemplo, você pode conectar um aplicativo que você está desenvolvendo no Visual Studio para os seguintes arquivos de banco de dados local:

  • Arquivos de banco de dados SQL Server Compact (.sdf)

  • Arquivos de banco de dados SQL Server Express (.mdf) LocalDB

  • Arquivos de banco de dados SQL Server Express (.mdf)

  • Arquivos de banco de dados Microsoft Access (.mdb)

A tabela a seguir fornece links para tópicos que descrevem como conectar seu aplicativo a dados locais:

Tópico

Descrição

Passo a passo: Criando um banco de dados SQL Server Compact

Fornece instruções passo a passo para criar um arquivo de banco de dados local que você pode usar para testar recursos de dados e criar aplicativos.

Instruções passo a passo: criando um banco de dados LocalDB

Fornece instruções passo a passo para criar um arquivo de banco de dados local que você pode usar para testar recursos de dados e criar aplicativos.

Passo a passo: Conectando a dados em um banco de dados do SQL Server Express LocalDB (Windows Forms)

Fornece instruções passo a passo para se conectar ao SQL Server Express LocalDB um banco de dados quando você criar um aplicativo do Windows simples.

Passo a passo: Conectando a dados em um banco de dados do Access (Windows Forms)

Fornece instruções passo a passo para se conectar ao Microsoft Access um banco de dados.

Como se conectar ao banco de dados Northwind

Fornece instruções para conectar ao banco de dados de exemplo em SQL Server, SQL Server Compact, SQL Server Express edition, e o acesso.

Após você criar uma fonte de dados e a configura para acessar um arquivo de dados local, você trabalha com os dados usando as mesmas tecnologias e objetos que você deve usar para trabalhar com dados de qualquer outra fonte.Para mais informações, consulte Criação de aplicativos de dados.

Integrando o banco de dados em seu aplicativo

Se você se conecta a dados local, você não pode apenas se conectar a um arquivo de banco de dados mas também integrá-lo em seu aplicativo.Por exemplo, você pode abrir o menu de Projeto , ele procura a um arquivo existente .sdf, .mdf ou .mdb, e adicioná-la ao seu projeto.

Se você adicionar arquivos de dados local, você cria um dataset tipado e uma cadeia de conexão dinâmica que aponta para o arquivo de banco de dados em seu aplicativo.Quando você adiciona um arquivo de banco de dados ao seu projeto, você usa Assistente para Configuração de Fonte de Dados para especificar os objetos para incluir.

ObservaçãoObservação

Você pode configurar automaticamente a conexão e começar Assistente para Configuração de Fonte de Dados arrastando um arquivo .sdf, .mdf ou .mdb de Arquivo em Gerenciador de SoluçõesExplorer.Você pode então especificar os objetos para usar em seu aplicativo.

Se você usar Assistente para Configuração de Fonte de Dados para criar a fonte de dados para um arquivo de dados local, você será solicitado para incluir o arquivo no seu projeto.Se você não inclui o, seu aplicativo só conterá a cadeia de conexão que o caminho embutido aponta, não o arquivo de dados reais.Para mais informações, consulte Como: gerenciar arquivos de dados locais em seu projeto.

Depois que você concluir o assistente, o arquivo e o dataset de banco de dados aparecem em Gerenciador de Soluções/Database Explorer, e objetos de banco de dados que você especificou aparecem na janela de Fontes de Dados .Arrastando itens da janela de Fontes de Dados em seu formulário, você pode criar controles associados a dados subjacentes.Para abrir a janela de Fontes de Dados , abra o menu de Dados , e então escolha Fontes de dados de apresentação.Para mais informações, consulte Controles de vinculação de dados de Visual Studio.

Usando um banco de dados Arquivo em Visual Studio 2012

Antes de usar um arquivo de banco de dados existente (.mdf) em Visual Studio 2012, você provavelmente deve converter o arquivo em um arquivo de banco de dados de SQL Server 2012 .Quando você se conecta a um arquivo de banco de dados existente, uma caixa de mensagem pergunta se você deseja atualizar.

Observação importanteImportante

Se você atualizar o arquivo de banco de dados (.mdf), você não pode abri-lo em uma versão anterior do SQL Server.

Você não precisa converter o arquivo de banco de dados (.mdf) se Nome da instância do SQL Server é definido como SQLEXPRESS e SQL Server 2008 Express está instalado.SQL Server Express edition 2008 é instalado se o Visual Studio 2010 é instalado.Para alterar o nome da instância para este arquivo de banco de dados, Visual Studio 2012aberto, abre a caixa de diálogo de Adicionar Conexão , . \ SQLEXPRESS especifica como o nome do servidor, e então especifica o banco de dados ou o nome do arquivo de banco de dados.

SQL Server Express LocalDB e SQL Server Express

Você pode adicionar um arquivo de banco de dados serviço- base (.mdf) para qualquer projeto no Visual Studio.Você pode usar o designer do Visual Studio para criar tabelas e outros objetos de banco de dados, e você pode executar consultas.

Quando você cria um banco de dados serviço- baseado em Visual Studio 2012, usa o mecanismo SQL Server Express LocalDB para acessar o arquivo de banco de dados (.mdf), onde as versões anteriores do Visual Studio usaram o mecanismo SQL Server Express edition.

SQL Server Express LocalDB é uma versão leve do SQL Server que você pode programar em muitas das mesma forma que um banco de dados SQL Server.SQL Server Express LocalDB executado no modo de usuário, e você pode instalá-lo mais rapidamente e com menos pré-requisito e nenhuma configuração.

ObservaçãoObservação

Para obter mais informações sobre SQL Server Express LocalDB, consulte Introdução a LocalDB, um melhor SQL express e LocalDB: Onde é meu banco de dados? no site da Microsoft.

Em Visual Studio 2012, você pode usar SQL Server Express por padrão em vez do SQL Server Express LocalDB.Em a barra de menu, escolha Ferramentas, Opções.Sob o nó de Ferramentas de banco de dados , escolha conexões de dados.Em a caixa de texto de Nome da instância do SQL Server , entre em SQLEXPRESS.Como alternativa, você pode incorporar outros valores para o nome da instância do SQL Server (por exemplo, SQL2008).

A tabela a seguir descreve as diferenças entre os mecanismos do SQL Server Express LocalDB e SQL Server Express.

SQL Server Express LocalDB

SQL Server Express

Tipo de banco de dados quando você criar um banco de dados serviço- base

Em Visual Studio 2012, o SQL Server Express LocalDB

Em o Visual Studio 2010 e anteriores, o SQL Server Express

Nome da instância do SQL Server ferramentas/opções

() De LocalDB \ v11.0

SQLEXPRESS

Valor da fonte de dados na cadeia de conexão

() De LocalDB \ v11.0

.\ SQLEXPRESS

Valor de AttachDbFilename na cadeia de conexão

caminho de arquivo

caminho de arquivo

A instância do usuário é necessária (“usuário Instance=True” na cadeia de conexão)

Não

Sim

Extensão do arquivo de banco de dados

.mdf

.mdf

Diferenças entre o SQL Server Express LocalDB e SQL Server Compact

Os bancos de dados no SQL Server Express LocalDB (.mdf) e no SQL Server Compact (.sdf) diferem das seguintes maneiras:

  • SQL Server Express LocalDB é compatível com edições serviço- base do SQL Server para recursos que SQL Server Express edition permite que LocalDB.Em o SQL Server, você pode mover todo o banco de dados ou código transact-sql SQL Server Express LocalDB ao SQL Server ou o SQL para sem nenhuma etapas de atualização.Portanto, você pode usar SQL Server Express LocalDB para desenvolver aplicativos que usam as edições do SQL Server.

  • Se você usar o SQL Server Express LocalDB, você pode criar procedimentos armazenados, funções definidas pelo usuário e agregados, tipos espaciais, e outros objetos que SQL Server Compact não oferece suporte, além da integração do aplicativo com o .NET Framework.

  • SQL Server Express LocalDB é mais robusto e escalonável do SQL Server Compact que o SQL Server Express LocalDB suporta o mesmo otimizador de consulta e processador de consulta que as edições acima do SQL Server fazem.

Os bancos de dados SQL Server Compact podem ser implantados em computadores desktop e dispositivos inteligentes.Para mais informações, consulte SQL Server Compact 4.0 e Visual Studio.

Cada projeto contém duas cópias do banco de dados

Quando você cria um projeto, o arquivo de banco de dados pode ser copiado para a pasta raiz do projeto na saída, pasta bin, a pasta.Esse comportamento depende da propriedade de Copiar para Diretório de Saída do arquivo, e o valor padrão da propriedade depende do tipo de arquivo de banco de dados que você está usando.

Para exibir a pasta de pasta bin em Gerenciador de Soluções, escolha o botão de Mostrar todos os arquivos na barra de ferramentas.

ObservaçãoObservação

A propriedade de Copiar para Diretório de Saída não se aplica a Web ou projetos C++.

O arquivo banco de dados na sua pasta raiz do projeto é alterado ao editar o esquema do banco de dados ou dados usando Server Explorer / Database Explorer, ou outros Visual Database Tools.

Porque você modifica dados durante o desenvolvimento de aplicativos, você está alterando o banco de dados na pasta de pasta bin .Por exemplo, quando você escolhe a tecla F5 para depurar seu aplicativo, você está conectado ao banco de dados em essa pasta.

Valor da propriedade de Copiar para Diretório de Saída

Comportamento

Copiar se mais recente (valor padrão para arquivos .sdf)

O arquivo de banco de dados é copiado do diretório do projeto para o diretório de pasta bin a primeira vez que você criar o projeto.A propriedade de Data de modificação de arquivos é comparada em toda vez que você criar o projeto novamente.Se o arquivo na pasta de projeto for mais recente, copiou a pasta bin a pasta, substituindo o arquivo anterior.Caso contrário, nenhum arquivo é copiado.

Observação de cuidadoCuidado
Não recomendamos esse valor para os arquivos .mdb ou .mdf.O arquivo de banco de dados pode mudar mesmo se os dados não se alteram.O arquivo pode ser marcado como mais recente se basta abrir uma conexão (por exemplo, expanda o nó de Tabelas em Gerenciador de Servidores).

Copiar sempre (valor padrão para arquivos .mdf e.MDB)

O arquivo de banco de dados é copiado do diretório do projeto para o diretório de pasta bin sempre que você criar seu aplicativo.Todas as alterações feitas no arquivo de dados na pasta de saída são substituídas na próxima vez que você executar o aplicativo.

Não copie

O sistema nunca substitui o arquivo no diretório de pasta bin .Seu aplicativo cria uma cadeia de conexão dinâmica que aponta para o arquivo de banco de dados no diretório de saída.Portanto, você deve copiar o arquivo para o diretório de saída se você deseja que os dados no diretório de saída para coincidir com os dados no diretório do projeto.

Problemas comuns com dados locais

A tabela a seguir explica os problemas comuns que você pode encontrar quando você trabalha com arquivos de dados local.

Problema

Explicação

Sempre que eu testar meu aplicativo e modificar dados, minhas alterações são perdidas na próxima vez que eu executar o aplicativo.

O valor da propriedade de Copiar para Diretório de Saída é Copiar se mais recente ou Copiar sempre.O banco de dados na sua pasta de saída (o banco de dados que está sendo modificado quando você testar seu aplicativo) é substituído sempre que você compilar o projeto.Para mais informações, consulte Como: gerenciar arquivos de dados locais em seu projeto.

Uma mensagem aparece, informando que o arquivo de dados está bloqueado.

Acesso (arquivos .mdb): Verifique se o arquivo não está aberto em outro programa, como acesso.

SQL Server Express (arquivos.mdf): SQL express bloqueia o arquivo de dados se você tentar copiar, movê-lo, ou renomear fora do Visual Studio IDE.

Acesso negado é quando mais de um usuário tentar acessar ao mesmo tempo o mesmo banco de dados.

O Visual Studio se beneficia de instâncias de usuários, que é um recurso do SQL Server Express que cria uma instância separada do SQL Server para cada usuário.Depois que um usuário acessa o arquivo, quaisquer usuários subseqüentes não podem se conectar.Esse problema pode ocorrer se, por exemplo, se você tentar executar ao mesmo tempo um aplicativo da web no servidor de desenvolvimento do ASP.NET e o Internet information services (IIS), porque o IIS geralmente executa em uma conta diferente.

Consulte também

Tarefas

Passo a passo: Conectando a dados em um banco de dados do SQL Server Express LocalDB (Windows Forms)

Passo a passo: Conectando a dados em um banco de dados do Access (Windows Forms)

Como: adiciona um banco de dados SQL Server Compact a um projeto

Como: implantar um SQL Server Compact 4.0 Database com um aplicativo

Passo a passo: Criando um banco de dados SQL Server Compact

Passo a passo: Adicionando um banco de dados SQL Server compacto para um aplicativo e implantá-lo