PRECISO MIGRAR DE BANCO DE DADOS URGENTE

MARCOSLING 19/12/2010 18:06:49
#359919
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.
LLAIA 19/12/2010 19:46:56
#359927
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ã
WEBIER 20/12/2010 16:25:15
#360011
Pensei em instalar numa maquina o Windows Server 2003 (pois é o unico que tenho) e colocar o bd lá e deixar somente como servidor... o que vocês acham?

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?
MARCOSLING 21/12/2010 10:48:50
#360058
São quantas estações?

Vc já descobriu o motivo da lentidão da rede?
MSMJUDAS 21/12/2010 11:14:02
#360060
Vc poderia optar por instalar Linux no servidor de BD, como o CentOS, Debian, Slackware ou alguma outra distro. Acho mais seguro, rápido e confiável do que o Win Server.

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.
ALTAFIN 21/12/2010 12:06:11
#360066
Vi que em vários locais você usa a rotina Call ABRIR_BD_SEM_DATA1 e também abrindo as tabelas com Set RS = BD.OpenRecordset(SQL, dbOpenSnapshot).
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.
WEBIER 21/12/2010 23:22:26
#360144
Eu to fechando as 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 ?
ALTAFIN 22/12/2010 08:32:22
#360158
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.
MARCOSLING 22/12/2010 10:14:28
#360170
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)
Página 4 de 8 [75 registro(s)]
Tópico encerrado , respostas não são mais permitidas