Export Data From Database to CSV File

Microsoft Access (2007, 2003) | MySQL | Postgres | MS SQL Server | Oracle | the Enterprise Data Publisher

SpatialKey requires data to be uploaded and imported by way of a CSV file before a dataset can be imported. Nós tentamos tornar o processo de importação o mais divertido e simples possível, mas SpatialKey não pode ajudá-lo a obter seus dados no formato CSV. Em muitos casos, os dados preciosos que você precisa acessar serão trancados dentro de um banco de dados. Existem muitos tipos de bancos de dados, e a maioria deles tem capacidades para ajudar a obter seus dados exportados para um formato CSV, mas eles são geralmente específicos para o banco de dados em questão.

este objetivo deste artigo é examinar como obter dados em um formato CSV de muitas das bases de dados mais poplar e sistemas de gerenciamento de banco de dados no mercado hoje. Se você não tiver acesso ao banco de dados onde seus dados residem e tiver um administrador de banco de dados ou pessoal de TI que gera seus relatórios para você, passe o link para este artigo ao solicitar dados para SpatialKey, pois ele pode salvá-los algum tempo também.

Por Favor, note que este artigo trata da utilização dos comandos Structured Query Language (SQL) necessários para correr contra uma base de dados e destina-se aos utilizadores que estão familiarizados com SQL e ferramentas para a base de dados que normalmente usam.

Microsoft Access:o Microsoft Access é um popular banco de dados baseado em arquivos usado tipicamente por pequenas organizações com número limitado de usuários e também por indivíduos. Os dados de acesso ao MS podem ser acessados usando o aplicativo de acesso ao MS de forma visual, bem como através de abordagens tradicionais baseadas no SQL. Como o MS Access sofreu recentemente uma grande mudança na interface do Usuário, vamos explorar tanto as versões 2007 e 2003 da aplicação (se você está trabalhando com uma versão mais antiga, técnicas similares também devem estar disponíveis).acesso 2007:

na primeira figura (1.1) você pode ver que eu abri a base de dados de exemplo padrão que vem com MS Access (chamado Northwind). Eu também selecionei a consulta chamada “Top Ten ordens por quantidade de vendas”. A esta consulta, eu adicionei informações de endereço do cliente já que SpatialKey adora dados que contêm dados temporais (hora e data) e geoespaciais (dados que podem ser traduzidos para um local).Fig. 1.1 – MS Access 2007

a Partir daqui pode facilmente exportar os resultados para um arquivo CSV:

  1. Clique na tabela ou consulta para exportar (neste exemplo, “Dez Pedidos por Quantidade de Vendas”, à esquerda)
  2. Clique em “Dados Externos” no topo da janela
  3. Em “Exportar” a seção, clique em “Arquivo de Texto” e um assistente irá aparecer
  4. Escolha uma localização para o CSV exportado e o nome do seu arquivo (certifique-se de que o arquivo termina com um .extensão csv)
  5. Clique em OK
  6. Na tela seguinte, certifique-se de que o “Delimitado” é seleccionada a opção
  7. Clique em “Avançado…” no canto inferior esquerdo da janela
  8. SpatialKey armazena seus dados Unicode, UTF-8, precisamos garantir que os dados são exportados no formato
    1. Clique na caixa suspensa ao lado de Página de Código
    2. Escolha Unicode (UTF-8) nas opções da lista
    3. Clique em OK
  9. de Volta à Exportação de Texto janela, clique em “Avançar”
  10. certifique-se de “Vírgula” é selecionado como o delimitador e o Qualificador de Texto é uma citação de casal: “
  11. carregue na opção “Incluir os nomes dos Campos na primeira linha” (deverá ser seleccionado)
  12. Carregue em “Próximo”
  13. verifique o nome e a localização do ficheiro e carregue em “Terminar”
  14. o ecrã final do assistente dá-lhe a opção de gravar os passos que permitem uma reexportação fácil dos dados no futuro. Se você antecipar a necessidade de atualizar os dados em SpatialKey vá em frente e assinale a opção para economizar algum tempo no futuro. Feche a janela quando terminar.

Se abrir o ficheiro num editor de texto, deverá ver algo do género:

Fig. 1.2-Exported Northwind Data

Now you are ready to upload the new CSV File to SpatialKey.

MS Access 2003:

a figura seguinte mostra a versão anterior do MS Access 2003 da Base de dados Northwind. Estarei exportando a consulta salva chamada “ordens Qry” à esquerda.Fig. 1.3-MS Access 2003 Northwind Database

