Atualizando o MySQL Connector / Net

3

Estou tentando publicar um site com nosso provedor de hospedagem. Estou recebendo erro devido ao fato de que eles só permitem uma confiança média e o MySQL Connector / Net que estou usando requer reflexão para funcionar. Infelizmente, a reflexão não é permitida em uma confiança média.

Após algumas pesquisas, descobri que a versão mais recente do MySQL Connector / Net pode resolver esse problema. O Connector / Net 6.6 inclui aprimoramentos no suporte à confiança parcial para permitir que os serviços de hospedagem implantem aplicativos sem instalar a biblioteca Connector / Net no GAC. Estou pensando que isso resolverá meu problema.

Então, eu desinstalei o MySQL Connector / Net 6.4.4 e instalei o MySQL Connector / Net 6.6.4.

Quando executo o aplicativo no Visual Studio 2010, recebo o erro:

ProviderIncompatibleException was unhandled by user code  

A mensagem é

An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct.

InnerException é

The provider did not return a ProviderManifestToken string.

Tudo funciona bem quando tenho o Connector / Net 6.4.4 instalado. Eu posso acessar o banco de dados e executar a ação Read / Write / Delete contra ele.

Eu tenho uma referência ao seguinte no projeto:

  • MySql.Data
  • MySql.Data.Entity
  • MySql.Web

Minha string de conexão no Web.config

<connectionStrings>
  <add name="AESSmartEntities" 
          connectionString="server=ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com;
          user=root;
          database=nunya;
          port=3306;
          password=xxxxxxx;" 
          providerName="MySql.Data.MySqlClient" />
</connectionStrings>

O que eu posso estar fazendo errado? Preciso de qualquer configuração adicional para trabalhar com a versão 6.6.4 que não era necessária na versão anterior 6.4.4?

    
por Linger 15.11.2012 / 22:39

1 resposta

1

Eu também fiz essa pergunta no fórum do MySQL. Aqui está a resposta que recebi:

Você está correto sobre o fato de que o Connector / Net não precisa estar no GAC para funcionar com o Medium Trust, mas isso tem algumas limitações. Para o caso do Entity Framework, nosso driver precisa do Reflection, como você o mencionou, para ser registrado como um provedor. Assim, não pode ser usado sem essa permissão. Você precisa adicionar essa permissão de reflexão apenas para o acesso de membro à sua política ou instalar o driver no GAC.

Estamos procurando outras maneiras de registrar o provedor para o Entity Framework. Até agora, o Connector pode trabalhar com o ADO.Net no Medium trust, mas ainda não no EF. Notificaremos você assim que tivermos esse suporte sem o GAC para confiança média.

    
por 21.11.2012 / 19:30