CORRECÇÃO: DTS pode truncar caracteres quando você exporta uma coluna de tabela de caracteres tipo de dados para um arquivo de texto

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 247527
BUG #: 56824 (SQLBUG_70)
BUG #: 216236 (SHILOH_BUG)
Sintomas
Quando você usa os Data Transformation Services (DTS) Assistente para exportação/importação, DTS pode truncar strings de coluna que são mais de 255 caracteres longo se todas as seguintes condições existirem:
  • A coluna é um tipo de dados de caractere (varchar, char, nvarchar, nchar) e o tamanho da coluna é maior que 255 caracteres.

  • DTS exporta a coluna para um arquivo de texto.

  • Campos delimitados são usados para exportação.
Causa
Quando você usa campos delimitados para exportar dados, o OLE provedor para arquivos de texto é usado pelo DTS, DTSFlatFile (dtsffile.dll), que faz com que os dados para truncar na exportação.
Resolução
Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211INF: Como obter o Service Pack mais recente do SQL Server 2000
Como Contornar
Aqui estão vários métodos que você pode usar para solucionar esse problema:
  • Usar campos fixos e exportar para um arquivo de texto com o DTS Wizard ou Designer de pacote. Tanto o Assistente de exportação/importação do DTS e o pacote DTS Designer fornecem a opção para usar campos fixos quando você exporta dados para um arquivo de texto.

    Para usar o Assistente de exportação/importação de DTS, você verá o seguinte prompt quando você escolhe o arquivo de texto de destino:
    Selecionar formato de arquivo de destino
    Você deseja selecionar campo fixo - informações é atribuído em colunas de mesma largura .

    Para usar o pacote DTS Designer, você verá o seguinte prompt quando você estiver configurando o arquivo de texto de destino:
    Selecione o formato de arquivo
    Você deseja selecionar campo fixo - informações é atribuído em colunas de mesma largura .

    Observação : como o uso de campos fixos pode exigir mais espaço que campos delimitados se suas colunas varchar não estiverem preenchidas, esta operação pode potencialmente usar mais espaço. O campo fixo requer mais espaço porque o espaço é alocado para a largura da coluna inteira. No entanto, a próxima opção elimina esse problema.

  • Use bcp para exportar a tabela para um arquivo de texto. Bcp fornece recursos que permitem exportar tabelas ou modos de exibição para arquivos de texto usando campos delimitados. Para obter mais informações sobre o utilitário bcp , consulte Microsoft SQL Server 7.0 Books Online.

  • Crie a coluna da tabela usando um tipo de dados de texto.
  • No SQL Server 2000, existe uma solução adicional se os arquivos de texto delimitado devem ser usados. Quando você usar o Assistente para importação e exportação de DTS para exportar dados para um arquivo de texto delimitado, primeiro salvar o pacote e abrir o pacote no DTS Designer. No criador de DTS, clique em pacote e clique em Desconectado Editar para abrir o pacote no modo desconectado editar. Expanda conexões de , expanda o objeto de conexão do arquivo de texto e, em seguida, expanda Propriedades OLEDB . Finalmente, altere o valor de "Máximo de caracteres por coluna delimitada" para 8.000.
  • Se você criar o pacote usando o modelo de objeto DTS, adicione a seguinte linha de código onde a conexão do arquivo de texto está sendo inicializada:
    oConnection.ConnectionProperties("Max characters per delimited				column") = 8000
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 2.
DTS, exportar, delimitados, campos

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 247527 - Última Revisão: 06/23/2005 05:56:05 - Revisão: 7.4

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbmt kbbug kbfix KB247527 KbMtpt
Comentários