UM PROVEDOR DE FIREBIRD

SASSAPOETA 08/06/2005 10:18:26
#87626
Ola galera:

Gostaria de saber qual é o provedor mais rápido para usar o firebird, entre os vbmaniacos eu descobri por comentário que o firebird é muito maior e menos voluvel que o access, porém eu fix uma tabela clientes com o firebird e inseri 75 mil registros e demora muito para abrir o bd cerca de 3 segundos, isso em uma máquina com 256 mb de memoria, pentiun 3 800 mega. sem estar na rede, com o access isso é instantaneo!!! Como eu faço para conseguir um provedor rápido, ou onde eu conseguiria
USUARIO.EXCLUIDOS 08/06/2005 11:19:52
#87658
Resposta escolhida
Se quiser outros provedores OLEDB para o FIREBIRD você encontrará no site oficial aqui no Brasil
http://www.firebase.com.br/fb/
LGUSTAVOC 08/06/2005 16:13:47
#87795
O link é este mesmo que o GERMANIR mencionou acima. E eu uso e recomento o ZStyle
USUARIO.EXCLUIDOS 08/06/2005 17:52:29
#87828
Eu uso o IBFREE, IBOLEDB.DLL, e nunca tive problemas. O ZStyle também é muito bom, roda sem problemas. Mas, achei a IBOLEDB.DLL mais rápida...
USUARIO.EXCLUIDOS 08/06/2005 18:13:31
#87836
Pelos outros tópicos notei que usava o access, só mais uma dica
Instale o DBManager
(http://www.dbtools.com.br/PT/dbmanagerpro). Tem um wizard que importa
MSAccess, MSExcel, ODBC, Xbase, Arquivos Textos (formatados/delimitados),
HTML, XML. O DBManager é um gerenciador para MySQL, PostgreSQL, Interbase,
Firebird, SQLite, tabelas XBase, MSAccess, MSSQL Server, Sybase e Oracle.
Para migrar dados de um para outro e só arrastar a tabela e soltá-la em um
outro banco/servidor.
Obs: [txt-backcolor=#ffff00]O wizard para importar MSAccess permite importar/converter: estrutura,
dados, consultas e relationamentos.
Se tiver alguma coisa em access e quiser migrar... é uma mão na roda.[/txt-backcolor]
Abraços,
Germanir
SASSAPOETA 09/06/2005 08:43:05
#87920
Bom gostei das dicas, porém ainda usando o Iboledb, meu banco de dados abre lento: Exemplo, fiz um bd no firebird só com uma tabela clientes e ele com esta procidure pequena abre muito lento, demora cerca de 4 segundos da maquina principal, se isto estiver na rede eu nem imagino quanto vai demorar.

Dim scaminho As String

scaminho = "C:\bdFirebird\BDSYSTCOM.GDB"
Dim sql As String
Dim c As ADODB.Connection
Dim r As ADODB.Recordset
Set c = New ADODB.Connection
Set r = New ADODB.Recordset
r.Open "SELECT clicodigo,clibairro,clicpf,clinome,clibairro, clicep, cliendereco from tabcliente order by cliNOME desc", "Provider=IbOleDb.1;Data Source=C:\bdfirebird\bdsystcom.gdb;User ID=SYSDBA;Password=masterkey;Persist Security Info=True"

'Set r = c.Execute(sql)
r.MoveFirst
MsgBox r!cLINOME

Se alguem tiver uma dica eu agradeço!!!
DOMLOAD 09/06/2005 09:29:11
#87932
[txt-size=3]
Para fazer a conexão eu uso o IBoleDB.dll
..uso a seguinte rotina... ..ela demora pra conectar a primeira vez (via rede 3 seg)... ..depois fica rápido (máx 1 seg)

' ****************************

Dim adoConn As New ADODB.Connection
Dim rst As New ADODB.Recordset

Sub ConectaAoBanco_teste()

adoConn.Open "Provider=ZStyle IBOLE Provider;Password=masterkey;User ID=SYSDBA; SQL Dialect=3 ;Logging Level=0; Data Source=NOME_SERVIDOR:DISCO:\PASTA\PASTA_DO_BANCO\DB.gdb;Open Mode=0"
rst.CursorLocation = adUseClient
MsgBox "Conexão Ok"

End Sub

' ****************************

Sub DesconectaBanco_teste()

rst.Close
adoConn.Close

Set rst = Nothing
Set adoConn = Nothing
MsgBox "Desconectado com Sussesso"

End Sub [/txt-size]
SASSAPOETA 09/06/2005 10:59:46
#87965
Bom gostei da suas procedures a conecção esta rápida, mas e para acessar os tados, exemplo de determinada tabela, tbclientes, como eu faço?
USUARIO.EXCLUIDOS 09/06/2005 11:03:22
#87966
Aqui.. sasa..:

Dim adoConn As New ADODB.Connection
Dim rst As New ADODB.Recordset

Sub ConectaAoBanco_teste()

adoConn.Open "Provider=ZStyle IBOLE Provider;Password=masterkey;User ID=SYSDBA; SQL Dialect=3 ;Logging Level=0; Data Source=NOME_SERVIDOR:DISCO:\PASTA\PASTA_DO_BANCO\DB.gdb;Open Mode=0"
rst.CursorLocation = adUseClient
[txt-backcolor=#ffff00]set rst.connection = adoCnn
sql = "select * from clientes"
rst.open sql,cnn adOpenDynamic, adLockOptimistic [/txt-backcolor]
End Sub

' ****************************

Sub DesconectaBanco_teste()

rst.Close
adoConn.Close

Set rst = Nothing
Set adoConn = Nothing
MsgBox "Desconectado com Sussesso"

End Sub

entendeu?
SASSAPOETA 09/06/2005 17:17:18
#88088
Pucha mas por que a conecção com o Bd é tão rápida mas quando tentamos acessar algum registro Ela se torna lenta, eu estou testado se código com pouco mais de 100 mil registro em uma tabela com 3 campos, mas esta muito demorado, para acessar o ultimo item!!!





[S91][S91][S91][S91]
USUARIO.EXCLUIDOS 09/06/2005 17:43:30
#88103
Usa o MOVELAST do Recordset, ou abre o índice de cabeça pra baixo (ordenar com DESC), e vai para o primeiro registro. Pra cair num registro específico, use o WHERE, ao invés de navegar com o recordset todo carregado.

PS: Nunca use o SELECT * FROM TABELA, selecione somente os campos que for usar pra fazer a consulta.
Tópico encerrado , respostas não são mais permitidas