Jump to content
Fórum Script Brasil
  • 0

Problema Banco de Dados Firebird utilizando DRIVE ODBC conexão ADODB e


mauricioneto

Question

Bom Dia!

Primeiramente venho aqui agradecer à todos do Fórum ScriptBrasil que mesmo que involuntariamente, muito me ajudam. Obrigado!!!

Gostaria também de antecipar minhas desculpas caso o Tópico não esteja de acordo com as regras do fórum.

Deixo também algumas observações, tais como:

Obs.: Estou criando este tópico em meu trabalho, pois estou sem internet em casa ( mudei a pouco tempo e não consegui ainda transferir a instalação). Assim sendo, fica difícil postar erros etc... de maneira 100% clara e, por isso, tentarei ser claro em minhas perguntas e não me ater muito aos códigos.

OBS.: Configurações de PC: I5 -2° geração, 8 GB de memória, SO - Win 7 - 64;

Bem, vamos aos fatos! Sou iniciante em Visual Basic 6.0, ingressei no mesmo trabalhando com Banco de Dados Access, onde não obtive quaisquer problemas, claro, com um BD muito pequeno, algo entorno de 2000 registros. No Access sempre utilizei conexões comuns ( pelo menos para mim ) tipo." Public BD as Database "; " Public TB as Recordset "; sempre atendeu muito bem ao que eu pretendia, retornando dados de pesquisa mais rápido que um 'piscar de olhos'.

Com o passar do tempo, fui lendo, lendo e relendo, assim me deparei com o Firebird, que apesar das muitas reclamações que vi sobre dados corrompidos, me despertou curiosidade, dessa maneira baixei e instalei sua versão 2.0.4, juntamente do IBExpert Personal Edition e instalei também o Firebrid ODBC Drive para win 7 64 bits. Iniciei meus testes e estudos. Achei o IBExpert muito agradável, o ISQL do Firebird de fácil manipulação etc... tudo muito lindo, Fiz a transferência dos mesmos dados Acess para o Banco do Firebird, foi ai que começou aparecer alguns problemas.

1° O Banco de dados é muito pequeno ( pouco menos de 2000 registros ), no Access as consultas retornavam resultados em "menos de um piscar de olhos" ( como já disse acima ), nem dava para perceber a "olho nu" , tal sua velocidade. Com o Firebird, eu pensei que seria os mesmos resultados ( em velocidade ) ou até melhores, no entanto ele demora entre 3 e 4 segundos para me retornar a pesquisa, isto com o Banco já aberto. Ao meu ver, muito lento. Não sei se tem muito haver com a velocidade o fato de eu ter colocado o Page_Size em torno de 8000 ( não lembro o valor exato.)

2° Quando abria o BD com o Access era só eu indicar onde estava o BD, tipo: "C;\Banco\MeuBanco.MDB", ou usando o AppPath, de toda forma, não importando o local, sempre conseguia fazer abertura e conexão com o mesmo. Já com o Firebird, utilizando Drive ODBC e conexão ADODB, me retornou um problema. veja: Se o BD estiver na seguinte pasta "C:\Program Files\Firebird\Firebird_ODBC" consigo a conexão sem problemas. No entanto, se eu mudar o local do BD, mesmo que lá no VB6 eu altere a pasta como por exemplo "C:\SomenteUmTeste\BancoTeste\MEUBANCO.FDB", ainda assim ele me retorna o erro abaixo:

Run-time error '-2147217843 (80040e4d)':

[ODBC Firebird Drive]File Database is not found

3° Quando eu abria o BD com o Access, se não estiver enganado, eu fazia como descrito abaixo:

Private sub Form_load()

Dim Banco as Database

Dim TB as Recordset

Set Banco = OpenDatabase("caminhadoBancodeDados", false, false) ' se não estiver enganado novamente, essa é uma conexão DAO

Set TB = Banco.OpenRecordset("NomedaTabela")

End Sub

4° Já utilizando ADODB eu tentei o seguinte ( dá certo na pasta que já expliquei anteriormente ):

Private Sub Form_Load()

Dim Banco as New ADODB.Connection

Dim TB as New ADODB.Recordset

Banco.ConnectionString "DRIVER = Firebrid\InterBase® Driver; UID=SYSDBA; PWD=masterkey; DBNAME=MeuBanco.FDB"

Banco.Open

etc.. etc...

Se não estiver novamente enganado é esse código ai que eu escrevi lá em casa e com o BD lá na pasta do Firebird_ODBC funciona, mais se eu retiro de lá e especifico o local tipo: " ...... DBNAME=C:\Teste_BD\Banco\MeuBanco.FDB", ai já não funciona.

Agora vem as perguntas:

1° É normal essa demora em me retornar os resultados buscados no Banco de dados? Sei que meu PC não é apropriado para servir de Servidor, mas a aplicação é pequena, e o BD é minúsculo. Contudo, ainda utilizo instruções SQL para a busca ( eu li que é um tipo de instrução bastante rápida ).

2° Caso a resposta da primeira pergunta seja: "Não, não é normal!", como posso melhorar? a Page_Size está muito alta? Baixa? Qual seria o recomendado para a minha maquina e meu BD?

3° O Drive ODBC é bom para conexões com o Firebird através do VB6??

4° Tem algum drive melhor ( preferência grátis, afinal, estou em fase de estudo e aprendizagem ) ? Algum que vocês recomendam?

5° Esse negocio dele não reconhecer o BD quando eu o retiro do caminho " C:\Program Files\Firebird\Firebird_ODBC " tem solução? será que eu estou errando no código?

6° O que é melhor e porque.? Declarar a variável já com o New ADODB.Connection ou criar o ADODB.Connection e posteriormente mandar um New? Existe diferença?

7º Vocês tem algum Curso online ( preferência com vídeo-aulas ), pode ser PAGO que me recomendam? Não algo do tipo " ouvi dizer que esse curso é bom " e sim algo que vocês fizeram e acharam realmente bom, bem explicativo etc...?

Bom gente, é isso ai, peço desculpas novamente caso o texto tenha ficado demasiadamente grande e aproveito para agradecer mais uma vez. Vocês me ajudam muito. Muito Obrigado!!!

Ninguém??? :-(

Edited by mauricioneto
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...