2017-03-05 1 views
0

데이터를 데이터베이스에 일괄 적으로 삽입하려면 .NET SQLBulkCopy을 사용하고 있습니다. 내가 뭘 하려는지 데이터를 테이블에 삽입 할 때 모든 지정된 문자열을 대문자로 변환하는 것입니다. 다음은 제 트리거 스크립트입니다.SQLBulkCopy 삽입을 사용하여 대문자로 SQL 트리거 업데이트가 작동하지 않습니다.

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 

위의 스크립트는 작동하지 않습니다. 내 데이터는 대문자로 변환되지 않습니다. 그것은 .net에서 삽입을하기 위해 SQLBulkCopy을 사용하는 것과 관련이 있습니까? 내 사건에서 어떻게 일을해야합니까?

답변

1

당신이 당신의 SqlBulkCopy 개체를 만드는과 같이 SqlBulkCopyOptions.FireTriggers을 추가

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

FireTriggers
를 지정하면, 서버가 행이 데이터베이스에 삽입하기위한 삽입 트리거 화재 원인이된다. - SqlBulkCopyOptions Enumeration - MSDN

관련 문제