Array
(
)

ERRO - ADO com firebird

Rafael Gomes
   - 02 fev 2006

bom amigos é o seguinte ...

estou apenas testando o uso do ADO com o firebird

tenho o seguinte codigo no evento onCreate de meu form ...

#Código

c.ConnectionString:=´Provider=MSDASQL.1;Persist Security Info=False;Data Source=Firebird´;
c.Connected:= true;
tb.Connection:= c;
tb.TableName:= ´TBTESTE´;
tb.Active:= true;


se eu carregar os fields no componente tb, nao da erro nehum ... mas se eu deixar sem nenhum field ele me da o seguinte erro!

´could not convert variant of type (Null) into type (String)´

pq esse erro???
abraçoss


Renato.pavan
   - 02 fev 2006

Rafael, também utilizo o Ado com firebird, so q utilizom o driver ZStyle - IBFree, e com este nunca tive problema como o descrito por vc, ja q esta testando mesmo, baixe ele e faça o teste
http://www.zstyle.dp.ua/eng/download.htm
Caso queira tirar alguma duvida pode me add no msn
renatopavan2002@hotmail.com

T+

[]´s

Renato


Rafael Gomes
   - 02 fev 2006

muito obrigado Renato, ja esta adicionado no msn ...
eu vou testar seu driver, mas quero lembrar que estou usando os drivers de acesso disponibilizados pelo site oficial do firebird ...

ninguem saberia me dizer o pq este erro ocorre? fiz uma pesquisa no forum mas nao adiantou muita coisa ...

gostaria de resolver o problema sem mudar drivers de acesso e etc ...
bem pessoal, é isso!!!

conto com a colaboracao dos colegas de forum!!

[]ss


Rafael Gomes
   - 02 fev 2006

olá pessoal, estou apenas postando para comunicar que resolvi o problema que gerou a criacao deste topico, e dizer tbm como resolvi o problema caso alguem tenha as mesmas dificuldades que eu ...

uma das solucoes é a proposta do nosso amigo renato e utilizar o driver oledb disponibilizado no link acima ...

e a segunda, é continuar utilizando odbc e ao inves de utilizar o componente adotable, utilizar quaisquer componentes da paleta ADO, pois o problema esta no componente adotable, com adodataset e adoquery funciona perfeitamente ...

se alguem souber de alguma incompatibilidade do adotable com o firebird poste para o beneficio de todos ...

um grande abraço!!!

Rafael :D


Sourcecode
   - 02 fev 2006

Estranho dar este erro, talvez seja porque você não passou o charset para a conexão, o chato de trabalhar com ADO é isso, às vezes aparecem erros sem sentido, tenta conectar ao banco EMPLOYEE.FDB na pasta examples do firebird e veja se dá o mesmo erro... fiz uma conectionstring para você usar como exemplo:

#Código

Provider=MSDASQL.1;Password=masterkey;User ID=SYSDBA;Extended Properties="Driver={Firebird/InterBase(r) driver};Dbname=C:\Arquivos de programas\Firebird\Firebird_1_5\examples\EMPLOYEE.FDB;CHARSET=NONE;Role=NONE"


o adotable funcionou certinho, se continuar aparecendo o erro me passa a extrutura da sua tabela que posso verificar pra você, pode me contactar no msn: sourcecode@terra.com.br entre 18 e 20 h.
Quanto ao driver que nosso amigo indicou não creio que seja uma boa solução, ´OLE DB driver for Interbase/Firebird version 5.0.11, 10.02.2004´, fevereiro de 2004, tá muito desatualizado, pode ocasionar algum problema nas versões acima da 1.03 do firebird, é bem mais seguro usar o driver oficial.


Rafael Gomes
   - 03 fev 2006

olá sourcecode ... estranho mesmo o erro, interessante é que acontece apenas com ADOTable, por isso que eu disse que foi uma falha no componente, e quanto a usar o driver OLEDB creio que seja uma saida, mas assim como voce fiquei com o pé atras!

vou testar sua string de conexao e ver se vai dar algum erro ... e ja adianto a estrutura da minha tabela, nao tem nd demais!!

o sql que gera a tabela é esse aqui

#Código


/******************************************************************************/
/**** Generated by IBExpert 03/02/2006 08:31:57 ****/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES NONE;



/******************************************************************************/
/**** Tables ****/
/******************************************************************************/



CREATE TABLE TBTESTE (
CODIGO INTEGER,
NUMERO INTEGER,
NOME VARCHAR(10)
);




/******************************************************************************/
/**** Privileges ****/
/******************************************************************************/


grande abraço!!


Rafael Gomes
   - 03 fev 2006

o erro persiste com a sua string de conexao ...

#Código

Provider=MSDASQL.1;Password=masterkey;User ID=SYSDBA;Extended Properties="Driver={Firebird/InterBase(r) driver};Dbname=127.0.0.1:C:\Firebird\Firebird_1_5\examples\EMPLOYEE.FDB;CHARSET=NONE;Role=NONE"


interessante sourcecode é que eu vi relatos desse problema em varios foruns, e muitos problemas com usuarios de fora do pais ... só que em nenhum eu encontrei uma solucao diferente de ´ADO nao serve para ser utilizado com firebird, pq sempre ocorrem bugs como esse e o desempenho é muito inferior!!!´


Rafael Gomes
   - 04 fev 2006

alguem pode ajudar?