Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 483594
            [titulo] => Bulk Insert como e quando fazer?
            [dataCadastro] => DateTime Object
                (
                    [date] => 2014-06-25 13:59:25
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 332951
            [status] => A
            [isExample] => 
            [NomeUsuario] => Fabiano Carvalho
            [Apelido] => FaabiianooC
            [Foto] => 332951_20140826143737.jpg
            [Conteudo] => 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. ) )

Bulk Insert como e quando fazer?

Mariana Carvalho
   - 25 jun 2014

importação de dados não tenho certeza se é feito com frequencia, alguem utiliza? uma vez perdida ou frequentemente.
a forma basica é somente assim?
#Código


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


ele sempre importa para o formato .txt?

Post mais votado

Faabiianooc
   - 25 jun 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.

Faabiianooc
   - 25 jun 2014

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

Mariana Carvalho
   - 25 jun 2014

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?

Faabiianooc
   - 25 jun 2014

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.

Mariana Carvalho
   - 25 jun 2014


Citação:
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?

Faabiianooc
   - 25 jun 2014

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

Citação:

Citação:
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

Mariana Carvalho
   - 25 jun 2014

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

li nessa materia sobre o Bulk Insert.

http://diariodba.wordpress.com/2008/07/25/bulk-insert/

Roniere Almeida
   - 26 jun 2014

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

Faabiianooc
   - 26 jun 2014

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.

#Código

 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                               
           

Roniere Almeida
   - 26 jun 2014

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

Filipe
|
MVP
Pontos: 130
    08 ago 2015

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

#Código

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?

Roniere Almeida
   - 08 ago 2015

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

Filipe
|
MVP
Pontos: 130
    08 ago 2015


Citação:
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. ^^

Faabiianooc
   - 19 ago 2015

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

Roniere Almeida
   - 19 ago 2015


Citação:
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.