Você receberá uma mensagem de erro ao tentar preencher uma tabela do SQL Server 2000 com um plano de geração de dados no Visual Studio 2005 Team Edition for Database Professionals: "System.Data.SqlClient.SqlError: não permitido conversão implícita de dados digite nte

Traduções deste artigo Traduções deste artigo
ID do artigo: 928965 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Ao tentar preencher uma tabela do Microsoft SQL Server 2000 com um plano de geração de dados do Microsoft Visual Studio 2005 Team Edition for Database Professionals, poderá receber uma mensagem de erro semelhante à seguinte:
Tabela TableName: System.Data.SqlClient.SqlError: não permitido conversão implícita de dados tipo ntext para dados digite varchar, tabela ' TableName ', ' ColumnName ' coluna. Use a função CONVERT para executar essa consulta.
Observação Esse problema ocorre ao tentar preencher o campo para um campo varchar ou nvarchar que contém mais de 4000 caracteres.

Causa

Esse problema ocorre porque o provedor do SqlClient converte o tipo de dados varchar ou nvarchar em um texto ou o tipo de dados ntext . No entanto, não é possível converter um tipo de dados text ou ntext para um tipo de dados varchar ou nvarchar no SQL Server 2000.

Observação No Microsoft SQL Server 2005, o provedor do SqlClient usa um tipo de dados varchar ou nvarchar (max) em vez do tipo de dados text ou ntext . Portanto, esse problema não ocorre no SQL Server 2005.

Como Contornar

Para contornar este problema, certifique-se que colunas varchar em um banco de dados do SQL Server 2000 não contêm mais de 4000 caracteres.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Etapas para reproduzir o problema

  1. Inicie o Microsoft Visual Studio 2005.
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Expanda Projetos de banco de dados e, em seguida, clique em Microsoft SQL Server .
  4. Clique em SQL Server 2000 , digite Database1 na caixa nome e, em seguida, clique em OK .
  5. No Solution Explorer, expanda Objetos de esquema , clique com o botão direito do mouse em Tables , clique em Adicionar e, em seguida, clique em tabela .
  6. Na caixa nome , digite MaxVarChar e, em seguida, clique em Adicionar .
  7. Substitua o código no arquivo dbo.MaxVarChar.table.sql com o exemplo de código a seguir.
    CREATE TABLE [dbo].[MaxVarChar]
    (
    [VarChar_maxLength] [varchar] (8000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL
    ) ON [PRIMARY]
  8. No menu dados , aponte para Editor T-SQL e, em seguida, clique em Executar SQL .
  9. Na caixa de diálogo conectar ao banco de dados , clique na conexão na lista conexão de banco de dados e, em seguida, clique em OK .
  10. No Solution Explorer, clique com o botão direito do mouse em Planos de geração de dados , aponte para Adicionar e, em seguida, clique em Plano de geração de dados .
  11. Na caixa nome , digite DataGenerationPlan1.dgen e, em seguida, clique em Adicionar .
  12. Clique para selecionar a caixa de seleção dbo.MaxVarChar .
  13. No menu dados , aponte para Data Generator e, em seguida, clique em Gerar dados .

    Observação Clique em Sim se a você deseja limpar o conteúdo das tabelas selecionadas antes de inserir novas linhas? caixa de diálogo é exibida.
  14. Na caixa de diálogo conectar ao banco de dados , clique na conexão na lista conexão de banco de dados e, em seguida, clique em OK .

    Você receber a mensagem de erro mencionada na seção "Sintomas".

Propriedades

ID do artigo: 928965 - Última revisão: quarta-feira, 13 de dezembro de 2006 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio 2005 Team Edition for Database Professionals
Palavras-chave: 
kbmt kbtshoot kbpubtypekc kberrmsg kbprb KB928965 KbMtpt
Tradução automática
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: 928965

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com