c \ # SqlBulkCopy 를 사용 하여 빅 데이터 삽입 데이터베이스 속 도 를 높 입 니 다.
1. BulkCopy 는 삽입 방식 을 사용 합 니 다. 덮어 쓰 는 방식 이 아 닙 니 다. (원본 데이터 가 움 직 이지 않 고 원본 데이터 뒤에 dataTable 의 내용 을 복사 합 니 다)
2. 추 가 된 필드 에 값 을 부여 하지 않 습 니 다.
3. 데이터베이스 필드 이름과 dataTable 열 이름 이 다 를 수 있 습 니 다. 대응 관 계 는 bulkcopy. ColumnMappings. Add ("author", "author") 를 사용 합 니 다.연관 성
public void SaveTable(DataTable dtTable)
{
SqlBulkCopy sbc = new SqlBulkCopy(DbHelperSQL.connectionString, SqlBulkCopyOptions.UseInternalTransaction);
sbc.BulkCopyTimeout = 5000;
try
{
sbc.DestinationTableName = "FAST_Temp";
sbc.WriteToServer(dtTable);
}
catch (Exception ex)
{
//
}
finally
{
//sqlcmd.Clone();
//srcConnection.Close();
//desConnection.Close();
}
}
또한 SqlBulkCopyOptions 매 거 진 을 확장 합 니 다.
구성원 이름
설명 하 다.
AllowEncryptedValueModifications
암호 화 값 수정 허용.
CheckConstraints
데 이 터 를 삽입 하 는 동시에 제약 조건 을 검사 합 니 다. 기본 적 인 상황 에서 제약 을 검사 하지 않 습 니 다.
Default
모든 옵션 의 기본 값 을 사용 합 니 다.
FireTriggers
지정 하면 서버 가 트리거 를 자극 하여 줄 을 데이터베이스 에 삽입 합 니 다.
KeepIdentity
원본 표지 값 유지. 표지 값 이 지정 되 지 않 았 을 때 이 값 은 목표 가 할당 합 니 다.
KeepNulls
기본 값 설정 대신 대상 표 에 null 값 을 유지 합 니 다. 지정 되 지 않 으 면 기본 값 으로 null 값 을 바 꿉 니 다 (적용 시).
TableLock
대량 복제 작업 지속 시간의 대량 업데이트 잠 금 가 져 오기. 지정 되 지 않 으 면 줄 잠 금 을 사용 합 니 다.
UseInternalTransaction
지정 하면 일괄 복사 작업 의 모든 부분 이 트 랜 잭 션 에서 발생 합 니 다. 이 옵션 을 표시 하고 구조 함수 에 SqlTransaction 을 제공 합 니 다. 대상 ArgumentException。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.