Estava fazendo uma integração de bases de dados MySQL e SQL Server e, em certa etapa, teria que utilizar o SqlDataSource para preencher um GridView alternando entre o SQL Server e o MySQL. Contudo, nativamente, o provider do SqlDataSource não aceita o MySQL a não ser por ODBC conforme especificação. Dei uma lida na net para ver alguns comentários e ví alguns absurdos como: "o SqlDataSource é específico do SQL Server" entre outros. Parece que o pessoal não lê as especificações. Como disse, dá sim, mas por ODBC. Mas usando o conector MySQL, conforme um post anterior, é possível realizar a integração do SqlDataSource a uma base MySQL sem ser por ODBC usando o conector específico. Vamos por a mão na massa...
Primeiramente vá no web.config e adicione as seguintes configurações:
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description="Conector .NET para o MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
Atente-se à versão da DLL do conector que está utilizando. No caso, estou usando a 6.2.2.0. Aplique também o Assembly inserindo a tag abaixo:
<add assembly="MySql.Data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" />
Como disse, não vou entrar em detalhes, mas adicionando essas configurações no web.config de seu projeto já estará apto para trabalhar adequadamente com o MySQL. Agora o resto é simples, basta inserir o SqlDataSource e colocar o ProviderName="MySql.Data.MySqlClient".
Obs: Não coloque nenhum driver no ConnectionString do SqlDataSource como "Driver=MySQL ODBC 3.5;" ou suas variantes. Utilize a string de conexão convencional, pois o provider irá fornecer informações específicas para que o objeto possa se conectar normalmente.
SqlDataSource e MySQL
Postado por
Thiago Marçal
on quinta-feira, 29 de abril de 2010
/
Marcadores:
dll,
mysql,
sqldatasource
1 comentários:
não consegui
Postar um comentário