Lets export the CSV:

  1. verifique se a tabela ou consulta selecionada e clique no menu Arquivo e escolha “Exportar…”
  2. O assistente de exportação começará
  3. Seleccione a localização para os dados exportados e o nome do seu arquivo (certifique-se de definir a extensão de arquivo como .csv)
  4. altera o tipo de gravação: para”ficheiros de texto “
  5. Carregue em”Exportar”

siga os passos 6-14 sob as instruções Access 2007 acima, dado que são as mesmas a partir deste ponto em

agora está pronto para enviar o novo ficheiro CSV para SpatialKey.

MySQL:

MySQL é um popular banco de dados open source ready. Existem muitas ferramentas disponíveis para interagir com este banco de dados, mas como com a maioria dos bancos de dados corporativos, a maioria do acesso acontece através de Linguagem de consulta estruturada. Existem algumas opções para exportar dados para CSV a partir do MySQL. Alguns requerem ferramentas de terceira parte, enquanto outro usa uma ferramenta de linha de comando (útil em máquinas Unix) e uma opção final via SQL. Vejamos as duas últimas opções:

MySQL command line tool (on Unix):

mysql -u exampleuser -p letmein exampledb -B -e "select * from\'person\';" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv

então o que significa tudo isso?

  • mysql : o arquivo executável (deve ser onde o MySQL está instalado)
  • -u exampleuser : uma opção e opção para o nome de usuário a executar o SQL com
  • -p letmein : uma opção e opção para a senha do usuário
  • exampledb : o banco de dados para executar o SQL contra
  • -B : indica que a saída deve ser delimitado por tabulações (vamos converter este vírgulas, mais tarde, no comando)
  • -e “a instrução sql aqui” : a instrução de SQL para executar retornar os dados
  • | sed ‘s/\t/”,”/g;s/^/”/;s/$/”/;s/\n//g’ : sed é um processador de fluxo Unix, essencialmente permite transformações neste caso. Aqui temos quatro comandos sed que mudam as páginas para aspas duplas, adicionam aspas duplas ao início e ao fim de cada linha e adiciona um novo Marcador de linha no final de cada linha.
  • > nome do ficheiro.csv: retorna os resultados para o arquivo chamado nome do arquivo.csv

agora está pronto para enviar o novo ficheiro CSV para SpatialKey.

sintaxe de MySQL SQL:

SELECT column_a,column_b,column_c+column_d INTO OUTFILE '/tmp/result.csv'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'LINES TERMINATED BY '\n'FROM test_table;

a instrução de selecção de MySQL está a usar um comando do OUTFILE para enviar os resultados da selecção de SQL para um ficheiro (neste caso /tmp/result.csv).

Um par de notas:

  • Em ambos os casos, o arquivo é salvo em um local o local para onde o banco de dados está sendo correu de (na mesma máquina, ou uma montagem/unidade disponível para a máquina)
  • O cabeçalho de linha terá de ser adicionado para ambos os arquivos (que pode ser feito usando qualquer editor de texto ou o programa de folha de cálculo)

Agora você está pronto para fazer o upload do novo Arquivo CSV para SpatialKey.

Postgres:

Postgres é outra popular base de dados open source ready. Similar na natureza ao MySQL, existem muitas ferramentas de terceiros (incluindo PGAdmin do Postgres) para gerenciar e administrar o banco de dados. A melhor aposta para exportar dados CSV do Postgres é usando um comando SQL específico do Postgres chamado COPY:

COPY (SELECT column_a,column_b FROM whatever) TO '/tmp/dump.csv' WITH CSV HEADER

Este comando é extremamente rápido e produz um ficheiro CSV devidamente formatado, incluindo os cabeçalhos.

agora está pronto para enviar o novo ficheiro CSV para o SpatialKey.

servidor de MS SQL:

SQL Server é um banco de dados comercialmente disponível da Microsoft (há uma versão menor, menos caracterizado chamado SQL Server Express, bem que está disponível para download gratuitamente). SQL Server é um banco de dados pronto para empresas usado por muitas empresas em todo o mundo. Ao longo dos anos tem havido muitas ferramentas de gestão, tanto de terceiros como da Microsoft (Gerente de empresa, Estúdio de gestão, e através de MS Developer Studio, por exemplo). Duas opções para exportar como CSV de um servidor de MS SQL são o uso da ferramenta de linha de comando BPC (Bulk Copy Program) ou através de Serviços de transformação de dados.

BCP:

