La mise à jour du déclencheur SQL en majuscule ne fonctionne pas avec l'insertion SQLBulkCopy

sqlbulkcopy sql-server-2008-r2 triggers

Question

J'utilise .NET SQLBulkCopy pour insérer des données par lots dans la base de données. Ce que j'essaie de faire est de convertir toutes les chaînes spécifiées en majuscules lorsque les données sont insérées dans la table. Voici mon script de déclenchement:

ALTER TRIGGER [dbo].[EmployeeTable_UpperCase]
   ON  [dbo].EmployeeTable
  AFTER INSERT
AS 
BEGIN   

UPDATE EmployeeTable SET 
        [CompanyCode] = UPPER([CompanyCode])
       ,[EmpId] = UPPER([EmpId])
       ,[EmpCode] = UPPER([EmpCode])          
Where Id in (Select Id from inserted)   
END

Le script ci-dessus ne fonctionne pas. Aucune de mes données n'est convertie en majuscule. Cela a-t-il quelque chose à voir avec l'utilisation de SQLBulkCopy dans .net pour effectuer une insertion? Comment dois-je faire fonctionner les choses dans mon cas?

Réponse populaire

Lorsque vous créez votre objet SqlBulkCopy , ajoutez SqlBulkCopyOptions.FireTriggers comme SqlBulkCopyOptions.FireTriggers :

SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.FireTriggers);

FireTriggers
Lorsque cette option est spécifiée, le serveur déclenche les déclencheurs d'insertion pour les lignes insérées dans la base de données. - Énumération SqlBulkCopyOptions - MSDN



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi