locked
Carregar arquivos .DBF para o SQL Server RRS feed

  • Pergunta

  • Olâ Amigos, Como vão?

    Preciso de uma ajuda sobre arquivos do tipo DBF. Eu consigo carregar arquivos DBF para o SQL Server 2008 usando o integration services ou bulk insert?

    O SQL Server dá suporte a esse tipo de arquivo?

    Um forte abraço

    Clayton Santos

    • Movido Gustavo Maia Aguiar terça-feira, 2 de março de 2010 17:23 (De:SQL Server - Desenvolvimento Geral)
    terça-feira, 2 de março de 2010 14:55

Respostas

  • Clayton,

    Realmente suporte nativo o SQL Server 2005 e 2008 não oferece, o que você poderia fazer é exportar os dados do .dbf para um arquivo .txt e depois importar para dentro do SQL Server, por isso eu indiquei o utilizar o SSIS.

    O Windows Server 2008 não tem relação com este tipo de recurso, quem necessita ter acesso aos dados é o SQL Server.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta Clayton Santos terça-feira, 9 de março de 2010 12:58
    terça-feira, 2 de março de 2010 20:13
    Moderador

Todas as Respostas

  • Clayton,
    Existe um driver nativo de odbc (db files), que pode ser usado para este fim configure-o para acesso ao seu banco, para criar este pacote siga estes passos:

    > Insira um componente Dataflow, dê um clique duplo sobre ele (irá para a aba Dataflow);
    > Insira um Componente ADO.Net Source, dê um clique duplo sobre ele, na tela que ira se abrir (ADO.Net Source Editor) de um clique em New (em frente ao campo ADO.Net Connection Manager), abrirá uma nova Tela (Configure ADO.NET Source Manager) clique em New, na nova Tela (Connection Manager) Troque o Provider para ".Net Provider/ODBC Provider", escolha a conexão de ODBC que voce criou anteriormente. Confirme tudo até chegar na primeira tela novamente e escolha a tabela que vc deseja.
    > Insira um Componente OleDb Destination e configure a conexão com o Banco SQL desejado e pode optar em enviar os dados a uma nova tabela ou a uma existente.


    Qualquer duvida estamos ai

    Helio Carrilho


    Helio
    • Sugerido como Resposta Xing Ling terça-feira, 2 de março de 2010 16:58
    terça-feira, 2 de março de 2010 16:58
  • Clayton,

    Você poderá realizar este procedimento por ambas as possibilidades, mas ao meu ver seria utilizar o Integretion Services.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    terça-feira, 2 de março de 2010 17:00
    Moderador
  • Ola Helio... como vai?

    Então, eu estou usando um servidor Windows Server 2008 e um SQL Server 2008. Esse esquema do Drive que passou eu não consegui encontrar lá. Será que está diferente na versão do W2008?

    Abraço.

    Clayton Santos
    terça-feira, 2 de março de 2010 17:20
  • Olâ, Galvão.

    Eu solicitei a instalação do Integration Services neste servidor que tenho para tentar fazer o teste pelo IS. Eu estou comentando isso por que tem um documento da microsoft que achei muito confuso, pois em um paragrafo (observação) diz que o sql server 2008 não oferece suporte ao dbf e depois diz que tem como fazer.

    Se der pra me ajudar sobre ficaria muito grato.

    Segue o link que estou comentando: http://msdn.microsoft.com/pt-br/library/aa337084.aspx

    Será que o Windows Server 2008 isso muda?

    Abraço

    Clayton Santos
    terça-feira, 2 de março de 2010 17:23
  • Clayton,

    Realmente suporte nativo o SQL Server 2005 e 2008 não oferece, o que você poderia fazer é exportar os dados do .dbf para um arquivo .txt e depois importar para dentro do SQL Server, por isso eu indiquei o utilizar o SSIS.

    O Windows Server 2008 não tem relação com este tipo de recurso, quem necessita ter acesso aos dados é o SQL Server.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta Clayton Santos terça-feira, 9 de março de 2010 12:58
    terça-feira, 2 de março de 2010 20:13
    Moderador
  • Tente instalar o MDAC do Windows, pois realmente nas versões NT do windows esses drivers não vem instalados.
    Helio
    quarta-feira, 3 de março de 2010 11:54
  • Entendi, Galvão!

    Por gentileza, só me tire mais essa dúvida. Então terei que utilizar o Integration Service e criar um esquema de: Exportar o DBF para um arquivo TXT e depois importar para o SQL Server, certo?

    Abraço

    Clayton Santos

    quarta-feira, 3 de março de 2010 14:37
  • Hola, Helio.

    O Problema é que como esse servidor é de um cliente que é um banco. Então essas instalações não são tão simples de fazer, tem que ser sempre em ultimo caso.

    Mas obrigado!!!

    Abraço

    Clayton Santos
    quarta-feira, 3 de março de 2010 14:38
  • Clayton,

    Isso mesmo.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sexta-feira, 5 de março de 2010 14:15
    Moderador
  • Clayton,

    Entendo, mas como você poderia fazer esta exportação de dados, de alguma forma você terá que acessar os objetos do seus respectivos bancos para capturar as informações.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sexta-feira, 5 de março de 2010 14:16
    Moderador
  • Olá, Galvão. Como vai?

    Cara, agora precisava que me ajuda-se. Consegui efetuar a instalação do SSIS no server e agora preciso saber as sequencias para fazer: Extração do arquivo DBF para TXT e de TXT para o banco de dados.

    Tem como me indicar um site que possa me ajudar?

    Um forte abraço

    Clayton Santos
    Clayton Santos
    http://www.blogdoclayton.blog.com.es
    segunda-feira, 15 de março de 2010 13:11
  •  

    Olá chefe...

     

    Sinto lhe dizer que não tem jeito.. quebrei a cabeça por alguns meses nesta tentativa.. A única maneira é realmente mandar exportar via código o DBF para um TXT com delimitadores. Lembre-se que ao importar o TXT vc terá alguns problemas com o tamanho da coluna e Unicode.. 

    Só não entendo como uma ferramenta como o SQL 2008, que tem como missão substituir sistemas antigos de banco, não da suporte nativo à migração. Vacilo feio da Microsoft.

     

    Bração.

    Allan C. Galvão.

    segunda-feira, 25 de outubro de 2010 18:32
  • Ola Amigos,

    Estou precisando da mesma coisa que o camarada Clayton Santos.

    Uma das formas que eu achei de fazer foi utilizando o seguinte comando:

    Select * From OpenRowSet('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceDB=C:\Temp;SourceType=DBF','Select * From CurEstrategia')

    Até esta funcionando beleza, porém o arquivo em questão é temporário e necessito exclui-lo após a sua importação, mas o mesmo esta ficando bloqueado pelo SQL, somente após um ou dois minutos ele é liberado.

    Alguem teria uma explicação e claro uma solução para isto ?

    Obrigado.

    quinta-feira, 3 de fevereiro de 2011 20:12
  • Apesar de o post ser um pouco antigo vou deixar minha contribuição. Utilizo uma ferramenta chamada fullcopyconvert. Segue o link para download www.fullcopyconvert.com.br
    sexta-feira, 19 de agosto de 2016 17:57