Passo a passo para importação dos dados:
- 1. Informações
- 2. Estrutura do arquivo
- 3. Criação da tabela no banco de destino
- 4. Exemplo de script para inserção de dados
- 5. Conferência da importação dos dados
1. Informações
A base de dados fornecida para os cenários de remoção de estabelecimentos inativos ou distrato é disponibilizada no formato XML, contendo as informações necessárias para a importação no banco de dados. A seguir, apresentamos um exemplo de criação da tabela Bairros, acompanhado do processo de importação dos dados XML para o SQL Server.
2. Estrutura do arquivo
Apos realizar o download, realize a extração dos arquivos para importação. Abaixo exemplo de arquivos extraídos.
3. Criação da tabela no banco de destino
Ao abrir o arquivo XML, este estará sem formatação. Para formatá-lo, utilize qualquer ferramenta de formatação de documentos XML.
O editor de texto Notepad++ possui um plugin com essa funcionalidade, basta abrir o programa, ir em Plugins -> Gerenciador de Plugins -> Pesquisar por “XML Tools” -> Instalar, depois reabrir o programa, abrir o XML novamente e utilizar o atalho Ctrl+Alt+Shift+B para formatar o arquivo.
A seguir, crie uma tabela no SQL Server de acordo com a schemma da estrutura apresentada no início do arquivo:
Mapeie os tipos XML para equivalentes no SQL Server conforme exemplo abaixo:
Tabela criada de acordo com a estrutura fornecida no arquivo “.xml”
4. Importação dos dados por Script no SQL Server
Abaixo contém exemplo de script para inserção de dados na tabela criada no SQL Server
DECLARE @XML XML; SELECT @XML = CAST(BulkColumn AS XML) FROM OPENROWSET( BULK N'C:\TempMovere\BASE-DADOS-MOVERE\Bairros.xml', SINGLE_CLOB ) AS A;
IF OBJECT_ID('tempdb..#StagingBairros') IS NOT NULL DROP TABLE #StagingBairros;
CREATE TABLE #StagingBairros ( f0149idbairro INT, f0149nome VARCHAR(255), f0149ativo BIT, f0001idempresa INT );
INSERT INTO #StagingBairros (f0149idbairro, f0149nome, f0149ativo, f0001idempresa) SELECT T.row.value('f0149idbairro[1]', 'INT'), T.row.value('f0149nome[1]', 'VARCHAR(255)'), T.row.value('f0149ativo[1]', 'BIT'), T.row.value('f0001idempresa[1]', 'INT') FROM @XML.nodes('Tabela/Row') AS T(row);
INSERT INTO Bairros (f0149idbairro, f0149nome, f0149ativo, f0001idempresa) SELECT f0149idbairro, f0149nome, f0149ativo, f0001idempresa FROM #StagingBairros;
DROP TABLE #StagingBairros; |

5. Conferência da importação dos dados
- Após finalizar a importação dados já disponíveis na tabela criada.
Prosseguir com a importação dos demais arquivos conforme exemplo descrito.