tecnologia | consultoria | banco de dados

SQL Server - Exportar tabelas utilizando BCP

Nesta postagem irei mostrar como exportar tabelas utilizando o utilitário BCP (Bulk Copy Program) do banco de dados Microsoft SQL Server.

Sintaxe do utilitário BCP:
bcp {table|view|"query"}
{out|queryout|in|format}
{data_file|nul}
{[optional_argument]...}

Parâmetros para indicar importação ou exportação:
- out: Indica que o utilitário irá exportar uma tabela ou view para um arquivo.
- queryout: Indica que o comando irá exportar os dados de uma query para um arquivo.
- in: Indica que o utilitário irá importar os dados de um arquivo para uma tabela.

Para exemplificar a exportação, foi utilizado um arquivo batch (exporta_tb_alunos.bat) com o código abaixo.
bcp estudos..tb_alunos out "C:\EXPORT\tb_alunos.txt" -T -c

Explicando brevemente o código acima, "estudos..tb_alunos" é o nome da database seguido do nome da tabela a ser exportada, "out" informa que a tabela será exportada no arquivo informado, "-T" é o parâmetro para Windows Authentication (utiliza o usuário e senha do Windows para acessar o banco de dados), "-c" indica que as colunas serão exportadas como caracteres.

Abaixo será mostrado outra forma de exportar a mesma tabela utilizando query.
bcp "select * from estudos..tb_alunos" queryout "C:\EXPORT\tb_alunos.txt" -T -c

Parâmetros:
-S     => Servidor
-F2 => Primeira linha a importar (neste exemplo, segunda linha)
-L100 => Última linha a importar (neste exemplo, centésima linha)
-U => Usuário do banco de dados
-P => Senha do usuário do banco de dados
-c => Tipo de dados caractere (delimitadores padrões: linha "ENTER" e coluna "TAB")
-w => Tipo de dados unicode (delimitadores padrões: linha "ENTER" e coluna "TAB")
-t"\t" => Delimitador de coluna (neste exemplo, "TAB")
-r"\n" => Delimitador de linha (neste exemplo, "ENTER")
-T => Windows Authentication
-e => Arquivo para armazenamento dos erros de importação
-o => Arquivo para armazenamento do output após a execução do BCP
-f => Format file cujo define a estrutura da tabela

Publicações relacionadas:
- SQL Server - Importar tabelas utilizando BCP.
Data publicação: 22:01 12/07/2018

Oracle - Tratamento de erros e exceções

Irei mostrar nesta publicação duas formas de tratar erros na aplicação ou forçar exceções. Para isso será utilizando a procedure RAISE_APPLICATION_ERROR ou a cláusula RAISE.

Para utilizar a procedure RAISE_APPLICATION_ERROR é necessário informar dois parâmetros. O primeiro parâmetro é um número qualquer entre -20,000 e -20,999. O segundo parâmetro é a mensagem a ser mostrada quando a procedure for executada.

Para utilizar a cláusula RAISE é necessário declarar uma variável do tipo EXCEPTION, adicionar os tratamentos EXCEPTION no final do bloco e acionar a cláusula RAISE para acionar o erro desejada.

Para habilitar a o OUTPUT em alguns softwares como, por exemplo, SQL Plus e Oracle SQL Developer é necessário adicionar os comandos SET SERVEROUTPUT ON antes do bloco (BEGIN / END).

Segue abaixo exemplos de utilização.

--EXEMPLO RAISE_APPLICATION_ERROR
DECLARE
V_NUMERO NUMBER := 99;
BEGIN
IF (V_NUMERO >= 99) THEN
RAISE_APPLICATION_ERROR (-20100, 'LIMITE MÁXIMO ATINGIDO! INFORMAR UM NÚMERO INFERIOR A 99!');
END IF;
END;

--EXEMPLO EXCEPTION
DECLARE
V_NUMERO NUMBER := 99;
EXC_LIMITE EXCEPTION;
BEGIN
IF (V_NUMERO >= 99) THEN
RAISE EXC_LIMITE;
END IF;
EXCEPTION
WHEN EXC_LIMITE THEN
DBMS_OUTPUT.PUT_LINE('LIMITE MÁXIMO ATINGIDO! INFORMAR UM NÚMERO INFERIOR A 99!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERRO NA EXECUÇÃO!');
END;
Data publicação: 21:30 15/06/2017

Java - Atalhos no Eclipse

Segue abaixo algumas teclas de atalho úteis no desenvolvimento java utilizando a ferramenta Eclipse IDE for Java Developers.

CTRL + F11       => executa o código (run)
CTRL + SHIFT + O => adiciona todos os imports necessários
CTRL + SPACE BAR => mostra tela com códigos para seleção
SHIFT + ALT + Z => adiciona o bloco TRY / CATCH
CTRL + 1 => sobre erros, mostra opções de correção

Versão utilizada:
Eclipse IDE for Java Developers
Version: Neon.2 Release (4.6.2)
Data publicação: 20:32 27/01/2017
Perfil
Olá jovem Padawan, seja bem vindo! Este site foi criado com o intuito de compartilhar um pouco de conhecimento de Tecnologia da Informação e Business Intelligence.

Linkedin  Youtube

"Meus filhos terão computadores, sim, mas antes terão livros. Sem livros, sem leitura, os nossos filhos serão incapazes de escrever - inclusive a sua própria história." (Bill Gates)


Leandro Sacramento, Todos os direitos reservados - 2012 - 2020