Compreendendo arquivos no formato XML

Microsoft Microsoft SQL Server 2005 e versões posteriores fornecem um esquema XML que define sintaxe por gravar arquivos no formato XML. Arquivos no formato XML devem aderir a este esquema que está definido no Schema Definition Language XML (XSDL). Só são suportados arquivos no formato XML quando ferramentas SQL Server são instaladas junto com Cliente Nativo de SQL Server.

ObservaçãoObservação

SQL Server 2005 e versões posteriores suportam dois tipos de arquivos de formato. Por outro lado, o Microsoft SQL Server 2000 e versões anteriores suportavam apenas um tipo de arquivo de formato. Para distinguir o tipo preexistente de arquivos de formato XML, o tipo preexistente de arquivos de formato é chamado um arquivo de formato não-XML.

Você pode usar arquivos no formato XML para importar em massa dados em tabelas ou visualizações não-particionadas e para exportar em massa dados. Os arquivos no formato XML são uma alternativa a arquivos no formato não-XML, que são suportados em SQL Server 2000 e versões anteriores (e permanecem suportados). Arquivos no formato XML são mais flexíveis e poderosos do que arquivos no formato não-XML. Arquivos no formato XML são fáceis de entender e criar. Além disso, eles são legíveis, tornando fácil entender como são interpretados os dados durante operações em massa. A codificação XML descreve claramente os tipos de dados e elementos de dados do arquivo de dados e também o mapeamento entre elementos de dados e colunas de tabela.

Um arquivo de formato XML pode ser aprimorado e ainda permanecer compatível com suas versões anteriores. Além disso, a clareza da codificação XML facilita a criação de arquivos em formatos múltiplos para um determinado arquivo de dados. Isto será útil se você tiver que mapear tudo ou alguns dos campos de dados para colunas em tabelas ou exibições diferentes.

O comando bcp lhe permite gerar um arquivo de formato XML automaticamente para uma tabela; para obter mais informações, veja Utilitário bcp.

Estrutura de arquivos no formato não-XML

Como um arquivo de formato não-XML, um arquivo de formato XML define o formato e a estrutura dos campos de dados em um arquivo de dados e mapeia esses campos de dados a colunas em uma única tabela de destino.

Um arquivo de formato XML possui dois componentes principais, <RECORD> e <ROW>:

  • <RECORD> descreve os dados conforme eles são armazenados no arquivo de dados.

    Cada <RECORD> elemento contém um conjunto de um ou mais <FIELD> elementos. Estes elementos correspondem a campos no arquivo de dados. A sintaxe básica é a seguinte:

    <<RECORD>>

       <FIELD .../> [ ...n ]

    <</RECORD>>

    Cada elemento <FIELD> descreve os conteúdos de um campo de dados específico. Um campo só pode ser mapeado para uma coluna na tabela. Nem todos os campos precisam ser mapeados para colunas.

    Um campo em um arquivo de dados pode ser de comprimento fixo/variável ou terminado em caractere. Um valor de campo pode ser representado como: um caractere (usando representação do byte único), um caractere largo (usando representação Unicode de dois bytes), formato de banco de dados nativo ou um nome de arquivo. Se um valor de campo for representado como um nome de arquivo, o nome de arquivo apontará ao arquivo que contém o valor de uma coluna de BLOB na tabela destino.

  • <ROW> descreve como construir linhas de dados de um arquivo de dados quando os dados são importados em uma tabela SQL Server.

    Um elemento <ROW> contém um conjunto de elementos <COLUMN>. Esses elementos correspondem a colunas de tabela. A sintaxe básica é a seguinte:

    <<ROW>>

       <COLUMN .../> [ ...n ]

    <</ROW>>

    Cada elemento <COLUMN> só pode ser mapeado para um campo do arquivo de dados. A ordem dos elementos <COLUMN> no elemento <ROW> define a ordem em que eles são retornados pela operação em massa. O arquivo de formato XML atribui a cada elemento <COLUMN> um nome local que não tem nenhuma relação com a coluna da tabela de destino de uma operação de importação em massa.

Tópicos adicionais