Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Base de dados SQL no Microsoft Fabric
Este artigo descreve os atributos de formatação dos dados, as mensagens específicas de cada campo e a forma de armazenar dados campo a campo num ficheiro de formato não XML do utilitário bcp. Esta informação pode ajudar quando exporta em massa dados do SQL Server para importação em massa para outro programa, como outro programa de base de dados. Os formatos de dados predefinidos (nativos, de carácter ou Unicode) na tabela de origem podem ser incompatíveis com o layout de dados que o outro programa espera. Se existir uma incompatibilidade, deve descrever o layout dos dados ao exportar os dados.
Observação
Para mais informações sobre formatos de dados para importação ou exportação de dados, consulte Formatos de dados para importação ou exportação em massa.
Atributos do formato de dados BCP
Use bcp para especificar a estrutura de cada campo num ficheiro de dados através dos seguintes atributos de formato de dados:
Tipo de armazenamento de ficheiros
O tipo de armazenamento de ficheiros descreve como os dados são armazenados no ficheiro de dados. Pode exportar dados para um ficheiro de dados como o seu tipo de tabela de base de dados (formato nativo), na sua representação de caracteres (formato de caracteres), ou como qualquer tipo de dado que suporte conversão implícita. Por exemplo, podes copiar um smallint como int. Os tipos de dados definidos pelo utilizador são exportados como os seus tipos base. Para mais informações, consulte Especificar tipo de armazenamento de ficheiro usando bcp.
Comprimento do prefixo
Para fornecer o armazenamento de ficheiros mais compacto possível para a exportação em massa de dados em formato nativo para um ficheiro de dados,
bcpcada campo precede um ou mais caracteres que indicam o comprimento do campo. Estes caracteres são chamados caracteres de prefixo de comprimento. Para mais informações, consulte Especificar comprimento de prefixo em ficheiros de dados usando bcp.Comprimento do campo
O comprimento do campo indica o número máximo de caracteres necessários para representar dados em formato de caracteres. O comprimento do campo já é conhecido se os dados estiverem armazenados no formato nativo. Para mais informações, consulte Especificar comprimento de campo usando bcp.
Terminador de campo
Para campos de dados de caracteres, caracteres terminais opcionais permitem marcar o fim de cada campo num ficheiro de dados (usando um terminador de campo) e o fim de cada linha (usando um terminador de linha). Os caracteres de terminação são uma forma de indicar aos programas que leem o ficheiro de dados onde termina um campo ou linha e começa outro. Para obter mais informações, consulte Especificar terminadores de campo e linha.
Visão geral dos temas específicos de cada área
Se executares bcp interativamente com a opção in ou out, mas não incluíres nem o comutador do ficheiro de formato (-f) nem um comutador de formato de dados (-n, -c, -w ou -N) para cada coluna da tabela de origem ou de destino, o bcp solicita, por sua vez, cada um dos atributos anteriores. Em cada prompt, bcp fornece um valor padrão baseado no tipo de dado do SQL Server da coluna da tabela. Aceitar o valor padrão para todos os prompts produz o mesmo resultado que especificar o formato nativo (-n) na linha de comandos. Cada prompt mostra um valor predefinido entre parênteses: [predefinido]. Pressione ENTER para aceitar o padrão apresentado. Para especificar um valor diferente do padrão, introduza o novo valor no prompt.
Example
O exemplo seguinte utiliza bcp para exportar em massa dados da tabela HumanResources.myTeam de forma interativa para o ficheiro myTeam.txt. Antes de poderes executar o exemplo, tens de criar esta tabela. Para informações sobre a tabela e como a criar, consulte Tabela de Exemplo HumanResources.myTeam.
O comando não especifica nem um ficheiro de formato nem um tipo de dado, pelo que bcp solicita informação sobre o formato dos dados. No prompt de comandos do Windows, introduza:
bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T
Para cada coluna, bcp solicita valores específicos para o campo. O exemplo seguinte mostra os prompts específicos de campo para as EmployeeID colunas e Name da tabela e sugere o tipo padrão de armazenamento de ficheiro (o formato nativo) para cada coluna. Os comprimentos dos prefixos das EmployeeID colunas e Name são 0 e 2, respetivamente. O utilizador especifica uma vírgula (,) como terminador de cada campo.
Enter the file storage type of field EmployeeID [smallint]:
Enter prefix-length of field EmployeeID [0]:
Enter field terminator [none]:,
Enter the file storage type of field Name [nvarchar]:
Enter prefix length of field Name [2]:
Enter field terminator [none]:,
.
.
.
São apresentadas instruções equivalentes, conforme necessário, para cada uma das colunas da tabela, pela respetiva ordem.
Armazenar dados campo a campo num ficheiro de formato não XML
Depois de especificar todas as colunas da tabela, bcp pede-lhe que, opcionalmente, gere um ficheiro em formato não XML que armazene a informação campo a campo que acabou de fornecer (ver o exemplo anterior). Se optar por gerar um ficheiro de formato, pode usá-lo sempre que exportar dados dessa tabela ou importar dados estruturados da mesma forma para o SQL Server.
Observação
Pode usar o ficheiro de formato para importar dados em massa desse ficheiro para uma instância do SQL Server ou exportar dados em massa da tabela, sem necessidade de reespecificar o formato. Para mais informações, consulte Formatar ficheiros para importar ou exportar dados.
O exemplo seguinte cria um ficheiro não em formato XML chamado myFormatFile.fmt:
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]myFormatFile.fmt
O nome padrão do ficheiro de formato é bcp.fmt, mas podes especificar um nome de ficheiro diferente se quiseres.
Observação
Para um ficheiro de dados que utiliza um único formato de dados para o seu tipo de armazenamento, como carácter ou formato nativo, pode criar rapidamente um ficheiro de formato sem exportar ou importar dados usando a format opção. Esta abordagem é simples e permite-lhe criar um ficheiro em formato XML ou um ficheiro não em formato XML. Para mais informações, consulte Criar um ficheiro de formatação com bcp.
Tarefas relacionadas
- Especificar o tipo de armazenamento de ficheiros usando bcp
- Especificar o comprimento do prefixo em ficheiros de dados usando bcp
- Especifique o comprimento do campo usando bcp
- Especificar terminadores de campo e linha