Autor Tópico: Windev 19 + ODBC (Firebird)  (Lida 6073 vezes)

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Windev 19 + ODBC (Firebird)
« Online: Maio 29, 2014, 11:15:08 am »
Bom dia.

Temos um aplicativo desenvolvido em WD 18 acessando um banco de dados Firebird via ODBC o qual funciona perfeitamente.

Ao migrar para o WD 19 notamos que o tempo de acesso às tabelas é impraticável, por exemplo, o uso da função HReadFirst() ficou muito demorado, em alguns casos demora +1 minuto para acessar um registro.

Algum dos colegas já passou por isto?

Grato.

Arlindo Reis

  • Sr. Member
  • ****
  • Mensagens: 291
  • Karma: +0/-0
Re:Windev 19 + ODBC (Firebird)
« Responder #1 Online: Maio 29, 2014, 02:39:05 pm »
Amigo, ainda não trbaalhei com Firebird, mas...

Creio que a compatibilidade foi até ao 18 (Veja aqui a lista) pule para Remarks, possa ser que ainda será implementado!

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Windev 19 + ODBC (Firebird)
« Responder #2 Online: Maio 29, 2014, 03:05:01 pm »
É verdade.
Me parece que terei que manter este aplicativo na versão 18.

Grato pela informação.

zazibr

  • Jr. Member
  • **
  • Mensagens: 94
  • Karma: +0/-0
Re:Windev 19 + ODBC (Firebird)
« Responder #3 Online: Maio 30, 2014, 06:10:58 pm »
ola jacques ja tentou usar esse produto ?

http://www.ibprovider.com/


JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Windev 19 + ODBC (Firebird)
« Responder #4 Online: Junho 02, 2014, 08:53:02 am »
Bom dia.
Desconheço este componente. Vou fazer um teste com a versão demo.
Grato pela informação.

PauloViana

  • Full Member
  • ***
  • Mensagens: 104
  • Karma: +0/-0
Re:Windev 19 + ODBC (Firebird)
« Responder #5 Online: Junho 03, 2014, 02:29:50 pm »
Jacques, por curiosidade resolvi testar o windev19+odbc firebird e o desempenho foi normal
achei muito rapido, como a tabela que estou utilizando é pequena(20.000) isto pode ser o diferencial

att

Paulo Viana

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Windev 19 + ODBC (Firebird)
« Responder #6 Online: Junho 03, 2014, 02:37:53 pm »
Boa tarde.
Pois o meu caso é mais sinistro.
O sistema faz a conexão instantanea com o banco, porém, demora quase 2 minutos para acessar a tabela de parametros do sistema.
Esta tabela tem apenas um registro, porem, tem +500 campos.

bResultado is boolean

// Parametros da conexão com Firebird
FBConnection..Provider = hODBC
FBConnection..User = sUser
FBConnection..Password = sPassword
FBConnection..Server = sDSN
FBConnection..Database = sServer + ":" + sDatabase
FBConnection..Access = hOReadWrite

bResultado = HOpenConnection(FBConnection)
IF bResultado <> 1 THEN
    Info(HErrorInfo())
END

bResultado = HChangeConnection(Firebird,FBConnection)       
IF bResultado <> 1 THEN
    Info(ErrorInfo())
END                       

// Aqui demora +2 minutos para ler estes dois campos:

HReadFirst(CADPARAMETROS,ID)
IF HFound() THEN
    gsName = CADPARAMETROS.NAME
    gdDate = CADPARAMETROS.DATE
END

PauloViana

  • Full Member
  • ***
  • Mensagens: 104
  • Karma: +0/-0
Re:Windev 19 + ODBC (Firebird)
« Responder #7 Online: Junho 03, 2014, 02:49:33 pm »
Estou te enviando um anexo da minha conexão


JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Windev 19 + ODBC (Firebird)
« Responder #8 Online: Junho 03, 2014, 02:56:01 pm »
Tenho conexão similar na Analyse.
Porem, ao executar o aplicativo em cada cliente (considerando que cada qual possui o seu servidor, banco, etc) necessito conectar via tela de login, como mostrado abaixo. O mesmo aplicativo quando compilado com WD18 funciona perfeitamente, porém, demora demais quando compilado com WD19.

bResultado is boolean

// Parametros da conexão com Firebird
FBConnection..Provider = hODBC
FBConnection..User = sUser
FBConnection..Password = sPassword
FBConnection..Server = sDSN
FBConnection..Database = sServer + ":" + sDatabase
FBConnection..Access = hOReadWrite

bResultado = HOpenConnection(FBConnection)
IF bResultado <> 1 THEN
    Info(HErrorInfo())
END

bResultado = HChangeConnection(Firebird,FBConnection)       
IF bResultado <> 1 THEN
    Info(ErrorInfo())
END 

eduardowolak

  • Full Member
  • ***
  • Mensagens: 146
  • Karma: +0/-0
Re:Windev 19 + ODBC (Firebird)
« Responder #9 Online: Junho 03, 2014, 06:11:38 pm »
Então Jacques, muito provável que o Windev está fazendo um "SELECT * FROM tabela", tente fazer um SQLExec em vez de HReadFirst, o Paulo deve ter testado com poucas colunas acredito eu, faça um select com apenas os campos que vc precisa, as vezes campos BLOB com "SELECT *" são lentos demais também....

Wolak.

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Windev 19 + ODBC (Firebird)
« Responder #10 Online: Junho 03, 2014, 06:24:33 pm »
Provavelmente deve ser isto.
O tratamento do WD foi alterado da versão 18 para a 19.
Por ora, vamos deixar este aplicativo na versão 18 até encontrarmos uma solução adequada para isto.

Grato pelas sugestões.