Fórum Delphi/Access (BDE) #227558

22/04/2004

0

Estou precisando desenvolver uma aplicação Delphi/Access (BDE), mas dá erro na hora de criar um alias usando como Database Driver Name, o MSACCESS. Estou definindo corretamente o caminho do mdb no Database Name, mas qd verifico se esse alias está funcionando ou não, pelo Database Login, dá esse erro:

Cannot load an IDAPI service library.
File: MSJT3032.DLL
Alias: AliasSCPesq

Alguém pode dar 1 help?


D4rk Schn31d3r

D4rk Schn31d3r

Responder

Posts

22/04/2004

Vinicius2k

Colega,

Em qual versão do Access foi desenvolvido o banco?
Os drivers são diferentes para 95, 97 e 2000... e o pior : a BDE não dah suporte à bancos Access 2000...
Já que vc está iniciando o desenvolvimento agora, por que não usa ADO ao invés da BDE... apenas uma sugestão...

T+


Responder

Gostei + 0

22/04/2004

D4rk Schn31d3r

Valeu pela dica sobre o ADO, mas é q já programo ha um bom tempo usanso o BDE com SQL Server, eu não queria mudar muito minha forma de programar, ainda mais q essa vai ser minha única aplicação em Access, portanto ... . De qq forma, tem certeza q o BDE não dá suporte mesmo ao Access 2000? Se for o caso, vou ter q pegar o Office 97 com alguém emprestado.


Responder

Gostei + 0

22/04/2004

Vinicius2k

Colega,

A não ser que exista algum ´macete´ de configuração q eu desconheça, pelo que sei (e não é muito) a BDE não suporta o Access 2000... infelizmente...
T+


Responder

Gostei + 0

22/04/2004

D4rk Schn31d3r

Ok, vou instalar o Access 97 segunda-feira aqui no trabalho (pq no Rio amanhã é feriado), e qq coisa volto aqui pra tirar alguma dúvida. Valeu.


Responder

Gostei + 0

26/04/2004

Tecnico_julio

Caro colega,
para usar um banco de dados ACCESS no DELPHI você deverá o componente ADO e ao invés de usar o BDE você deve usar o ODBC.


Responder

Gostei + 0

26/04/2004

Okama

Use o ADO com Access diretamente não precisa de ODBC, use um provedor Microsoft.Jet.OLEDB.4.0 e defina a localização do .mdb


Responder

Gostei + 0

28/04/2004

D4rk Schn31d3r

E ae, blz? Resolvi fazer essa aplicação em ADO mesmo, ao invés do BDE e estou com uma dúvida: como consigo passar, 1 valor para o parâmetro do objeto ADODataSet? Com BDE fazia assim:


frmDm.qryTeste.ParamByName(´prmIDTeste´).AsInteger := gNum; 



Responder

Gostei + 0

28/04/2004

Vinicius2k

Sabia escolha...
frmDm.ADOQRYTeste.Parameters.ParamByName(´prmIDTeste´).Value := gNum;


T+


Responder

Gostei + 0

29/04/2004

D4rk Schn31d3r

Valeu, funcionou! Outra coisa, tem como definir em qual linha escrever, dentro do CommandText Editor do ADODataSet, em tempo de execução? No BDE, fazia assim por exemplo:

 
Procedure TfrmConsPesq.dbgConsPesqTitleClick(Column: TColumn);
   Begin
      frmDm.qryConsPesq.Close;
      frmDm.qryConsPesq.SQL[frmDm.qryConsPesq.SQL.Count -1] := ´ORDER BY ´ + Column.FieldName;
      frmDm.qryConsPesq.Open;
   End;



Responder

Gostei + 0

30/04/2004

D4rk Schn31d3r

Updating, ...


Responder

Gostei + 0

30/04/2004

Vinicius2k

Colega,

O CommandText eh uma WideString e não uma TStringList como na TQuery...
Vc precisa fechar o DataSet e passar a string toda novamente...

T+


Responder

Gostei + 0

30/04/2004

D4rk Schn31d3r

Valeu, já desconfiava disso, hehehe. :)


Responder

Gostei + 0

30/04/2004

D4rk Schn31d3r

Ihhh, tá dando esse erro: [Error] ConsPesq.pas(117): String literals may have at most 255 elements! O problema é q meu código SQL tem mais de 255 caracteres, e agora?!?

frmDm.adodsConsPesq.CommandText := ´SELECT Pesq.ID_Pesq, Pesq.Num_Prot, Pesq.Tit_Proj, Inst.Inst, Pesquis.Pesquis FROM Pesq, Inst, Pesquis WHERE Inst.ID_Inst = Pesq.ID_Inst AND Pesquis.ID_Pesquis = Pesq.ID_Pesquis AND Pesq.Num_Prot LIKE :prmNumProt AND Pesq.Tit_Proj LIKE :prmTitProj AND Inst.Inst LIKE :prmInst AND Pesquis.Pesquis LIKE :prmPesquis ORDER BY ´ + Column.FieldName;



Responder

Gostei + 0

30/04/2004

Vinicius2k

D4rk Schn31d3r,

:shock:
Isso eh no mínimo estranho, jah q uma WideString deveria aceitar 2^30 caracteres... eu consigo simular o erro e, falando honestamente, não sei a causa...
Bem, mas acho q no seu caso seria mais conveniente vc usar uma ADOQuery... ateh pq vc teria a propriedade SQL como TStringList e resolveria também seu problema anterior (com a mudança apenas da última linha da instrução)...

T+


Responder

Gostei + 0

01/05/2004

Anjocurioso

eu sei que ja é um pouco tarde, mas voce poderia ter criado um alias no ODBC do windows e o alias ja seria automaticamente exportado para o BDE e voce poderia fazer o acesso pelos componentes do BDE normalmente.... só uma sugestão ok??


Atenciosamente


Ellerson


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar