Clipper On Line • Ver Tópico - Teste de SQL com DBF

Teste de SQL com DBF

Discussão sobre SQL

Moderador: Moderadores

 

Teste de SQL com DBF

Mensagempor asimoes » 19 Jan 2020 11:17

Usando Bind
        AbreCommand( @oCommand )
         
         cSql := "SELECT * FROM APA01 WHERE CODIGO = ?"
         
         WITH OBJECT oCommand
            oPrm := :CreateParameter("CODIGO", adVarChar, adParamInput, 5, "20735")
                    :Parameters:Append( oPrm )
                    :CommandText := cSQL
                    :CommandType := adCmdText
            oRs := :Execute()
         END
         
FUNCTION AbreCommand( oCommand )

   WITH OBJECT oCommand := Win_OleCreateObject( "ADODB.Command" )
      :ActiveConnection := oConexao
   END
   
RETURN Nil
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Teste de SQL com DBF

Mensagempor asimoes » 19 Jan 2020 11:36

Marcos Kieron escreveu:Fica complicado para usar ADS, creio que é melhor passar direto para um SQL, compensa o esforço

Abra outro tópico e faça a sua sugestão, esse tópico é para quem quer testar o SQL com DBF, não significa que vai usar.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Teste de SQL com DBF

Mensagempor Marcos Kieron » 19 Jan 2020 12:41

?
Se está procurando um forum exclusivo, talvez vai ter que criar um só seu
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

Teste de SQL com DBF

Mensagempor Ranier » 19 Jan 2020 13:34

De novo aviso aos navegantes...
ADS é um produto comercial não livre, tem que comprar licença de uso.
https://www.sap.com/cmp/td/sap-advantage-database-server-trial.html
Quer usar um produto, realmente livre e não ter dor de cabeça, use PostgreSQL.

Muito informativo esse forum, muita propagada grátis de produto pago ou não passível de uso em produto comercial (GPL).
Ranier
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 80
Data de registro: 02 Abr 2019 09:01
Cidade/Estado: Goiania/Goias
Curtiu: 0 vez
Mens.Curtidas: 9 vezes

Teste de SQL com DBF

Mensagempor asimoes » 19 Jan 2020 13:43

Nem desenhando adianta, nego quer perturbar
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Teste de SQL com DBF

Mensagempor asimoes » 19 Jan 2020 17:33

Se for usar o provider da Microsoft, atenção com campos tipo data, tem que usar # ou trabahar com bind
cSql := "SELECT * FROM ADMSAUDE WHERE DENTRADA BETWEEN #01/01/2018# and #31/12/2018# AND CODIGO = 'RIOP' ORDER BY DENTRADA"  // A DATA COM # PARA USAR COM OLEDB DA MICROSOFT

oConexao:ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + cPath + ";Extended Properties=dBASE IV;User ID=Admin;Password=;"
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Teste de SQL com DBF

Mensagempor JoséQuintas » 20 Jan 2020 02:36

Ranier escreveu:De novo aviso aos navegantes...
ADS é um produto comercial não livre, tem que comprar licença de uso.
https://www.sap.com/cmp/td/sap-advantag ... trial.html
...
Muito informativo esse forum, muita propagada grátis de produto pago ou não passível de uso em produto comercial (GPL).


http://devzone.advantagedatabase.com/dz/webhelp/advantage9.1/advantage_local_server.htm

There is no cost for the Advantage Local Server. The Advantage Local Server is installed with all Advantage Windows and Linux client products (which are also free). This allows you to develop applications for single and multi-user environments and distribute them royalty-free when using the Advantage Local Server.
The Windows version of the Advantage Local Server is a DLL named ADSLOC32.DLL. The Linux version of the Advantage Local Server is a shared object named libadsloc.so.
...
If an Advantage application is distributed to work without the Advantage Database Server (i.e., it uses the Advantage Local Server to access data), the application must act as a "client" that directly accesses and uses the data. The application cannot act as "middleware" or as a "server" by having the data forwarded by any means to a separate computer. In other words, it is illegal to use the Advantage Local Server with a Web server, an application server, a terminal server, or any other type of middleware or server product to access data on behalf of remote computers. An Advantage Database Server (a.k.a., remote server) product must be purchased and used to allow an Advantage application to access data on behalf of applications running on remote computers.


NÃO TEM CUSTO.
Mas é proibido usar em um aplicativo que atue como servidor.

Como eu já disse em outro tópico:
O problema do mundo xbase é que todos querem vender algum produto.
E forçam para que os programadores não aprendam nada novo.

Aprender SQL encima de DBFs deixando mais rápido.... o que será das LIBs comerciais que trabalham com outras bases deixando igual DBF ??
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste de SQL com DBF

Mensagempor JoséQuintas » 20 Jan 2020 03:09

E se alterar o aplicativo pra ADO, pra ADS com DBFs, e gostar....

Depois o programador vai ficar preso no ADO.... só tem 60 bases de dados na lista...

https://www.connectionstrings.com/

adi.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste de SQL com DBF

Mensagempor asimoes » 21 Jan 2020 17:48

Eu estava me empolgando com ADS, então tentei usar:

oConexao:BeginTrans()

oConexao:CommitTrans()

oConexao:RollbackTrans()

Ai toiiiinn é DBF não adianta fazer um RollbackTrans, apesar de não dar erro, mas o registro é gravado. DBF não é um SGDB

