SqlBulkCopy를 사용하여 2 개 테이블의 뷰에 정보를 삽입 할 수 있습니까?

c# sqlbulkcopy sql-server

문제

SqlBulkCopy를 사용하여 일부 데이터베이스에 큰 삽입을 처리하려고합니다. 이로 인해 하나의 db에 대한 성능이 크게 향상되었습니다.

그러나 다른 목표 DB 테이블은 2 개의 테이블을 구성하는 뷰입니다. 단일 테이블 코드를 적용하면 "System.Data.SqlClient.SqlException :보기 또는 함수 'dbo.vwParameter'가 수정이 여러 기본 테이블에 적용되므로 업데이트 할 수 없습니다."라는 메시지가 표시됩니다. 좋은 비트 디스크 공간을 절약하기 때문에 바람직하지 않지만 많은 복잡한 문제를 일으키지 않고 하나의 테이블로 뷰를 병합 할 수 있습니다.

그래서이 컨텍스트에서 SqlBulkCopy를 사용할 수 있습니까? 그리고 저는 단지 잘못된 것을하고 있습니까? 그렇지 않다면 독서회의 견해를 유지하는 좋은 해결책은 무엇일까요?

수락 된 답변

SqlBulkCopy가 기본적으로 트리거 대신 내 스크립트를 무시한다는 것이 밝혀졌습니다. SqlBulkCopyOptions.FireTriggers를 SqlBulkCopy 생성자에 전달하면됩니다.


인기 답변

SqlBulkCopy에서보기를 사용할 수 있습니다.
그러나 당신의 문제는 당신이 가지고있는 견해가 갱신 할 수 없다는 것입니다.
보기가 갱신 가능하도록 충족시켜야하는 특정 요구 사항이 있습니다.
자세한 정보는 http://msdn.microsoft.com/en-us/library/ms187956.aspx에서 확인할 수 있습니다 .
'업데이트 가능한보기'섹션을 찾으십시오.

가능하면이 두 테이블 각각을 한 번에 하나씩 직접 채우기를 제안합니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.