È possibile che venga visualizzato un messaggio quando si tenta di compilare una tabella di SQL Server 2000 con un piano di generazione dati in Visual Studio 2005 Team Edition for Database Professionals: "System.Data.SqlClient.SqlError: conversione implicita non consentita dai dati digitare nte

Traduzione articoli Traduzione articoli
Identificativo articolo: 928965 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Quando si tenta di compilare una tabella di Microsoft SQL Server 2000 con un piano di generazione dati in Microsoft Visual Studio 2005 Team Edition for Database Professionals, viene potrebbe essere visualizzato un messaggio di errore analogo al seguente:
Tabella TableName: System.Data.SqlClient.SqlError: non consentito conversione implicita da ntext del tipo di dati ai dati tipo varchar, "TableName", "ColumnName" della colonna di tabella. Utilizzare la funzione Converti per eseguire la query.
Nota Questo problema si verifica quando si tenta di compilare il campo per un campo di varchar o nvarchar che contiene più di 4000 caratteri.

Cause

Questo problema si verifica perché il provider SqlClient converte il tipo di dati varchar o nvarchar in un testo o di un tipo di dati ntext . Un tipo di dati varchar o nvarchar in SQL Server 2000 non è tuttavia possibile convertire un tipo di dati text o ntext .

Nota In Microsoft SQL Server 2005, il provider SqlClient utilizza un tipo di dati varchar (max) o nvarchar (max) anziché dal tipo di dati di tipo text o ntext. Di conseguenza, il problema non si verifica in SQL Server 2005.

Workaround

Per aggirare il problema, assicurarsi che colonne varchar in un database di SQL Server 2000 non contengano più di 4000 caratteri.

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Informazioni

Procedura per riprodurre il problema

  1. Avviare Microsoft Visual Studio 2005.
  2. Scegliere Nuovo dal menu file , quindi progetto .
  3. Espandere i Progetti di database e quindi fare clic su Microsoft SQL Server .
  4. Fare clic su SQL Server 2000 , digitare Database1 nella casella nome e quindi fare clic su OK .
  5. In Esplora soluzioni, espandere Oggetti dello schema , fare clic con il pulsante destro del mouse su tabelle , fare clic su Aggiungi e quindi fare clic su tabella .
  6. Nella casella nome digitare MaxVarChar e quindi fare clic su Aggiungi .
  7. Sostituire il codice nel file dbo.MaxVarChar.table.sql con il seguente esempio di codice.
    CREATE TABLE [dbo].[MaxVarChar]
    (
    [VarChar_maxLength] [varchar] (8000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL
    ) ON [PRIMARY]
  8. Editor T-SQL dal menu dati , quindi Esegui SQL .
  9. Nella finestra di dialogo Connetti al database , selezionare la connessione di database nell'elenco connessione e scegliere OK .
  10. In Esplora soluzioni, fare clic con il pulsante destro del mouse Piani di generazione di dati , scegliere Aggiungi , quindi Piano di generazione dei dati .
  11. Nella casella nome digitare DataGenerationPlan1.dgen e quindi fare clic su Aggiungi .
  12. Fare clic per selezionare la casella di controllo dbo.MaxVarChar .
  13. Generatore di dati dal menu dati , quindi Genera dati .

    Nota Fare clic su se il si desidera cancellare il contenuto delle tabelle selezionate prima di inserire nuove righe? verrà visualizzata la finestra di dialogo.
  14. Nella finestra di dialogo Connetti al database , selezionare la connessione di database nell'elenco connessione e scegliere OK .

    È visualizzato il messaggio di errore menzionato nella sezione "Sintomi".

Proprietà

Identificativo articolo: 928965 - Ultima modifica: mercoledì 13 dicembre 2006 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Visual Studio 2005 Team Edition for Database Professionals
Chiavi: 
kbmt kbtshoot kbpubtypekc kberrmsg kbprb KB928965 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 928965
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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