Para usar até que vale por ser mais rápido e engrenar no SQL, depois é só migrar com poucas modificações.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Teste de SQL com DBF

Mensagempor Ranier » 21 Jan 2020 18:45

http://devzone.advantagedatabase.com/dz/webhelp/advantage9.1/advantage_local_server.htm

The Advantage Local Server allows both single-user and multiple-user access to data files. The Advantage Local Server file that is installed with Advantage client products contains a physical limitation such that only five or fewer users can concurrently access any table. This limitation was implemented to allow developers the ability to encourage their customers to upgrade to the Advantage Database Server client/server solution when more than five concurrent users were being used so as to reduce data corruption, increase application performance, and reduce support costs. If you wish to have more than five concurrent users accessing data via the Advantage Local Server, inquire about such support with your Advantage Sales representative or Advantage distributor.


Faltou dizer que essa "solução", é para uso somente com 5 usuários..., ou seja, vai nadar, nadar e morrer na praia.
Ficar perdendo tempo e dinheiro, muito melhor é partir pra uma solução definitiva, SQL com PostgreSQL.
Se vai acessar com ADO é outros 500, tanto faz, ninguém está impondo nada, estamos aqui esclarecendo somente.

"NÃO TEM CUSTO.", custo direto, talvez não, mas e os custos indiretos.

"Como eu já disse em outro tópico:
O problema do mundo xbase é que todos querem vender algum produto."

E você não? Ou você não tem produto comercial? Distribui de graça?
Pelo menos estou vendendo meu produto, e não o de outros, nem fazendo propaganda de produtos de terceiros.

"E forçam para que os programadores não aprendam nada novo."

Você é quem está forçando que outros aprendam, coisas inúteis, a longo prazo.

Aprender SQL encima de DBFs deixando mais rápido.... o que será das LIBs comerciais que trabalham com outras bases deixando igual DBF

Quem estiver usando a HBDBD, se sairá muito melhor, vejamos.
Poderá migrar para SQL, sem grandes transtornos, continuando a usar relatórios, browsers, com comandos xBase;
Poderá usar PostgreSQL, em Windows, Linux e FreeBSD;
Poderá usar Sqlite em Windows, Linux e FreeBSD.
Poderá usar MySQL em Windows, Linux e FreeBSD (legalmente), uma vez que a licença comercial, está na biblioteca.
Poderá usar REDIS cache em Windows, Linux e FreeBSD;
Poderá usar MongoDB (em desenvolvimento), com comandos MongoDB, diretamente do Harbour;
Enfim, a HBDBD, cria um novo patamar, único, avançado, não prendendo ninguém ao Windows, como a ADO faz hoje.

Mas, não estou "forçando" ninguém a comprá-la, use o que melhor convier.
Ranier
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 80
Data de registro: 02 Abr 2019 09:01
Cidade/Estado: Goiania/Goias
Curtiu: 0 vez
Mens.Curtidas: 9 vezes

Teste de SQL com DBF

Mensagempor JoséQuintas » 21 Jan 2020 19:08

Ranier escreveu:Faltou dizer que essa "solução", é para uso somente com 5 usuários..., ou seja, vai nadar, nadar e morrer na praia.


Que bom que quando usei não tinha isso.
Usei pra 20 usuários.
Se a limitação for do ODBC atual, só usar o anterior.

Estamos falando de usar em determinados relatórios, pra agilizar, NÃO será necessário pra inclusão/alteração/exclusão, apesar de poder usar, porque isso o Harbour já faz.

E o que tem a ver seu produto com isso?

Poderá usar MySQL em Windows, Linux e FreeBSD (legalmente), uma vez que a licença comercial, está na biblioteca.


Uia....
De repente o que era proibido virou permitido.

Ranier escreveu:como a ADO faz hoje.


ODBC tem no Linux, ADO é apenas uma das opções que não tem no Linux.

Primeiro o problema era o ADS, depois era o MySQL, agora é o ADO.....

Faltou você mencionar:

A Microsoft declarou que o ADO era obsoleto, isso foi logo que entrou o W7 SP1, alguns anos atrás.

É que no W7 SP1, ela alterou a comunicação pra 64 bits, e não liberou componentes pra Visual Basic 6.
Era alterou pra 64 bits, pra funcionar com o Office que ela havia lançado.
Ou seja, obsoleto para os outros mas não pra ela....
Na época, recomendou usar CreateObject() ao invés da forma original do VB6.

Bom... usa quem quiser.

Com certeza, até mesmo se for usar esse tal de HBDBD, não será nenhum problema se tiver treinado comandos SQL encima de DBF antes.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste de SQL com DBF

Mensagempor JoséQuintas » 21 Jan 2020 19:17

Arquivo de HELP distribuído com ADS Local

ADSLOCAL.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste de SQL com DBF

Mensagempor JoséQuintas » 21 Jan 2020 19:27

Depois de 26 janelas desisti de tentar descobrir o limite...

ADSLOCAL.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Teste de SQL com DBF

Mensagempor asimoes » 21 Jan 2020 19:44

Meu cliente são 4 máquinas, incluindo o servidor, então não tenho limitação.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Teste de SQL com DBF

Mensagempor JoséQuintas » 21 Jan 2020 19:48

Ia tentar estourar o limite usando multithread, mas ....
NÃO funciona com multithread.
Pelo menos aqui no teste, de jeito nenhum, mesmo reutilizando a mesma conexão já aberta, como faço no MySQL.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior Próximo



Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro