Usuário com melhor resposta
Conexão Firebird

Pergunta
-
Galera com faço para conectar com BD Firebird segui os passos de baixar o .NET do Firebrid, instalei porem qnd vou adicionar a referência não esta la? segui os passos do link http://www.linhadecodigo.com.br/Artigo.aspx?id=810&pag=3
Uso visual express2008, Firebird 1.5 e o FirebirdClient-2.5.0-Alpha2.msi.
Respostas
-
A algum tempo eu fiz um programa de acesso a dados utilizando-se do FirebirdClient 2.0 (Provider). Pode ser no site (http://www.ibphoenix.com/main.nfs?page=ibp_download_dotnet)
Para funcionar, instale o FirebirdCliente e faça uma referencia na sua aplicação.
Code SnippetReferencia:
FirebirdSql.Data.FirebirdClient
Faz menção a ela:
Code SnippetUsing:
using
FirebirdSql.Data.FirebirdClient;Eu usei uma classe de conexão parecida com essa. Sempre retorna booleano para saber se foi realizado com sucesso.
Code Snippetclass BD_CRG
{
//Publicasstatic FbConnection _FBconexao;
static FbDataAdapter _FBadaptador;
static FbCommandBuilder _FBcomandoBuilder;
public static DataSet PreencheDataSet(string SQL, string NomeTabela)
{
DataSet _DSBanco;
try
{
Abrir();
_FBadaptador =
new FbDataAdapter(SQL, _FBconexao);_FBadaptador.SelectCommand.CommandText = SQL;
_FBcomandoBuilder =
new FbCommandBuilder(_FBadaptador);_DSBanco =
new DataSet();_FBadaptador.Fill(_DSBanco, NomeTabela);
return (_DSBanco);
}
catch
{
return ((DataSet)null);
}
finally
{
Fechar();
}
}
public static Boolean Abrir()
{
try
{
if (_FBconexao == null){
FbConnectionStringBuilder strcnx = new FbConnectionStringBuilder();strcnx.DataSource =
"localhost";strcnx.UserID =
"SYSDBA";strcnx.Password =
"masterkey";strcnx.Dialect = 3;
strcnx.Database =
"C:\\Banco.gdb";_FBconexao =
new FbConnection(strcnx.ToString());_FBconexao.Open();
}
return (true);
}
catch (FbException e)
{
return (false);
}
}
public static Boolean Fechar()
{
try
{
if (_FBconexao != null){
if (_FBconexao.State == System.Data.ConnectionState.Open){
_FBconexao.Close();
_FBconexao =
null; return (true);}
}
return (false);
}
catch (FbException e)
{
return (false);
}
}
public static Boolean Executar(string SQL)
{
try
{
Abrir();
if (_FBconexao.State == System.Data.ConnectionState.Open){
FbCommand fbcmd = new FbCommand(SQL, _FBconexao);fbcmd.ExecuteNonQuery();
return (true);}
else{
return (false);}
}
catch{
return (false);}
finally{
Fechar();
}
}
Espero que tenha lhe ajudado.
Bom programa.
Abraços.
-
Já faz tempo que fiz isso, mas me parece que é isso mesmo que tem que ser feito. No seu projeto clique com o botão direito em referências e Add reference. Vai abrir uma janela, daí como disse na minha primeira resposta, clique em Browse e ache o FirebirdCliente.exe, e não aquele que vc. citou "FirebirdCliente....Alpha.msi". Clique nele que e ele deverá ser instalado. Agora se vc. fizer tudo isso e assim mesmo não der certo, não sei o poderá ser.
Todas as Respostas
-
Boa Tarde, Tomassoni. Quando vc. diz que ele não está lá, deve ser porque vc. não procurou na pasta onde foi baixado.Você fez isso?. Clique em Browser, Abra a pasta clique no aquivo(o Meu aqui é FirebirdCliente-2.0.exe) que ele será instalado e das próximas vezes vc não precisará mais instalar ele, somente referenciá-lo no projeto.
Um abraço
-
-
A algum tempo eu fiz um programa de acesso a dados utilizando-se do FirebirdClient 2.0 (Provider). Pode ser no site (http://www.ibphoenix.com/main.nfs?page=ibp_download_dotnet)
Para funcionar, instale o FirebirdCliente e faça uma referencia na sua aplicação.
Code SnippetReferencia:
FirebirdSql.Data.FirebirdClient
Faz menção a ela:
Code SnippetUsing:
using
FirebirdSql.Data.FirebirdClient;Eu usei uma classe de conexão parecida com essa. Sempre retorna booleano para saber se foi realizado com sucesso.
Code Snippetclass BD_CRG
{
//Publicasstatic FbConnection _FBconexao;
static FbDataAdapter _FBadaptador;
static FbCommandBuilder _FBcomandoBuilder;
public static DataSet PreencheDataSet(string SQL, string NomeTabela)
{
DataSet _DSBanco;
try
{
Abrir();
_FBadaptador =
new FbDataAdapter(SQL, _FBconexao);_FBadaptador.SelectCommand.CommandText = SQL;
_FBcomandoBuilder =
new FbCommandBuilder(_FBadaptador);_DSBanco =
new DataSet();_FBadaptador.Fill(_DSBanco, NomeTabela);
return (_DSBanco);
}
catch
{
return ((DataSet)null);
}
finally
{
Fechar();
}
}
public static Boolean Abrir()
{
try
{
if (_FBconexao == null){
FbConnectionStringBuilder strcnx = new FbConnectionStringBuilder();strcnx.DataSource =
"localhost";strcnx.UserID =
"SYSDBA";strcnx.Password =
"masterkey";strcnx.Dialect = 3;
strcnx.Database =
"C:\\Banco.gdb";_FBconexao =
new FbConnection(strcnx.ToString());_FBconexao.Open();
}
return (true);
}
catch (FbException e)
{
return (false);
}
}
public static Boolean Fechar()
{
try
{
if (_FBconexao != null){
if (_FBconexao.State == System.Data.ConnectionState.Open){
_FBconexao.Close();
_FBconexao =
null; return (true);}
}
return (false);
}
catch (FbException e)
{
return (false);
}
}
public static Boolean Executar(string SQL)
{
try
{
Abrir();
if (_FBconexao.State == System.Data.ConnectionState.Open){
FbCommand fbcmd = new FbCommand(SQL, _FBconexao);fbcmd.ExecuteNonQuery();
return (true);}
else{
return (false);}
}
catch{
return (false);}
finally{
Fechar();
}
}
Espero que tenha lhe ajudado.
Bom programa.
Abraços.
-
-
-
Já faz tempo que fiz isso, mas me parece que é isso mesmo que tem que ser feito. No seu projeto clique com o botão direito em referências e Add reference. Vai abrir uma janela, daí como disse na minha primeira resposta, clique em Browse e ache o FirebirdCliente.exe, e não aquele que vc. citou "FirebirdCliente....Alpha.msi". Clique nele que e ele deverá ser instalado. Agora se vc. fizer tudo isso e assim mesmo não der certo, não sei o poderá ser.
-
Valeu a ajuda deu certo.
Fiz o que o Antunes me escreveu acima, porém como eu não tinha o .exe e sim as duas dll's (FirebirdSql.Data.FirebirdClient.dll, FirebirdSql.Data.UnitTests.dll); as quais vem junto com o FirebirdCliente....Alpha.msi e fica dentro de c:\arquivos de programas\FirebirdCliente2.0. Adicionei elas e fiz uma mensão a elas com using e funcionou 100%.
Valeu -
Olá Clayr,
Me dá uma ajuda, por obséquio.
Favor me mandar um exemplo de uso desse seu código, tipo assim:
Um exemplo de uso como Popupar um DataGridView com este seu código;
E um outro exemplo de uso de como Inserir dados num datset ou datatable com este código.
Antecipo meus agradecimentos.
Airton Barros.
-
Bom Dia. Veja este link.
http://www.dotnetraptors.com.br/start/artigos/artigos_net_corner/7833.aspx
José Antunes
-
-
Galera é o seguinte eu populei a Grid com o seguinte código ( Para efetar a conexão, usei a dll's como citei acima):
private
FbConnection fbConn; private FbDataAdapter fbDataAdapter = new FbDataAdapter(); private DataTable dataTable = new DataTable();void
MainFormLoad(object sender, EventArgs e){
}
private
void mostraTodos(){//String dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3";
}
catch(Exception ex){}
String sql = "Select * from usuarios"; this.fbDataAdapter.SelectCommand = new FbCommand(sql, this.fbConn); this.fbDataAdapter.Fill(this.dataTable);}
Note as linhas:
1 -> string dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3";
2 -> string dadoCon = System.Configuration.ConfigurationSettings.AppSettings["conexao"].ToString
Se for utilizar a 1 passe aqui todas as propriedades para conecta ao BD, usuário, senha, url e dialect.
Se for ultilizar a 2 crie um arquivo XML na raiz do projeto com nome app e extensão XML (app.xml) com o conteúdo como segue abaixo.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="dadosBD" value="User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb;Dialect=3" />
</appSettings>
</configuration>Pronto é isso ai espero te ajudado.
Só para desencargo segue abaixo o projetinho que utilizei para aprender a conectar.
/*
* Criado por SharpDevelop.
* Usuário: Tomassoni
* Data: 18/3/2008
* Hora: 13:50
*
* Para alterar este modelo use Ferramentas | Opções | Codificação | Editar Cabeçalhos Padrão.
*/
using
System;using
System.Collections.Generic;using
System.Drawing;using
System.Windows.Forms;using
System.Data;using
FirebirdSql.Data.FirebirdClient;namespace
NovoFBFree{
/// <summary>///
Description of MainForm. /// </summary> public partial class MainForm : Form { private FbConnection fbConn; private FbDataAdapter fbDataAdapter = new FbDataAdapter(); private DataTable dataTable = new DataTable(); public MainForm(){
//// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent(); ////
TODO: Add constructor code after the InitializeComponent() call.//
} void MainFormLoad(object sender, EventArgs e){
this.dataGrid1.DataSource = this.dataTable; this.mostraTodos();}
private void mostraTodos(){ this.dataTable.Clear(); //MessageBox.Show(System.Configuration.ConfigurationSettings.AppSettings["conexao"].ToString());//String dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3";
string dadoCon = System.Configuration.ConfigurationSettings.AppSettings["conexao"].ToString(); this.fbConn = new FbConnection(dadoCon); try{ this.fbConn.Open();}
catch(Exception ex){ MessageBox.Show("Erro ao efetuar conexão" + ex.Message);}
String sql = "Select * from usuarios"; this.fbDataAdapter.SelectCommand = new FbCommand(sql, this.fbConn); this.fbDataAdapter.Fill(this.dataTable);}
private void inserirBD(){ String dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3"; this.fbConn = new FbConnection(dadoCon); try{ this.fbConn.Open();}
catch(Exception ex){ MessageBox.Show("Erro ao efetuar conexão" + ex.Message);}
String sql = "insert into usuarios (nome) values('Junior2')"; this.fbDataAdapter.InsertCommand = new FbCommand(sql, this.fbConn); this.fbDataAdapter.InsertCommand.ExecuteNonQuery(); this.mostraTodos(); this.fbConn.Close(); this.fbConn.Dispose();}
}
}
-
Galera é o seguinte eu populei a Grid com o seguinte código ( Para efetar a conexão, usei a dll's como citei acima):
private
FbConnection fbConn; private FbDataAdapter fbDataAdapter = new FbDataAdapter(); private DataTable dataTable = new DataTable();void
MainFormLoad(object sender, EventArgs e){
}
private
void mostraTodos(){//String dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3";
}
catch(Exception ex){}
String sql = "Select * from usuarios"; this.fbDataAdapter.SelectCommand = new FbCommand(sql, this.fbConn); this.fbDataAdapter.Fill(this.dataTable);}
Note as linhas:
1 -> string dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3";
2 -> string dadoCon = System.Configuration.ConfigurationSettings.AppSettings["conexao"].ToString
Se for utilizar a 1 passe aqui todas as propriedades para conecta ao BD, usuário, senha, url e dialect.
Se for ultilizar a 2 crie um arquivo XML na raiz do projeto com nome app e extensão XML (app.xml) com o conteúdo como segue abaixo.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="dadosBD" value="User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb;Dialect=3" />
</appSettings>
</configuration>Pronto é isso ai espero te ajudado.
Só para desencargo segue abaixo o projetinho que utilizei para aprender a conectar.
/*
* Criado por SharpDevelop.
* Usuário: Tomassoni
* Data: 18/3/2008
* Hora: 13:50
*
* Para alterar este modelo use Ferramentas | Opções | Codificação | Editar Cabeçalhos Padrão.
*/
using
System;using
System.Collections.Generic;using
System.Drawing;using
System.Windows.Forms;using
System.Data;using
FirebirdSql.Data.FirebirdClient;namespace
NovoFBFree{
/// <summary>///
Description of MainForm. /// </summary> public partial class MainForm : Form { private FbConnection fbConn; private FbDataAdapter fbDataAdapter = new FbDataAdapter(); private DataTable dataTable = new DataTable(); public MainForm(){
//// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent(); ////
TODO: Add constructor code after the InitializeComponent() call.//
} void MainFormLoad(object sender, EventArgs e){
this.dataGrid1.DataSource = this.dataTable; this.mostraTodos();}
private void mostraTodos(){ this.dataTable.Clear(); //MessageBox.Show(System.Configuration.ConfigurationSettings.AppSettings["conexao"].ToString());//String dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3";
string dadoCon = System.Configuration.ConfigurationSettings.AppSettings["conexao"].ToString(); this.fbConn = new FbConnection(dadoCon); try{ this.fbConn.Open();}
catch(Exception ex){ MessageBox.Show("Erro ao efetuar conexão" + ex.Message);}
String sql = "Select * from usuarios"; this.fbDataAdapter.SelectCommand = new FbCommand(sql, this.fbConn); this.fbDataAdapter.Fill(this.dataTable);}
private void inserirBD(){ String dadoCon = "User=SYSDBA;Password=masterkey;DataBase=c:\\GENERICO.fdb; Dialect=3"; this.fbConn = new FbConnection(dadoCon); try{ this.fbConn.Open();}
catch(Exception ex){ MessageBox.Show("Erro ao efetuar conexão" + ex.Message);}
String sql = "insert into usuarios (nome) values('Junior2')"; this.fbDataAdapter.InsertCommand = new FbCommand(sql, this.fbConn); this.fbDataAdapter.InsertCommand.ExecuteNonQuery(); this.mostraTodos(); this.fbConn.Close(); this.fbConn.Dispose();}
}
}