Bulk Copy Program can be executed from a command line or through SQL.

  • linha de Comando:
    • BCP <nome da tabela> fora <nome do arquivo.csv> -c -t, -U <user name> -P <password> -S<server name>
    • Switches:
      • -c : export as ASCII with a tab delimiter and carriage return/line feed line terminator
      • -t, : override the tab delimiter with a comma
      • -U : username
      • -P : password
      • -S : server to connect to
  • SQL:
    • MS SQL Server tem um comando de Transact-SQL chamado xp_cmdshell, este comando permite que você execute comandos executáveis de linha no SQL
    • xp_cmdshell BCP <nome da tabela> fora <nome do arquivo.csv> -c -t-T -S<o nome do servidor>
      • Note que eu mudei o -U e – P a a-T, que utiliza uma conexão confiável como nós são, provavelmente, autenticação do SQL server máquina já para executar o comando SQL.

DTS:os pacotes DTS podem ser criados usando scripts SQL ou através de uma interface de usuário MS.

  1. a Partir do Enterprise Manager, escolha > Assistentes > Transformação de Dados > Exportação de Dados
  2. Escolha sua fonte de banco de dados
  3. Para o destino seleccione o Ficheiro de Texto e especifique o arquivo de destino e o nome do arquivo com um .extensão csv
  4. Definir a tabela ou consulta para puxar os dados do
  5. Defina a opção de que a primeira linha contém informações de coluna
  6. Na tela selecione o delimitador, certifique-se de que a vírgula é selecionado
  7. Executar o pacote

Agora você está pronto para fazer o upload do novo Arquivo CSV para SpatialKey.

Oracle:

Oracle é uma base de dados comercialmente disponível que tem um grande número de seguidores em grandes empresas. Como o SQL Server, a Oracle é um banco de dados pronto para a enterprise. As opções para extrair para CSV usando Oracle incluem usar o desenvolvedor SQL Oracle (uma ferramenta livre da Oracle) e diretamente usando PL/SQL (geralmente criando um procedimento armazenado como é um pouco mais baseado em código do que as outras soluções de banco de dados).

Developer SQL Oracle:

Esta é de longe a maneira mais fácil para alguém que não está familiarizado com procedimentos complexos de armazenamento PL/SQL para exportar dados.

Uma maneira de fazer isso é criar um Relatório no SQL Developer e exportar os resultados

  1. uma Vez que o relatório é criado e, correndo, clique direito sobre a grade de resultados e escolha “Exportar” no menu de contexto
  2. Na tela seguinte, selecione CSV como o formato e digite o nome do arquivo.csv e localização

Pode também exportar uma única tabela por:

  1. carregue com o botão direito no nome da tabela na árvore de objectos.
  2. seleccione Exportar.
  3. seleccione CSV. A janela de dados de exportação aparece.
  4. carregue na página formato.
  5. Seleccione o formato como: CSV
  6. indique o nome e a localização de um ficheiro.
  7. carregue na página colunas.
  8. verifique as colunas que deseja exportar
  9. carregue na página e adicione todos os critérios necessários para filtrar os dados
  10. Carregue em Aplicar.

PL/SQL:

a melhor maneira de exportar dados através de PL / SQL é criar um procedimento armazenado que use o comando UTL_ file.

para um grande exemplo de procedimento armazenado para este, por favor Veja este artigo em oracle.com. Note – se que existe uma alteração recomendada ao procedimento original armazenado localizado nos comentários (lida corretamente com a citação de dados com caracteres CSV reservados).

agora está pronto para enviar o novo ficheiro CSV para o SpatialKey.

o editor de dados da empresa:

para os nossos clientes empresariais que têm grandes quantidades de dados para importar ou precisam de dados frequentemente atualizados em SpatialKey, oferecemos um produto adicional chamado Enterprise Data Publisher. Este é um produto baseado em serviço que corre por trás das cenas (e sua firewall) que pode ser programado para empurrar dados automaticamente para SpatialKey a partir de suas bases de dados. Se estiver interessado em saber mais sobre as capacidades e o custo do editor de dados da empresa, por favor envie-nos um e-mail, indo para a nossa página de contato conosco. Gostaríamos de ajudá-lo com suas necessidades de dados!em conclusão, o SpatialKey precisa dos seus dados para brilhar! Produzir dados a partir de um banco de dados existente não tem que ser uma tarefa difícil como os passos listados acima mostram, e é um primeiro passo importante para desbloquear verdadeiramente seus dados!

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *