Categorias
banco de dados firebird

ASP.NET com Banco Firebird

Semelhantemente com o post do MySQL, irei demonstrar como conectar a um banco Firebird usando o Framework (DLL) que eles disponilizam e que pode ser obtido aqui. Vou resumir o processo pois ?? bem parecido, da?? ?? s?? dar uma olhadinha r??pida no post anterior.
Basicamente incorpore a DLL no projeto e crie uma nova classe chamada Firebird. Adicione o namespace FirebirdSql.Data.FirebirdClient e adicione o seguinte c??digo para consulta:

FbConnection conexao = new FbConnection(“String Conex??o Firebird”);
FbCommand comando = new FbCommand();
FbDataReader datareader = null;
try
{
    conexao.Open();
    try
    {
        FbTransaction transacao = conexao.BeginTransaction();
        comando.Connection = conexao;
        comando.CommandText = “SELECT * FROM Tabela”;
        datareader = comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
        transacao.Commit();
    }
    catch (FbException erro) { }
}
catch (FbException erro) { }

Bem semelhante… nada de novo! Da?? pode-se gerar os demais m??todos de conex??o a partir desse. 
Vi em alguns t??picos pela NET que o pessoal encontra alguns problemas ao tentar conectar ao Firebird. O principal erro ??: “Your user name and password are not defined. Ask your database administrator to set up a Firebird login.”
Novamente, vi solu????es muito loucas e esdr??xulas mas que foram tentativas de ajudar e de boa vontade do pessoal. Bem, mesmo que seu login e senha estejam certos (e tenha certeza disso antes de reclamar), o Firebird, em comunica????o com a DLL, n??o d??o muita transpar??ncia e ajuda ao usu??rio. O problema, basicamente, ?? a string de conex??o. Basta usar essa:

User=SYSDBA; Password=masterkey; Database=C:BancosFirebirdThiago.fdb; DataSource=localhost; Port=3050; Dialect=3; Charset=NONE; Role=; Connection lifetime=15; Pooling=true; MinPoolSize=0; MaxPoolSize=50; Packet Size=8192; ServerType=0;

Ou

User=SYSDBA; Password=masterkey; Database=C:BancosFirebirdThiago.fdb; Server=localhost;

Problema resolvido!