Categorias
dll mysql sqldatasource

SqlDataSource e MySQL

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.