PRECISO MIGRAR DE BANCO DE DADOS URGENTE
Citação::
na opção 1, coloquei:SQL = [Ô]SELECT * FROM CLIENTE[Ô]
mas se eu tivesse colocado:SQL = [Ô]SELECT codigo, nome, status FROM CLIENTE[Ô]
mesmo assim a segunda opção seria a mais rapida?
Note que vc não usa a cláusula where, portanto, nas duas formas vc vai trazer TODAS as linhas.
Mas se vc vai apenas fazer insert, não tem sentido fazer o select para depois fazer o AddNew(). A não ser que vc esteja usando navegação de registros.
Citação::
:
na opção 1, coloquei:SQL = [Ô]SELECT * FROM CLIENTE[Ô]
mas se eu tivesse colocado:SQL = [Ô]SELECT codigo, nome, status FROM CLIENTE[Ô]
mesmo assim a segunda opção seria a mais rapida?
Note que vc não usa a cláusula where, portanto, nas duas formas vc vai trazer TODAS as linhas.
Mas se vc vai apenas fazer insert, não tem sentido fazer o select para depois fazer o AddNew(). A não ser que vc esteja usando navegação de registros.
Mas se não me engano, dependendo do cursor, os registros não são retornados. Eu não tenho um PC em rede pra testar os cursores. Talvez amanhã

Como não sei configurar o Server então vou só no Next, Next, Next mesmo.
Se tratando de rede, a diferença entre o XP e o Server é só a quantidade de conexões simutaneas que no XP é de no maximo 10 e no Server é configuravel... a diferente é só essa ou tenho algum recurso a mais que vai me ajudar a acessar minha base de dados mais rapida?
Vc já descobriu o motivo da lentidão da rede?
Aqui eu rodo o Oracle 10G sem problemas em um CentOS.
A lentidão na rede pode ser tbm por causa de hardware, cabos retorcidos e hub/switch mal configurado.
Mas não vi você FECHANDO essas conexões ou tabelas. Você tem feito isso ?
A execSQL vi que abre e fecha a conexão.
Cada vez que você chama a rotina Mostrar_Produtos ela abre a conexão, se ele chamar 10 vezes essa rotina irá criar 10 conexões desnecessárias no banco de dados. Procure sempre abrir o banco, realizar a operação desejada e em segudia fechar a conexão com o banco. Isso também serve para tabelas.
rs.close somente no unload do form
tá errado?
se eu mudar todas as minhas rotinas para usar o execSQL (por ele abre e fecha a conexão na mesma rotina) então não precisarei mais usar o rs.close e o bd.close em lugar nenhum ?
Nos projetos eu faço o seguinte:
Quando executo o sistemas eu abro a conexão com o banco de dados e só fecho quando terminar o sistema.
Tabelas eu abro quando chamo um formulário e fecho eles ao encerrar o formulário.
Uma dica: sempre que fechar um recordset, use Set RS = Nothing para liberar a memória que foi utilizada, e faço isso com formulários também no evento Form_Unload: set form=nothing.
Você disse que a máquina que é utilizada como servidor também é terminal, isso não é muito bom pois ela precisa além de fazer as tarefas responder as solicitações dos outros terminais. O bom seria ela ser, como o nome diz, apenas servidor. Uma vez me aconteceu isso, a máquina que era servidor também usavam como terminal e tinha horas que a pessoa dizia que os terminais ficavam muito lento. Fiquei um dia na empresa para ver como trabalhavam e descobri que a causa da lentidão era um sistema em Clipper que abriam no prompt de comando. Quando o programa era executado consumia muita memória e isso fazia com que as respostas do servidor aos terminais demorasse mais. Quando pararam de usar o servidor como terminal os problemas acabaram.
Citação::
Tá certo,
Nos projetos eu faço o seguinte:
Quando executo o sistemas eu abro a conexão com o banco de dados e só fecho quando terminar o sistema.
Tabelas eu abro quando chamo um formulário e fecho eles ao encerrar o formulário.
Uma dica: sempre que fechar um recordset, use Set RS = Nothing para liberar a memória que foi utilizada, e faço isso com formulários também no evento Form_Unload: set form=nothing.
Você disse que a máquina que é utilizada como servidor também é terminal, isso não é muito bom pois ela precisa além de fazer as tarefas responder as solicitações dos outros terminais. O bom seria ela ser, como o nome diz, apenas servidor. Uma vez me aconteceu isso, a máquina que era servidor também usavam como terminal e tinha horas que a pessoa dizia que os terminais ficavam muito lento. Fiquei um dia na empresa para ver como trabalhavam e descobri que a causa da lentidão era um sistema em Clipper que abriam no prompt de comando. Quando o programa era executado consumia muita memória e isso fazia com que as respostas do servidor aos terminais demorasse mais. Quando pararam de usar o servidor como terminal os problemas acabaram.
Sistema em Clipper consumindo muita memória?
Vc deve estar brincando né?
O Clipper não enxerga a memória real e sim memória convencional (e era uma briga para usar essa memória, pois era apenas 640k)