SQL 대량 복사가 스파 스 열과 함께 작동하지 않습니다.

c# sqlbulkcopy sql-server sql-server-2008 sql-server-2008-r2

문제

C #SQLBulkCopy 클래스를 사용하여 SQL Server 2008 R2에 여러 행을 삽입 하려고 합니다. 일반 테이블에서는 작동하지만 스파 스 열이있는 테이블에서는 작동하지 않습니다.

SQLBulkCopy 에서 스파 스 열에 대한 추가 설정을 설정해야합니까?

내 코드 :

using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(sqlConnection, SqlBulkCopyOptions.KeepIdentity, null))
    {         
       foreach (DataColumn item in objectData.Columns)
              {
                  sqlBulkCopy.ColumnMappings.Add(item.ColumnName, item.ColumnName);
              }

          sqlBulkCopy.DestinationTableName = "[" + tableName + "]";
          sqlBulkCopy.WriteToServer(objectData);
     }

이 오류가 발생합니다.

지정된 ColumnMapping이 소스 또는 대상의 모든 열과 일치하지 않습니다.

인기 답변

나는 그것이 희박한 기둥 때문이 아니라고 가정합니다. 테이블에 어떤 열 세트가 있습니까?

테이블에 column_set 이 있으면 스파 스 열은 별개의 열로 처리되지 않습니다. 모든 스파 스 열의 값은 column_set 값에 포함되며 XML 열과 동일한 방식으로 내보내집니다. 즉, 이진 유형으로 바인드 된 경우 varbinary (max) 로, char 또는 wchar 유형으로 바인드되는 경우 nvarchar (max)로 사용 됩니다. 수입에서 column_set 값은 column_set의 스키마를 준수해야합니다.

자세한 내용은 여기를 참조하십시오 . SQL Server Native Client의 스파 스 열 지원



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