Compartilhar via


Arquivos de formato não XML (SQL Server)

No SQL Server 2012, há suporte para dois tipos de arquivos de formato de exportação e importação em massa: arquivos de formato não XML e arquivos de formato XML.

Neste tópico:

  • Benefícios

  • Estrutura de arquivos de formato não XML

  • Exemplo de um arquivo de formato não XML

  • Tarefas relacionadas

Benefícios de arquivos de formato não XML

  • Você pode criar um arquivo de formato não XML automaticamente especificando a opção format em um comando bcp.

  • Quando você especifica um arquivo de formato existente em um comando bcp, o comando usa os valores registrados no arquivo de formato e não solicita a você o tipo de armazenamento do arquivo, comprimento do prefixo, tamanho do campo ou o terminador de campo.

  • Você pode criar um arquivo de formato para um tipo de dados específico, como dados de caractere ou dados nativos.

    Você pode criar um arquivo de formato não XML que contém atributos especificados interativamente para cada campo de dados. Para obter mais informações, consulte Especificar formatos de dados para compatibilidade usando bcp (SQL Server).

ObservaçãoObservação

Arquivos de formato XML oferecem várias vantagens em relação aos arquivos de formato não XML. Para obter mais informações, consulte Arquivos de formato XML (SQL Server).

Ícone de seta usado com o link Voltar ao Início[Início]

Estrutura de arquivos de formato não XML

Um arquivo de formato não XML é um arquivo de texto que tem uma estrutura específica. O arquivo de formato não XML contém informações sobre o tipo de armazenamento do arquivo, o comprimento do prefixo, tamanho do campo e terminador de campo de cada coluna da tabela.

A ilustração a seguir exemplifica os campos do arquivo de formato para um exemplo de arquivo de formato não XML.

Identifica os campos de um arquivo de formato não XML

Os campos Versão e Número de Colunas só ocorrem uma vez. Seus significados são descritos na tabela a seguir.

Campo de arquivo de formato

Descrição

Versão

Número de versão do utilitário bcp:

9.0 = SQL Server 2005 

10.0 = SQL Server 2008

11.0 = SQL Server 2012

O número de versão é reconhecido somente pelo bcp, não pelo Transact-SQL.

ObservaçãoObservação

A versão do utilitário bcp (Bcp.exe) usada para ler um arquivo de formato deve ser igual ou posterior à versão usada para criar o arquivo de formato. Por exemplo, o bcp SQL Server 2008 pode ler uma versão de arquivo de formato 9.0, gerado pelo bcp SQL Server 2005, mas o bcp SQL Server 2005 não pode ler um arquivo de formato versão 10.0, gerado pelo bcp SQL Server 2008.

Número de colunas

Número de campos no arquivo de dados. Esse número deve ser o mesmo em todas as linhas.

Os outros campos de arquivo de formato descrevem os campos de dados que devem ser importados ou exportados em massa. Cada campo de dados requer uma linha separada no arquivo de formato. Cada linha do arquivo de formato contém valores para os campos de arquivo de formato descritos na tabela a seguir.

Campo de arquivo de formato

Descrição

Ordem de campo do arquivo host

Um número que indica a posição de cada campo no arquivo de dados. O primeiro campo na linha é 1, e assim por diante.

Tipo de dados do arquivo host

Indica o tipo de dados que é armazenado em um determinado campo do arquivo de dados. Com arquivos de dados ASCII, use SQLCHAR; para arquivos de dados de formato nativo, use tipos de dados padrão. Para obter mais informações, consulte Especificar tipo de armazenamento de arquivo usando bcp (SQL Server).

Comprimento do prefixo

Número de caracteres de comprimento do prefixo para o campo. Os comprimentos do prefixo válidos são 0, 1, 2, 4 e 8. Para evitar especificar o comprimento do prefixo, defina-o como 0. Um comprimento do prefixo precisará ser especificado se o campo contiver valores de dados NULL. Para obter mais informações, consulte Especificar o tamanho de prefixo em arquivos de dados usando bcp (SQL Server).

Comprimento de dados do arquivo host

Comprimento máximo, em bytes, do tipo de dados armazenado no campo específico do arquivo de dados.

Se você estiver criando um arquivo de formato não XML para um arquivo de texto delimitado, poderá especificar 0 para o comprimento de dados do arquivo host de cada campo de dados. Quando um arquivo de texto é delimitado com um comprimento do prefixo 0 e um terminador é importado, o valor de tamanho do campo é ignorado, porque o espaço de armazenamento usado pelo campo é igual ao comprimento dos dados mais o terminador.

Para obter mais informações, consulte Especificar tamanho do campo usando bcp (SQL Server).

Terminador

Delimitador para separar os campos em um arquivo de dados. Terminadores comuns são vírgula (,), tabulação (\t) e término de linha (\r\n). Para obter mais informações, consulte Especificar terminadores de campo e linha (SQL Server).

Ordem de coluna de servidor

A ordem de exibição das colunas na tabela SQL Server. Por exemplo, se o quarto campo no arquivo de dados mapear para a sexta coluna em uma tabela do SQL Server, a ordem da coluna no servidor para o quarto campo será 6.

Para evitar que uma coluna na tabela receba dados do arquivo de dados, defina o valor da ordem da coluna no servidor como 0.

Nome de coluna de servidor

Nome da coluna copiado da tabela do SQL Server. O nome atual do campo não é necessário, mas o campo no arquivo de formato não deve ficar em branco.

Agrupamento de coluna

O agrupamento usado para armazenar dados de caracteres e Unicode no arquivo de dados.

ObservaçãoObservação

Você pode modificar um arquivo de formato para importar em massa de um arquivo de dados no qual o número ou a ordem dos campos difere do número ou da ordem das colunas na tabela. Para obter mais informações, consulte a lista de Tarefas relacionadas, mais adiante neste tópico.

Ícone de seta usado com o link Voltar ao Início[Início]

Exemplo de um arquivo de formato não XML

O exemplo a seguir mostra um arquivo de formato não XML previamente criado (myDepartmentIdentical-f-c.fmt). Esse arquivo descreve um campo dos dados de caracteres para cada coluna da tabela HumanResources.Department no banco de dados de exemplo AdventureWorks.

O arquivo de formato gerado, myDepartmentIdentical-f-c.fmt, contém as seguintes informações:

11.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID     ""
2       SQLCHAR       0       100     "\t"     2     Name             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName        SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate     ""
ObservaçãoObservação

Para obter uma ilustração que mostra os campos de arquivo de formato em relação a esse arquivo de formato não XML, consulte Estrutura de arquivos de formato não XML, anteriormente neste tópico.

Ícone de seta usado com o link Voltar ao Início[Início]

Tarefas relacionadas

[Início]

Consulte também

Referência

Utilitário bcp

Conceitos

Criar um formato de arquivo (SQL Server)

Arquivos de formato XML (SQL Server)

Arquivos de formato para importação ou exportação de dados (SQL Server)