Compartilhar via


Conectando com bcp

Baixar driver ODBC

O utilitário bcp está disponível com o Microsoft ODBC Driver for SQL Server em Linux e macOS. Esta página documenta as diferenças da versão Windows do bcp.

  • O terminador de campo é um tab (“\t”).

  • O terminador de linha é um newline (“\n”).

  • O modo de caractere é o formato preferencial para arquivos de formato bcp e de dados que não contenham caracteres estendidos.

Observação

Uma barra invertida ‘\’ em um argumento de linha de comando deve ser colocada entre aspas ou usar caractere de escape. Por exemplo, para especificar uma nova linha como um terminador de linha personalizado, você deve usar um dos seguintes mecanismos:

  • -r\\n
  • -r"\n"
  • -r'\n'

A seguir está um exemplo de invocação de comando bcp para copiar linhas da tabela para um arquivo de texto:

bcp AdventureWorks2008R2.Person.Address out test.dat -Usa -Pxxxx -Sxxx.xxx.xxx.xxx

Opções disponíveis

Na versão atual, as seguintes sintaxes e opções estão disponíveis:

[database.]schema.tableindata_file | outdata_file

-apacket_size
Especifica o número de bytes por pacote de rede enviado de e para o servidor.

-bbatch_size
Especifica o número de linhas por lote de dados importados.

-c
Usa um tipo de dados de caractere

-ddatabase_name
Especifica o banco de dados que deve ser conectado.

-D
Faz com que o valor passado para a opção -S do bcp seja interpretada como um nome da fonte de dados (DSN). Para obter mais informações, consulte "Suporte para SN em sqlcmd e bcp" em Como conectar-se com sqlcmd.

-eerror_file
Especifica o caminho completo de um arquivo de erro usado para armazenar as linhas que o utilitário bcp não puder transferir do arquivo para o banco de dados.

-E
Usa um valor ou valores de identidade no arquivo de dados importados para a coluna de identidade.

-fformat_file
Especifica o caminho completo de um arquivo de formato.

-Ffirst_row
Especifica o número da primeira linha que deve ser exportada de uma tabela ou importada de um arquivo de dados.

-G
Essa opção é usada pelo cliente ao se conectar ao Banco de Dados SQL do Azure ou o Azure Synapse Analytics para especificar que o usuário seja autenticado usando a autenticação do Microsoft Entra ID. Ele pode ser combinado apenas com a opção -P para usar a autenticação do token de acesso (v17.8+). A opção -G exige, no mínimo, a versão 17.6 do bcp. Para determinar a versão, execute bcp -v.

Importante

Este artigo se aplica ao Banco de Dados SQL do Azure, à Instância Gerenciada de SQL e ao Azure Synapse Analytics.

A Autenticação Integrada do AAD não é compatível com o Linux nem com o macOS. A Autenticação Integrada do Microsoft Entra requer o Microsoft ODBC Driver 17 for SQL Server versão 17.6.1 ou posterior e um ambiente Kerberos configurado corretamente.

-k
Especifica que colunas vazias devem manter um valor nulo durante a operação, em vez de qualquer valor padrão nas colunas inseridas.

-l
Especifica um tempo limite de logon. A opção -l especifica o número de segundos antes que um logon em SQL Server expire quando você tentar se conectar a um servidor. O tempo limite de logon padrão é de 15 segundos. O tempo limite do logon deve ser um número entre 0 e 65534. Se o valor fornecido não for numérico ou não estiver nesse intervalo, bcp gerará uma mensagem de erro. Um valor de 0 especifica um tempo limite infinito.

-Llast_row
Especifica o número da última linha a ser exportada de uma tabela ou importada de um arquivo de dados.

-mmax_errors
Especifica o número máximo de erros de sintaxe que podem ocorrer antes da operação bcp ser cancelada.

-n
Usa os tipos de dados nativos (banco de dados) dos dados para realizar uma operação de cópia em massa.

-Ppassword
Especifica a senha para a ID de logon. Quando usado com a opção -G sem -U, especifica um arquivo que contém um token de acesso (v17.8+). O arquivo de token deve estar no formato UTF-16LE (sem BOM).

Tokens de acesso podem ser obtidos por meio de vários métodos. É importante garantir que o token de acesso seja um byte para byte correto, pois ele será enviado no estado em que se encontra. Confira abaixo um comando de exemplo que obtém um token de acesso. O comando usa os comandos da CLI do Azure e Linux e salva-os em um arquivo no formato adequado. Caso a codificação padrão do sistema ou do terminal não seja ASCII ou UTF-8, talvez seja necessário ajustar as opções iconv. Garanta a proteção cuidadosa do arquivo resultante e exclua-o quando não for mais necessário.

az account get-access-token --resource https://database.windows.net --output tsv | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > /tmp/tokenFile

-q
Executa a instrução SET QUOTED_IDENTIFIERS ON na conexão entre o utilitário bcp e uma instância do SQL Server.

-rrow_terminator
Especifica o terminador de linha.

-R
Especifica que dados de moeda, data e horário são copiados em massa no SQL Server usando o formato regional definido para as configurações de localidade do computador cliente.

-Sserver
Especifica o nome da instância de SQL Server à qual se conectar ou, se -D é usado, um DSN.

-tfield_terminator
Especifica o terminador de campo.

-T
Especifica que o utilitário bcp se conecta ao SQL Server com uma conexão confiável (segurança integrada).

-u
Confiar no certificado do servidor. (disponível desde a versão 18 do bcp)

-Ulogin_id
Especifica a ID de logon usada para conectar-se ao SQL Server.

-v
Informa o número de versão e copyright do utilitário bcp.

-w
Executa a operação de cópia em massa usando caracteres Unicode.

Nesta versão, há suporte para caracteres Latin-1 e UTF-16.

-Y[s|m|o]
Especifica o modo de criptografia de conexão. As opções são Estrito, Obrigatório e Opcional. O uso de -Y sem parâmetros utiliza o modo de criptografia Obrigatório e é equivalente a -Ym. (disponível desde a versão 18 do bcp)

Opções não disponíveis

Na versão atual, as seguintes sintaxes e opções não estão disponíveis:

-C
Especifica a página de código dos dados no arquivo de dados.

-hhint
Especifica as dicas usadas durante uma importação de dados em massa para uma tabela ou exibição.

-iinput_file
Especifica o nome de um arquivo de resposta.

-N
Usa os tipos de dados nativos (do banco de dados) dos dados para dados de não caractere e caracteres Unicode para dados de caractere.

-ooutput_file
Especifica o nome de um arquivo que recebe a saída redirecionada do prompt de comando.

-V (80 | 90 | 100)
Usa tipos de dados de uma versão anterior do SQL Server.

-x
Usado com as opções format e -f format_file, gera um arquivo em formato baseado em XML, em vez do arquivo em formato não XML padrão.

Confira também

Conectando com sqlcmd
Notas de versão