VELOCIDADE DO ACCESS 2007

USUARIO.EXCLUIDOS 05/06/2007 09:18:29
#219775
é... funciona com Access sendo o banco de dados "Paí"... mas, o Oracle sendo o banco de dados "Pai" como no meu caso, dá um "erro" ORA00923... poi o motor do driver não esta reconhecendo a cláusula "IN"..., por enquanto continuo sem solução... eeehhh mundo viu!!!!

Obrigado Roberto.
USUARIO.EXCLUIDOS 05/06/2007 11:03:18
#219797
Estou fazendo uns teste aqui, parece que vai funcionar se nos abrir os dois bancos.

o banco pai nos fazemos o select e o banco que irá receber os dados nos usamos o insert, só que parece que a tabela já tem que existir no banco mdb, vou continuar com os teste e te informo, há, se puder me mandar os dois bancos eu posso tenstar com eles, se não der não tem problema.
USUARIO.EXCLUIDOS 05/06/2007 11:34:19
#219807
Na situação que tenho aqui a table já existe no banco de destino.
USUARIO.EXCLUIDOS 05/06/2007 14:12:22
#219844
Um problema que vi ali é que você abre e fecha o rsLocal cada vez que vai inserir um novo registro, e isso pode deixar lento o seu loop

Teste colocar o Open do rsLocal antes do While e o Close Depois do Loop, e coloque um Close antes do Goto Reiniciar também
USUARIO.EXCLUIDOS 10/06/2007 00:16:01
#220524
Tive uma idéia que axo interessante:

Vc disse sobre tabela vinculada em access, então cria uma tabela vinculada e outra identica mas não vinculada.

Para fazer a migração dos dados tenta utilizar um comando assim

INSERT INTO tabela_n_vinculada SELECT * FROM tabela_vinculada

Creio que com isto não estariamos utilizando o VB e nem o loop de nossa linguagem para migrar os dados ... para testar a aplicação utilize a tabela não vinculada.
USUARIO.EXCLUIDOS 11/06/2007 09:08:43
#220611
Emerson,

Utilizado a sintaxe tal qual você fala, ocorre um erro com o Oracle --- ERRO 00923 ---
USUARIO.EXCLUIDOS 11/06/2007 13:06:09
#220676
Vc tentou fazer esta consulta direto no Access ??
Pois usando tabela vinculada do SQL Server funcionou perfeitamente.

INSERT INTO tabela_n_vinculada SELECT * FROM tabela_vinculada


1- Eu criei tabela access vinculada a outra no SQL Server
2- Criei uma tabela com a mesma estrutura do SQL Server no access, mas não vinculada
3- Utilizei o comando acima numa consulta dentro do Access para utilizar o Access como minha ferramenta de migração e nao precisar ficar loopando um RS
4- Esta consulta pode ser chamada disparada do VB sem problemas

Este processo migrou cerca de 10.000 registros do SQL Server para a tabela Access quase que imediatamente.


Agora postar número de erro é sacanagem, manda a descrição que ajuda mais ... nao tenho o Oracle instalado para consultar tabela de erros.

Espero ter ajudado, qualquer duvida postae.
USUARIO.EXCLUIDOS 11/06/2007 16:58:20
#220749
Pois é, direto no Access funciona, porém tenho um "timeout" de acesso ao Oracle de 10min e a rotina de INSERT INTO, por ter mais de 4.000.000 de registros esta excedento a este tempo.
USUARIO.EXCLUIDOS 11/06/2007 21:29:27
#220786
1- Primeiramente delete todos os registros e retire qualquer índice existente na tabela NÃO vinculada onde serão feitas as inserções pois isto atrapalha o desempenho.

2- Especifique o tamanho dos campos para um tipo justo pois inserir em campos maiores também atrasa o processo.

3- Execute a rotina de compactar e reparar o arquivo .mdb previamente.

4- Certifique-se de que Todos os registros do seu SELECT conseguem migrar de uma base à outra por que se ouver erro TODA operação será abortada. (O maior inconveniente deste processo)

5- Atente ao fato de que este comando vai utilizar o processador do micro que executá-lo independente de ser pelo VB ou Access.

6- Utilize o arquivo .mdb no micro onde o comando será executado para não utilizar desnecessariamente a rede.

7- Realize a rotina por partes acrescentando uma clausula where numa consulta Access só que parametrizada, poderia inclusive fazer um count de registro antes e dividir o processo em 2, 3 ou quantas etapas axar conveniente.

8- Finalizando, converse com o seu DBA e avalie com ele o problema pois ele está sendo muito bem pago para intervir nestas horas ... em último caso ele pode fazer uma PL pra vc continuar seu desenvolvimento VB de forma mais produtiva.

9- Caso funcione reporte os procedimentos para que fique registrado a eficiencia de nossa comunidade.

Valew
USUARIO.EXCLUIDOS 12/06/2007 08:51:09
#220820
Emerson,

Estou seguinte estar orientações, e é claro... já abri um chamdo para os DBA's, de fato até agora não recebi nenhuma resposta satisfatória. Mas, creio que em breve eles me falarão algo. Até agora só tenho a agradecer a ajuda de todos.

Mas, a grande verdade é uma só, o Access não foi projetado para manipulara essa grande quantidade de registros. Porém (atualmente) como está com um INSERT INTO com a tabela vinculada. Deixarei assim, o que anda ocorrendo é algums erros de acesso, que é claro passei para os DBA resolverem.

Abraços a todos.
Página 2 de 4 [33 registro(s)]
Tópico encerrado , respostas não são mais permitidas