Entities e MySql

Olá!!! Esse post é para divulgar uma solução que ralei pra encontrar quando precisei publicar a minha primeira aplicação Asp.Net que utiliza entities. A princípio o problema era de configuração do servidor da empresa de hospedagem, portanto pode ser que outras pessoas não passem pelo mesmo problema. O erro ocorre assim que o banco de dados é acessado. A solução eu encontrei no seguinte link:

http://social.msdn.microsoft.com/Forums/pt-BR/mvcpt/thread/a091c21e-dbe6-4e64-a40e-011b61e7729f

Vamos ao erro:

“The store provider factory type ‘MySql.Data.MySqlClient.MySqlClientFactory’ does not implement the IServiceProvider interface. Use a store provider that implements this interface.”

Vamos a solução:

Adicione a seguinte configuração ao arquivo web.config (no mesmo nível system.web>):

<system.data>
<DbProviderFactories>
<remove invariant=”MySql.Data.MySqlClient” />
<add name=”MySQL Data Provider” invariant=”MySql.Data.MySqlClient”
description=”.Net Framework Data Provider for MySQL”
type=”MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,
Version=6.0.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d” />
</DbProviderFactories>
</system.data>
Pronto. É isso aí. Agradeço ao autor da solução por ter me poupado dias de frustração. Abraço e até a próxima!

2 thoughts on “Entities e MySql

  1. Caro Leonidas,
    estou ralando a dias sobre um problema com o MYSQL hospedado na Locaweb.

    Tenho uma aplicação usando entities com my sql… na maquina de desenvolvimento funciona direitinho mas quando publico no servidor da locaweb, me ocorre o erro que vc comentou no post Entities e MySql… fiz a alteração que vc propos… mas agora recebo o erro:

    Object reference not set to an instance of an object.

    Sabe o que pode estar ocorrendo?

    1. Juliano, esse erro ocorre ao tentarmos acessar um objeto ou propriedade de um objeto (que também é um objeto) sem que esse objeto tenha sido instanciado.

      Fiquei na dúvida se esse erro (o segundo) ocorre somente na Locaweb ou se na sua máquina também. Caso ocorra na sua máquina sugiro que vá debugando para localizar o momento exato da exceção.

      Você pode ainda examinar o stack trace do erro, para isso no web.config coloque “Debug=True”. Quando surgir a página de erro copie e cole aquele monte de código (o trace) aqui para eu dar uma examinada.

      Infelizmente essa exceção é muito genérica e sem essas informações que lhe pedi fica difícil detectar a origem do problema.

      Obrigado pelo interesse no blog e espero ter ajudado.

Leave a reply to Juliano Cancel reply