Principais detalhes ao utilizar o Firebird com .NET
Este post não é um passo a passo de como utilizar o Firebird, mas sim para esclarecer boa parte das dúvidas que geram os principais problemas ao trabalhar com o Firebird em .NET que eu e outros usuários já enfrentamos.
O Firebird .NET não adiciona as DLLs no GAC (Global Assembly Cache) quando instalado, então, por muitas vezes você pode encontrar alguns problemas ao utilizar o Firebird no .NET, por exemplo:
Não foi possível localizar o Provedor de Dados .Net Framework solicitado. Talvez ele não esteja instalado.
Isso acontece principalmente ao tentar utilizar o Firebird com DbCommand, um exemplo do comando que dispara esta exception:
DbProviderFactory factory = DbProviderFactories.GetFactory("FirebirdSql.Data.FirebirdClient")
Por isso, vale lembrar aqui alguns detalhes ao utilizar o Firebird no .NET
Definir a propriedade Copy Local = True nas Dlls do Firebird referenciadas no projeto.
Adicionar a DLL ao GAC, para isso, abra o Visual Studio 2008 Command Prompt, localizado no Iniciar => Programas => Visual Studio Tools
Digite gacutil -i FirebirdSql.Data.FirebirdClient (Se você não estiver na mesma pasta em que a DLL se encontra, defina o caminho com a DLL, por exemplo C:\FirebirdSql.Data.FirebirdClient)
Com a DLL adicionada ao GAC, digite gac -l FirebirdSql.Data.FirebirdClient para listar as informações, que deve aparecer conforme abaixo:
The Global Assembly Cache contains the following assemblies:
FirebirdSql.Data.FirebirdClient, Version=2.1.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL
Number of items = 1
Prestando atenção a detalhes como a Versão (Version) e PublicKeyToken.
Além disso, no web.config (ou app.config no caso de um aplicação winform), adicionar as linhas abaixo:
<system.data> <DbProviderFactories> <remove invariant="CoreLab.Oracle"/> <add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".Net Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.1.0.0, Culture=neutral,PublicKeyToken=3750abcc3150b00c" /> </DbProviderFactories> </system.data>
Ao adicionar as linhas acima, fique atendo a detalhes como Version e PublicKeyToken, eles devem ser iguais aos listados quando executamos o comando gacutil -l
Bom, acho que é isso, dúvidas perguntem nos comentários
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Muito Bom.
Cara, muito bom mesmo, parabens.
Pessoas como vc fazem a diferença.