[firebase-br] ASP .NET - Firebird
Frederico Fernandes
fredy992 em hotmail.com
Ter Maio 31 14:04:23 -03 2005
Rafael,
Nao posso usar o ADO para fazer a conexao com o Firebird nao ? Nao seria
melhor ? O que vc acha ?
>From: "Rafael Cabral" <rafael.cabral em icraft.com.br>
>Reply-To: rafael.cabral em icraft.com.br, FireBase <lista em firebase.com.br>
>To: <lista em firebase.com.br>
>Subject: RE: [firebase-br] ASP .NET - Firebird
>Date: Tue, 31 May 2005 10:41:47 -0300
>
>Vc pode criar uma classe onde quando for criar uma conexão, um adaptador ou
>um comando que um objeto de acordo com o banco de dados usado:
>
>Ex:
>
>public class Conn
>{
> IDbConnection dbConn; //Interface de conexão
> IDbDataAdapter dbAdapter; //Interface de adaptador
> String dbTipo;
> String stringConnection;
>
> //Instancia conector
> public void createConnection(String tipo, String strConnect)
> {
> switch (tipo)
> {
> case "SqlServer": //Provider do Sql Server
> dbConn = new SqlConnection(strConnect);
> break;
> case "MySQL": //Provider do MySQL
> dbConn = MySqlConnection(strConnect);
> break;
> case "Firebird": //Provider do Firebird
> dbConn = FbConnection(strConnect);
> break;
> default: //Provider do Access, Oracle, qualquer um que suporte OleDb
> dbConn = OleDbConnection(strConnect);
> }
> this.dbTipo = tipo;
> this.stringConnection = strConnect;
> }
>
> //Instancia adaptador
> public void createDataAdapter(String SQL)
> {
> switch (tipo)
> {
> case "SqlServer":
> dbAdapter = new SqlDataAdapter(SQL, dbConn);
> break;
> case "MySQL":
> dbAdapter = new MySqlDataAdapter(SQL, dbConn);
> break;
> case "Firebird":
> dbAdapter = new FbDataAdapter(SQL, dbConn);
> break;
> default:
> dbAdapter = OleDbDataAdapter(SQL, dbConn);
> }
> }
>}
>
>Não sei se com o MySQL funciona, mas fiz assim com o Firebird, SqlServer,
>Oracle e Access e funciona perfeitamente. Recomendo também que vc crie um
>método Fill para Select para cada adaptador caso precise realizar paginação
>de registros, então nesse caso o createDataAdapter não servirá. Nesse
>método
>Fill terá que criar os adaptadores e então dar o Fill imediatamente:
>
>Ex:
>
>DataSet dtSet;
>switch (tipo)
>{
> case "Firebird":
> new FbDataAdapter(SQL, dbConn).Fill(dtSet);
> default:
> new OleDbDataAdapter(SQL, dbConn).Fill(dtSet);
>}
>
>Espero ter ajudado. E desculpem a todos se isso ficou meio "OFF".
>
>[]s,
>
>Rafael Cabral
>
>-----Original Message-----
>From: Frederico Fernandes [mailto:fredy992 em hotmail.com]
>Sent: terça-feira, 31 de maio de 2005 10:18
>To: lista em firebase.com.br
>Cc: rafael.cabral em icraft.com.br
>Subject: RE: [firebase-br] ASP .NET - Firebird
>
>
>
>Eu utilizo os componentes BDP porque preciso que esta aplicação acesse
>vários tipos de banco. E eu utilizando este componentes eu não preciso de
>ficar mudando os componentes para ter acesso a outro banco. E se eu usar o
>Data Provider (Seria o ADO certo ?), eu teria que sempre mudar os
>compoentes
>quando utilizar outro banco de dados. Ou tem outra saida ??
>
> >From: "Rafael Cabral" <rafael.cabral em icraft.com.br>
> >Reply-To: rafael.cabral em icraft.com.br, FireBase <lista em firebase.com.br>
> >To: "'FireBase'" <lista em firebase.com.br>
> >Subject: RE: [firebase-br] ASP .NET - Firebird
> >Date: Tue, 31 May 2005 10:12:06 -0300
> >
> >Frederico,
> >
> >Já tentou usar o Data Provider do Firebird? Vc pode baixá-lo no site
> >oficial
> >do Firebird www.firebirdsql.org. Ainda não testei esse provider com o
> >Interbase, acho que vc pode fazê-lo. ;)
> >
> >Eu particularmente não gosto dos componentes Bdp porque fizemos alguns
> >testes e vimos que às vezes a conexão com o banco caía por algum motivo
>que
> >ainda não descobrimos, então para provider de banco genéricos, prefiro
>usar
> >o OleDb mesmo. Mas para firebird recomendo o Data Provider do Firebird
>que
> >funciona muito bem.
> >
> >[]s,
> >
> >Rafael Cabral
> >
> >-----Original Message-----
> >From: lista-bounces em firebase.com.br
> >[mailto:lista-bounces em firebase.com.br]On Behalf Of Frederico Fernandes
> >Sent: terça-feira, 31 de maio de 2005 09:52
> >To: lista em firebase.com.br
> >Subject: [firebase-br] ASP .NET - Firebird
> >
> >
> >Pessoal,
> >
> > Estou fazendo um projeto ASP .NET usando dois banco de dados
> >Interbase
> >e o Firebird. E usando a linguagem C#. Eu fiz uma pequena busca onde usa
>o
> >"BdpDataReader" para ler os dados do Banco. Quando eu chamo o metodo
> >"ExecuteReader" ele me traz os dados e jogo em um "DropDownList".
>Funciona
> >perfeitamente. Só que quando a minha query nao retorna nada, a minha
> >aplicação fica parada quando eu chamo o metodo "ExecuteReader". Isto
>ocorre
> >somente no banco de dados Firebird. Quando aponto para o banco de dados
> >Interbase ele funciona. Estou utilizando os componentes BDP. Abaixo o meu
> >código:
> >
> >
> > private void LerLocalizacoes()
> > {
> > BdpDataReader Localizacao = null;
> > BdpCommand comLocal = new BdpCommand();
> > comLocal.CommandType = CommandType.Text;
> > comLocal.Connection = conCentralBusca;
> >
> > try{
> > comLocal.CommandText =
> > "SELECT CODIGO, DESCRICAO FROM LOCALIZACAO ORDER
> >BY
> > DESCRICAO";
> >
> > conCentralBusca.Open();
> > comLocal.Prepare();
> >
> > // Linha onde a aplicação fica parada.
> > Localizacao = comLocal.ExecuteReader();
> >
> > if (Localizacao != null)
> > {
> > while(Localizacao.Read()){
> > DropDownList.Items.Add(new
> >
> >ListItem(Localizacao.GetString(1),Localizacao.GetInt32(0).ToString()));
> > }
> > }
> > }
> > finally{
> > Localizacao.Close();
> > conCentralBusca.Close();
> > }
> > }
> >
> >_________________________________________________________________
> >MSN Messenger: instale grátis e converse com seus amigos.
> >http://messenger.msn.com.br
> >
> >
> >
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> >Para editar sua configuração na lista, use o endereço
> >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>_________________________________________________________________
>MSN Messenger: instale grátis e converse com seus amigos.
>http://messenger.msn.com.br
>
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_________________________________________________________________
MSN Messenger: instale grátis e converse com seus amigos.
http://messenger.msn.com.br
Mais detalhes sobre a lista de discussão lista