Importação de Arquivos CSV
Introdução
O Importador é um executável de linha de comando e através dele é possível carregar qualquer arquivo CSV para o banco de dados da Automatize.
O arquivo CSV deverá ter na primeira linha o nome das colunas.
Instalação
Executar o instalador AtuImportador.exe que está no FTP em /Downloads.
Após rodar o instalador, o Importador será instalado na pasta c:\importador\.
Arquivos de Mapeamento
Para estabelecermos a relação entre as colunas do arquivo CSV e uma tabela do banco de dados da Automatize, é necessário um mapeamento. Para fazer isso é necessário criar um arquivo de mapeamento para cada tabela do banco.
Exemplo de Mapeamentos
1 - Mapeando um CSV para a tabela ConfDePara
Arquivo CSV
ONLINE;AUTOMATIZE;DESCRIÇÃO DO PRODUTO 63636027;272;TARTELETE 63636028;273;CHEESECAKE MORANGO 63636029;278;COCO COM DOCE DE LEITE 63636030;280;GANACHE DE CHOCOLATE
Arquivo de Mapeamento
-- IDENTITY [significa que o campo é primary key e que vai gerar um id caso o registro nao exista] idConfDePara=IDENTITY -- [1] [Busca o campo fixo passado como parametro para o importador, neste caso o campo 1] cdpCadConfDePara=[1] cdpCodigoOrigem=@online cdpCodigoDestino=@automatize sysInc=current_timestamp
Sintaxe do Mapeamento
No arquivo de mapeamento são aceitos os seguintes comandos ou sintaxes:
–- ComentárioIDENTITY- Será gerado um código automaticamente para o campo da tabela. Usamos normalmente para referenciar os IDs das tabelas.[1]- Pega um valor de um campo fixo passado por parâmetro para o Importador. Ex:cdpCadConfDePara=[1]@- Indica o nome da coluna na tabela CSV. Ex:cliCEP=@cepcurrent_timestamp- Data/hora atual. Ex:sysInc=current_timestamp!- O sinal de exclamação no início do campo significa que vai ser usado para pesquisar a existência do registro, e caso o registro exista ele será atualizado, caso não, será inserido. Ex:!cdpCodigoOrigem=@online#- Irá retirar qualquer caractere que não seja numérico do campo. Ex:cliCpfCNPJ=@cpf#Substring- Corta parte de um texto. Ex:cliEndereco=Substring(@end,1,50)irá pegar da posição 1 atá a 50 da coluna @end do arquivo CSV.iif(isnull(@uf,) =, 'RS', @uf)- Comando completo, neste caso vai colocar a palavra 'RS' caso a coluna @uf seja nula.
Parâmetros para execução do Importador
Importador [unidade:][caminho][nome_de_arquivo] [/td=nome_tabela_destino] [/m=mapa_campos_txt] [/d=] [unidade:][caminho][nome_de_arquivo] --> Caminho completo até o arquivo a ser importado /td --> Tabela de destinho no banco de dados da Automatize /m --> Mapa com os campos correspondentes no arquivo e no banco /d --> Delimitador de colunas. Por padrão será o ';' /s --> String de conexão com o banco de dados. /e --> ID da empresa /v --> Exibe todos os comandos executados no banco de dados /f --> Valores fixos, serao usados dentro dos mapas. Dentro do mapa, para pegar o valor 10, usar [1], para o valor 20 usar [2]
Exemplos de Uso
** 1 - Importando um arquivo CSV para a tabela ConfDePara **
- No exemplo a seguir irá importar o arquivo
c:\temp\importador\DEPARA.CSV.- Parâmetro
/td=ConfDePara→ Para a tabelaConfDePara. - Parâmetro
/m=c:\temp\importador\ConfDePara.txt→ O arquivo contendo o mapeamento é oConfDePara.txt. - Parâmetro
/d=;→ O delimitador de campos do CSV é o ponto e vírgula. - Parâmetro
/s=Server=127.0.0.1\sqlexpress,1433;Database=AutomatizeDB;User=sa;Password=auto3010→ A conexão com o banco de dados - Parâmetro
/e=→ Estamos passando o valor1para ser usado dentro do arquivo de mapeamento pois precisamos saber qual a tabela mãe daConfDePara, que no caso é aCadConfDePara. No arquivo de mapeamento está especificado no campocdpCadConfDePara=[1]. - Parâmetro
/f=1→ A empresa será a1
Exemplo importando um arquivo CSV:
No prompt do DOS digitar o seguinte comando:
c:\importador\importador.exe c:\temp\importador\DEPARA.CSV /td=ConfDePara /m=c:\temp\importador\ConfDePara.txt /d=; /s=Server=127.0.0.1\sqlexpress,1433;Database=AutomatizeDB;User=sa;Password=auto3010 /e=1 /f=1
Exemplo importando vários arquivos CSV:
No prompt do DOS digitar o seguinte comando:
c:\importador\importador.exe c:\temp\importador /td=ConfDePara /m=c:\temp\importador\ConfDePara.txt /d=; /s=Server=127.0.0.1\sqlexpress,1433;Database=AutomatizeDB;User=sa;Password=auto3010 /e=1 /f=1
Concluindo
No arquivo abaixo está o mapeamento e um arquivo exemplo para importar uma configuração De/Para, tabela ConfDePara.
Como pré-requisito é necessário entrar na tela “Configuração DE - PARA” no AutomatizeSis e criar uma configuração pois o código da configuração será usado como parâmetro para o importador.