Tenho um programa que faz isso. Como a base do programa legado é uma base em foxpro, optou-se por usar o proprio fox por questoes de performance... pois o fox acessa suas bases em dbf nativamente sem ter que passar por qualquer tipo de conversao em algum driver (seja odbc, jdbc, etc). Com esse tipo de approach o ganho de performance foi tão substancial (tb tentei fazer em java e em VB mas a performance era muito ruin) que esta valendo ate a pena a ultima milha lenta dentro do driver oledb. Pra mim aqui, o melhor dos mundos seria fazer esses inserts funcionarem de forma mais rapida, pois toda a base do processo jah esta pronta e funcional. Eu li que o Copy ele nao faz uma porção de checagens e que ele acaba sendo muito mais rapido que os inserts por conta dele nao fazer varias checagens que os inserts fazem... minha intenção seria conseguir fazer uso dessa velocidade do comando copy, mas nao consigo fazer o bichim funcionar... na verdade, nem sei se é possivel isso (usar o comando copy de dentro do oledb). Eu poderia muito bem gerar tabelas ou arquivos texto com os dados já acertados, mas na minha cabeça eu estaria adicionando mais "moving parts" no sistema, seria mais um ponto para ter falha e mais um roundtrip pra ficar checando se deu certo... por isso a insistencia de tentar fazer o copy funcionar. Abracos, Marcelo Magno
________________________________ De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Sebastian Selau Webber Colombo Enviada em: terça-feira, 3 de abril de 2007 14:16 Para: Grupo de Usuários do PostgreSQL no Brasil Assunto: Re: [PostgreSQL-Brasil] RES: RES: performance ta. mas como tu faz para "ler" os arquivos dbf? On 4/3/07, Marcelo Magno <[EMAIL PROTECTED]> wrote: No caso o Oledb eh o do postgresql, eu instancio dentro do loader esse objeto oledb do pg e por ele dou os comandos no banco do pg... Abracos, Marcelo Magno ________________________________ De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Sebastian Selau Webber Colombo Enviada em: terça-feira, 3 de abril de 2007 12:15 Para: Grupo de Usuários do PostgreSQL no Brasil Assunto: Re: [PostgreSQL-Brasil] RES: performance existe oledb pra o dbf? On 4/3/07, Marcelo Magno <[EMAIL PROTECTED] > wrote: rapaz, eh de dbf mesmo... mas pode ser de qualquer banco, basta conhecer bem os metadados de cada banco (mas nao vem ao caso agora)... Eu fiz aqui foi programar um loader, seguindo as dicas do pessoal da lista usando os metadados do foxpro (e até que ficou beeem legalzinho, tem varias regras pra fazer um load full toda noite e um incremental em alguns momentos do dia), mas o problema começa quando temos muitos registros, nesse ponto ele dah uma enlerdada pq a milha final do programa são inserts via driver OLEDB (tentei antes via ODBC mas era absurdamente mais lento). Por isso a ideia de usar o COPY por dentro do OLEDB. Jah tenho uma infra toda programada fazendo tudo que eu preciso, o unico problema eh a ultima milha que esta lenta (os inserts). Se eu conseguisse resolver dessa forma seria perfeito pra mim... De qq forma, valeu ai pela dica, talvez numa proxima eu de uma olhada no ems... Grande Abraco, Marcelo Magno ________________________________ De: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Em nome de Sebastian Selau Webber Colombo Enviada em: terça-feira, 3 de abril de 2007 10:41 Para: Grupo de Usuários do PostgreSQL no Brasil Assunto: Re: [PostgreSQL-Brasil] performance tu quer importar da onde(sql server, dbf's, access)? pra importar os registros dos arquivos dbf gerados pelo visual fox pro, utilizo o EMS Data Pump, que é pago... existem outras ferramentas que fazem parte do contrib, eu acho pelo menos, como dbf2pg Abraço On 4/3/07, Marcelo Magno <[EMAIL PROTECTED] > wrote: Aproveitando o bonde da pergunta... a alguns dias atraz postei na lista uma mensagem sobre o uso do comando copy via drivers odbc e oledb. Nao consigo uma maneira correta de fazer funcionar... alguem que já tenha implementado algo parecido poderia me dar um toque pra gente trocar uma ideia? Hoje eu tenho um sistema que funciona bem usando inserts para fazer o load de uma base legada, mas se eu conseguisse diminuir o tempo final dessa transacao usando comandos copy seria o ideal pra mim. Fico grato se alguem puder me dar uma bola, Grande Abraco, Marcelo Magno ________________________________ De: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Em nome de Rodrigo Hjort Enviada em: segunda-feira, 2 de abril de 2007 20:49 Para: Grupo de Usuários do PostgreSQL no Brasil Assunto: Re: [PostgreSQL-Brasil] performance Usar o COPY é a maneira mais rápida mesmo. Seria interessante você dar uma olhada no manual [1]. [1] http://www.postgresql.org/docs/8.2/interactive/populate.html -- Atenciosamente, Rodrigo Hjort Icewall Tecnologias http://www.icewall.com.br <http://www.icewall.com.br/> 2007/4/2, Diego Altheman dos Santos <[EMAIL PROTECTED]>: Pessoal, Alguem conhece algum jeito mais rapido de importar arquivos csv pra base sem ser pelo comando copy ?? Tenho alguns milhoes de registros e o processamento ta demorando muito com o copy... _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios -- Atenciosamente, Sebastian Selau Webber Colombo _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios -- Atenciosamente, Sebastian Selau Webber Colombo _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios -- Atenciosamente, Sebastian Selau Webber Colombo
_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
