SQL Trigger Update su Uppercase non funziona con l'inserimento di SQLBulkCopy

sqlbulkcopy sql-server-2008-r2 triggers

Domanda

Sto usando .NET SQLBulkCopy per inserire i dati in batch nel database. Quello che sto cercando di fare è convertire tutta la stringa specificata in maiuscolo quando i dati vengono inseriti nella tabella. Ecco il mio script di trigger:

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

Lo script sopra non funziona. Nessuno dei miei dati viene convertito in maiuscolo. Ha qualcosa a che fare con l'uso di SQLBulkCopy in .net per fare l'inserimento? Come dovrei far funzionare le cose nel mio caso?

Risposta popolare

Quando si crea il tuo SqlBulkCopy oggetto aggiungere SqlBulkCopyOptions.FireTriggers in questo modo:

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

FireTriggers
Se specificato, fa in modo che il server attivi i trigger di inserimento per le righe inserite nel database. - Enumerazione SqlBulkCopyOptions - MSDN



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché