Vous pouvez recevoir un message d'erreur lorsque vous tentez de remplir une table SQL Server 2000 avec un plan génération de données dans Visual Studio 2005 Team Edition for Database Professionals: « System.Data.SqlClient.SqlError : non autorisée conversion implicite de données type nte

Traductions disponibles Traductions disponibles
Numéro d'article: 928965 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous essayez alimenter une table Microsoft SQL Server 2000 avec un plan génération de données dans Microsoft Visual Studio 2005 Team Edition for Database Professionals, un message d'erreur semblable au suivant peut s'afficher :
Table TableName : System.Data.SqlClient.SqlError : non autorisée conversion implicite de ntext de type de données à des données type varchar, table « TableName », colonne « ColumnName ». Utilisez la fonction CONVERT pour exécuter cette requête.
note Ce problème se produit lorsque vous tentez de renseigner le champ d'un champ qui contient plus de 4000 caractères varchar ou nvarchar .

Cause

Ce problème se produit car le fournisseur SqlClient convertit le type de données varchar ou nvarchar à un texte ou le type de données ntext . Cependant, vous ne pouvez pas convertir un type de données texte ou ntext à un type de données varchar ou nvarchar dans SQL Server 2000.

note Dans Microsoft SQL Server 2005, le fournisseur SqlClient utilise un type de données varchar ou nvarchar(max) au lieu du type de données texte ou ntext . Par conséquent, ce problème ne se produit pas dans SQL Server 2005.

Contournement

Pour contourner ce problème, assurez-vous que les colonnes varchar dans une base de données SQL Server 2000 ne contiennent pas plus de 4000 caractères.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Procédure pour reproduire le problème

  1. Démarrez Microsoft Visual Studio 2005.
  2. Dans le menu Fichier , pointez sur Nouveau , puis cliquez sur projet .
  3. Développez des projets de base de données , puis cliquez sur Microsoft SQL Server .
  4. Cliquez sur SQL Server 2000 , tapez Database1 dans la zone Nom et puis cliquez sur OK .
  5. Dans l'Explorateur de solutions, développez les objets de schéma , cliquez avec le bouton droit sur tables cliquez sur Ajouter et puis cliquez sur tableau .
  6. Dans la zone Nom , tapez MaxVarChar et puis cliquez sur Ajouter .
  7. Remplacez le code dans le fichier dbo.MaxVarChar.table.sql par l'exemple de code suivant.
    CREATE TABLE [dbo].[MaxVarChar]
    (
    [VarChar_maxLength] [varchar] (8000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL
    ) ON [PRIMARY]
  8. Dans le menu données , pointez sur Éditeur T-SQL , puis cliquez sur Exécuter SQL .
  9. Dans la boîte de dialogue connecter à la base de données , cliquez sur la connexion de base de données dans la liste connexion , puis cliquez sur OK .
  10. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur plans de génération de données , pointez sur Ajouter et puis cliquez sur plan de génération de données .
  11. Dans la zone Nom , tapez DataGenerationPlan1.dgen et puis cliquez sur Ajouter .
  12. Cliquez pour sélectionner la case à cocher dbo.MaxVarChar .
  13. Dans le menu données , pointez sur la génération de données , puis cliquez sur Générer les données .

    note Cliquez sur Oui si la Voulez-vous effacer le contenu de tables sélectionnées avant d'insérer de nouvelles lignes? boîte de dialogue s'affiche.
  14. Dans la boîte de dialogue connecter à la base de données , cliquez sur la connexion de base de données dans la liste connexion , puis cliquez sur OK .

    Vous recevez le message d'erreur qui est mentionné dans la section « Symptômes ».

Propriétés

Numéro d'article: 928965 - Dernière mise à jour: mercredi 13 décembre 2006 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Studio 2005 Team Edition for Database Professionals
Mots-clés : 
kbmt kbtshoot kbpubtypekc kberrmsg kbprb KB928965 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 928965
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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