5
respostas

Dúvida no Ex. 3 da Aula 3 - Controlando Requisições e a Listagem de Produtos

An exception of type 'System.Data.Entity.Core.ProviderIncompatibleException' occurred in EntityFramework.dll but was not handled in user code

Additional information: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure.
5 respostas

Oi Gabriel, eu não sou especialista, mas vc conferiu a configuração da conexão com o banco de dados, como sugerido pela exception? Vc realmente está se conectando com o banco?

Eu testei a string de conexão e está tudo ok. Mas o erro persiste.

An exception of type 'System.Data.Entity.Core.ProviderIncompatibleException' occurred in EntityFramework.dll but was not handled in user code

Additional information: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure.

Olá Gabriel,

poderia mandar o Web.config para ver como está a configuração do banco? Pela configuração padrão do projeto deste curso, ele procura o arquivo DBEstoque.mdf na pasta App_Data, você tem esse mdf no seu projeto? Outra coisa que pode estar acontecendo é que o driver do banco não está compatível com o banco usado, no caso o SQL Server.

Olá Gabriel,

Estava com o mesmo problema que você e resolvi seguindo os seguintes passos: Obs.: Estou utilizando o Visual Studio 2015 e não sei se seria a melhor solução para esse problema, mas foi o único jeito que consegui resolver!

  1. Instalei o Sql Server Express 2012.
  2. Abri o Projeto no Visual Studio e fui no Server Explorer (View -> Server Explorer ou Ctrl+Alt+S)
  3. Em Data Connections estará lá a conexão com a DataBase Local EstoqueContext (CaelumEstoque), clique nele com botão direito e selecione Modify Connection.
  4. Na janela que irá abrir clique em Advanced
  5. Irá abrir outra janela e lá procure por DataSource. Pode aparecer varias opções no meu caso apareceu duas. (LocalDB)\MSSQLLocalDB e .\SQLEXPRESS2012. Para cada conexão você seleciona uma, clique em OK e depois em Test Connection. Aquela que retornar Test Connection Succeded você irá clicar em OK para Salvar a conexão.
  6. Logo após conseguir testar a conexão, você irá voltar no Server Explorer (Ctrl+Alt+S), clicar com o botão direito em EstoqueContext (CaelumEstoque) clicar em Properties. Nas propriedades terá um valor de Connection String, copie todo esse valor e cole no Web.Config do projeto na parte de connectionString da chave Estoque Context.

Agora é só executar o projeto que irá funcionar corretamente.

Segue abaixo como ficou minha connectionString.

<connectionStrings>
    <add name="EstoqueContext"
         connectionString="Data Source=.\SQLEXPRESS2012;AttachDbFilename=App_Data\DBEstoque.mdf;Integrated Security=True"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>

Espero que tenha ajudado!

Pessoal, bom dia!

Estou com um problema para acessar a lista de produtos. Estou utilizando o Visual Studio 2017 e Windows 10.

Instalei o SQL Server Express Edition 2012 e mesmo assim o erro ocorre. Segue o erro abaixo:

The provider did not return a ProviderManifestToken string

An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure.

Erro de rede ou específico à instância ao estabelecer conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provider: SQL Network Interfaces, error: 50 - Ocorreu um erro de Local Database Runtime. Não é possível criar uma instância automática. Consulte o log de eventos do Aplicativo do Windows para obter detalhes do erro.\r\n)"}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software