SSMS
 sql >> Base de Dados >  >> Database Tools >> SSMS

Como abrir um arquivo rpt como uma tabela SQL?


Embora esta resposta esteja atrasada, não vi uma resposta canônica para o problema de abrir o formato de arquivo .rpt e gravá-lo em uma tabela SQL.

  1. No SQL Server Management Studio no Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados no qual deseja carregar o arquivo e escolha Tarefas... Importar dados.

  2. Escolha Flat File Source, selecione seu arquivo e certifique-se de que a tela esteja configurada para corresponder à captura de tela a seguir (Página de código=65001 UTF-8, Format=Ragged right, Column names in the first data row). Em seguida, clique em Avançar.


  1. Clique no primeiro caractere de cada coluna (veja os destaques amarelos na captura de tela abaixo para saber onde clicar) para inserir colunas nos locais apropriados:


  1. Clique na guia Avançado à esquerda. Percorra cada nome de coluna e remova os espaços do final do nome da coluna. Corrija os tipos de dados como achar melhor. Aviso que as primeiras colunas podem precisar ser strings devido ao rodapé do arquivo "(NNN linhas afetadas)".


  1. Vá para a guia Visualizar à esquerda, altere as "Linhas de dados a serem ignoradas" para 1 e clique em Atualizar:


  1. Clique no botão Avançar e configure sua conexão com seu banco de dados SQL:



  1. Clique em próximo e digite o nome da sua tabela no formato [dbo].[MyTable] em seguida, clique em Editar mapeamentos e confirme se os tipos de dados da coluna correspondem. As colunas String (DT_STR) devem ser colunas varchar aqui. A string Unicode (DT_WSTR) deve ser colunas nvarchar aqui.

  2. Clique em Avançar e Concluir para executar imediatamente. Você deve ver mensagens de sucesso e não erros:


  1. Há um rodapé que diz "(NNN linhas afetadas)" (onde NNN é a contagem de linhas do seu arquivo). Consulte a tabela SQL de destino para localizar essa linha e excluí-la. select * from MyTable where MyColumn1 like '%(%' pode ajudá-lo a encontrar essa linha. Confirme se a consulta retorna apenas uma linha antes de excluí-la.