Bulk Insert como e quando fazer?

25/06/2014

0

importação de dados não tenho certeza se é feito com frequencia, alguem utiliza? uma vez perdida ou frequentemente.

a forma basica é somente assim?


BULK INSERT tb_unidade_taxas FROM ‘C:\arquivos_temp\tx_unid.txt’
WITH
      (
      FIRSTROW = 2,
      FIELDTERMINATOR =‘;’
      );



ele sempre importa para o formato .txt?
Mariana Carvalho

Mariana Carvalho

Responder

Post mais votado

25/06/2014

Utilizo isso todos os dias.
Pode ser importrado formato CSV também. o básico seria isso, utilizo também o CODPAGE = 1252
Existe várias maneiras de se trabalhar com ele, eu utilizo também um arquivo FMT para informar o tamanho de cada coluna.

Fabiano Carvalho

Fabiano Carvalho
Responder

Mais Posts

25/06/2014

Fabiano Carvalho

Outra alternativa é utilizar openrowset, que le arquivos access e arquivos excel.
Responder

25/06/2014

Mariana Carvalho

estarei aproveitando as respostas para gerar mais duvidas, sobre os formatos de arquivos, quais são? depois disso ele funciona como um receptor de dados de outras bases?

qual a sintaxe basica, tanto para .txt e .csv?
Responder

25/06/2014

Fabiano Carvalho

Os tipos de arquivos TXT são 3:

Delimitados
Coluna fixa
Largura fixa

Não entendi o receptor de dados. Mas se você quiser saber se é possível gerar arquivos dessa forma, é sim, é possível, através do pacote SSIS ou através do BCP no sql server que é executado via xp_cmdshell.
Responder

25/06/2014

Mariana Carvalho

estarei aproveitando as respostas para gerar mais duvidas, sobre os formatos de arquivos, quais são?


quais arquivos ele pega? txt, csv somente?

ele faz importação não é, existe a possibilidade de pegar de outras fontes de dados direto?
Responder

25/06/2014

Fabiano Carvalho

Sim, mas com OPENROWSET e não com bulk insert.

estarei aproveitando as respostas para gerar mais duvidas, sobre os formatos de arquivos, quais são?


quais arquivos ele pega? txt, csv somente?

ele faz importação não é, existe a possibilidade de pegar de outras fontes de dados direto?
T
Responder

25/06/2014

Mariana Carvalho

me desculpe, mas nessa parte de importação estou sem noção mesmo.

li nessa materia sobre o Bulk Insert.

[url]http://diariodba.wordpress.com/2008/07/25/bulk-insert/[/url]
Responder

26/06/2014

Roniere Almeida

Fabiano, tem algum exemplo seu, para poder disponibilizar? com arquivo .txt
Responder

26/06/2014

Fabiano Carvalho

No processo que tenho, ele baixa os arquivos do ftp, descompacta e importa utilizando bulk insert.
O arquivo que ele importa não possui cabeçalho e é de largura fixa, com isso tive que informar o Arquivo FMT
Também uso while para importar todos arquivos baixados.
Não posso postar tudo.

 while @inicio <= @fim1                          
 begin                              
  set @cmd = 'BULK INSERT base.dbo.tabela                              
 FROM ''M:\PADRAO\inad\'+ (select mailing from arquivos_mailing_inad where mailing like '%txt%' and contador = @inicio ) +'''                              
 WITH (                              
  CODEPAGE = 1252,                              
  FORMATFILE = ''M:\PADRAO\inad\ARQUIVO.FMT'')'                              
 exec(@cmd)                              
 set @inicio = @inicio + 1                              
 end                               
           
Responder

26/06/2014

Roniere Almeida

poderia ser até um exemplo mais simples. mas valeu.
Responder

08/08/2015

Filipe Silva

Olá galera,

não estou conseguindo aqui no meu SQL Manager for InterBase and Firebird 5.2.6, gerando a seguinte mensagem no log: 'Invalid statement'

Segue o conteúdo:

Tabela CARGOS

Coluna 1 = NOME
Coluna 2 = CARGO

Arquivo .CSV

JOAO;ELETRECISTA
MARIA;ENFERMAGEM
FILIPE;PEDREIRO
ALICE;ADMINISTRATIVO

Script

BULK INSERT CARGOS from 'C:\cargos.csv' WITH (FIELDTERMINATOR = ';');


Nem o exemplo, praticamente no CTRL C + CTRL V não está rodando.

O que está acontecendo?
Responder

08/08/2015

Roniere Almeida

Filipe, como o post é um pouco antigo, não acha melhor abrir um novo?
Responder

08/08/2015

Filipe Silva

Filipe, como o post é um pouco antigo, não acha melhor abrir um novo?


Até pensei, com certeza, mas a intenção era integrar a minha dúvida a esse antigo tópico e muito útil pra mim, pq pode ser a dúvida de alguém daqui pra frente e evitar informações dispersas.

Se achar melhor, posso criar outro sim. ^^
Responder

19/08/2015

Fabiano Carvalho

Bulk Insert é para SQL Server, para firebird não sei qual é a instrução de importação em massa.
Responder

19/08/2015

Roniere Almeida

Bulk Insert é para SQL Server, para firebird não sei qual é a instrução de importação em massa.


Fabiano, o Felipe abriu um outro post, ele quer transferir os dados do firebird para sql server, acho que ele estava procurando um "intermediario" para fazer essa operação.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar