J'ai une base de données MS SQL avec plusieurs tables, et un champ en particulier me cause du chagrin.MS SQL Problème - Longueur du champ étant limitée
Le type de données est défini sur varchar (100), mais le champ est limité à 60 caractères.
Si j'essaie de mettre une chaîne de plus de 60 caractères dans le champ, j'obtiens une exception, "La chaîne ou les données binaires seraient tronquées". Bien que la chaîne soit plus courte que le type de données explicitement défini, elle génère toujours une exception.
Y a-t-il peut-être un paramètre de base de données qui le fait? Qu'est-ce qui peut provoquer l'écrasement du type de données explicitement défini?
Edit:
Les déclencheurs ne copient pas la valeur ou l'insérer dans une autre table et ne pas utiliser les données non plus. - (Incorrect)
Les chaînes dont la taille est inférieure à 60 caractères fonctionnent correctement.
Toutes les colonnes qui ont varchar (100) donnent le même problème, mais toutes les autres colonnes acceptent les valeurs correctes. La colonne varchar (10) fonctionne bien.
Toute ligne de cette table lève l'exception si j'essaie de mettre à jour le champ avec une chaîne de plus de 60 caractères. J'essaie d'insérer les données directement dans le champ à l'aide de SQL Server Management Studio.
Aucun bourrage n'est impliqué.
Réponse:
Il y avait une deuxième table où la colonne a été fixé à 60. Le déclencheur de mise à jour appelée une procédure stockée qui insère les données dans la table « dénormalisé ».
Merci pour toute l'aide.