Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes :: 1 Motor de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Espessura do cursor intermitente

7/3/2017, 09:08 por Jefferson Matakas

Bom dia a todos !!

Existe uma opcao no windows que pode ser acessada atraves da 'central da …

Comentários: 0

DESENVOLVIMENTO EM REDES

4/3/2017, 18:45 por AJC

Pessoal tem ou conhece livros ou material para programação em
redes usando banco de dados nativo …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 4

Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Enviar msg para WhatsAPP via VFP

7/2/2017, 10:31 por Eliana

Olá Pessoal!

Alguém sabe se é possível enviar mensagem para o WhatsAPP via VFP?


Grata


Comentários: 0

Estatísticas
Temos 7037 usuários registrados
O último usuário registrado atende pelo nome de GETULIO

Os nossos membros postaram um total de 31 mensagens em 17 assuntos

Lentidão - VFP9 -> Firebird

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Em curso Lentidão - VFP9 -> Firebird

Mensagem por alissonfigueiredo em 25/1/2011, 15:53

Pessoal, estou com problemas para inserir ou atualizar dados em uma tabela do
Firebird. Uma loop de 15.000 registro demora em torno de 4 a 6 minutos, tanto
para transaçao manual ou via Cursor Adapter. Ex:


Código:
store sqlstringconnect(pstringconexao) to conecta
lcomando=sqlsetprop(conecta, 'Transactions',2)
sele 1
use produto
go top
do while not eof()
store codigo to cod
store descricao to des
store preco to pre
lcomando=[ insert into propdv (codpro,despro,prepro) values]+ [ (
]+cod+[,']+des+[',]+transform(pre)+[)]
lcomando =sqlexec(conecta,comando)
if lcomando=1
sqlcommit(conecta)
else
sqlrollback(conecta)
endif
sele 1
skip
enddo
sqldisconnect(conecta)

por esse exemplo abaixo, tb fica lento

Código:
thisform.datanevironment.oconnection.begintrans()
sele 1
use produto
go top
do while not eof()
store codigo to cod
store descricao to des
store preco to pre
insert into propdv (codpro,despro,prepro) values ;
(cod,des,pre)
sele 1
skip
enddo
lctabela="ProPdv"
if tableupdate(0,.t.,lctabela)
thisform.dataenvironment.oconnection.commitrans()
else
thisform.dataenvironment.oconnection.rollbacktrans()
endif



Para um tabela com 100.000, 200.000 utilizando o comando update set .. where
.... demora uns 30 a 40 minutos ou mais.

O que posso fazer pagar agilizar a inserção de dados ou atualizacao?

Obrigado

Alisson Figueiredo
Varginha - Mg


alissonfigueiredo
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Em curso Re: Lentidão - VFP9 -> Firebird

Mensagem por Marcos Guedes em 25/1/2011, 17:06

Por que você está precisando alterar 15mil registros?
Qual a necessidade?
Talvez tenhamos outra dica que torne o processo menos demorado.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Em curso Re: Lentidão - VFP9 -> Firebird

Mensagem por alceu11 em 25/1/2011, 18:15

Realmente fazendo um teste de outra forma demora 3 segundos,,,
Imaginando ke demore 10 segundos para conectar,ao firebird.

so tire o Do while e coloquei um Scan,,,,,,,

Seria problema de memoria no servidor, ou pouca memoria na maquina,
ou quase nenhuma ?

Tem como testar esta rotina em outro equipamento, com mais memoria e processador.

O codigo que fiz so de piloto de prova.

Código:

Close Databases
Set Safety Off
*******gerando um arquivo com 15000 registros.....
Create Table teste1( codigo c(10) , descricao c(40), preco N(10,2))
wcod  =1
wdesc ='Produto '
valor =1
Select teste1

For i = 1 To 15000 
   Insert Into teste1 (codigo,descricao,preco) Values ( Alltrim(Str(wcod,6)), wdesc+Str(wcod), valor)
   wcod=wcod+1
   valor=valor+1
Next
*  BROWSE
Use In teste1  && fechei o arquivo
****************************

Create Table propdv( codpro c(10) , despro c(40), prepro N(10,2))

Sele 1
Use teste1
Go Top
If Not Eof()
Scan
*   Do While Not Eof()
      Store codigo To cod
      Store descricao To des
      Store preco To pre

      Insert Into propdv (codpro,despro,prepro) Values (cod,des,pre)
*      Sele 1
*      Skip
*   Enddo
ENDSCAN

Else
   Wait Window 'nao tem registros para esta operacao' Timeout 1
Endif

Select propdv
Browse Normal


Espero ter ajudado,,,,,,
,mais aqui foram apenas 5 segundos, sendo ke tive ke inserir, os 15 mil registros para teste.

avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Em curso Re: Lentidão - VFP9 -> Firebird

Mensagem por alceu11 em 26/1/2011, 08:44

Usando cursor adpater com Acess. ja ke como o firebird, nao consegui instalar
demorou menos de 30 segundos.
link do fonte. cusroadpater1
[Você precisa estar registrado e conectado para ver este link.]
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum