다음을 통해 공유


IBCPSession::BCPColumns(Native Client OLE DB Provider)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

Important

SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 SQL Server용 새 Microsoft OLE DB 드라이버(MSOLEDBSQL)로 전환합니다.

SQL Server 테이블의 열에 바인딩할 필드 수를 설정합니다.

구문

  
HRESULT BCPColumns(   
      DBCOUNTITEM nColumns);  

설명

내부적으로 IBCPSession::BCPColFmt를 호출하여 필드 데이터의 기본값을 설정합니다. 이러한 기본값은 IBCPSession::BCPInit을 통해 테이블 이름을 지정할 때 공급자가 내부적으로 검색하는 SQL Server 열 정보에서 가져옵니다.

참고 항목

이 메서드는 BCPInit이 유효한 파일 이름으로 호출된 후에만 호출할 수 있습니다.

기본값과 다른 사용자 파일 형식을 사용하려는 경우에만 이 메서드를 호출해야 합니다. 기본 사용자 파일 형식에 대한 자세한 설명을 보려면 BCPInit 메서드를 참조하십시오.

사용자 정의 파일 형식을 완전하게 정의하려면 BCPColumns 메서드를 호출한 후에 사용자 파일의 각 열에 대해 BCPColFmt 메서드를 반드시 호출해야 합니다.

인수

nColumns[in]
사용자 파일의 총 필드 수입니다. 사용자 파일에서 SQL Server 테이블로 데이터를 대량 복사할 준비를 하고 사용자 파일의 모든 필드를 복사하지 않으려는 경우에도 nColumns 인수를 사용자 파일 필드의 총 수로 설정해야 합니다. 그런 다음 BCPColFmt를 통해 건너뛴 필드를 지정할 수 있습니다.

반환 코드 값

S_OK
메서드가 성공했습니다.

E_FAIL
공급자 관련 오류가 발생했습니다. 자세한 내용을 보려면 ISQLServerErrorInfo 인터페이스를 사용하세요.

E_UNEXPECTED
예기치 않은 메서드가 호출되었습니다. 예를 들어 BCPInit 메서드는 이 메서드를 호출하기 전에 호출되지 않았습니다. 대량 복사 작업에 이 메서드를 두 번 이상 호출한 경우에도 발생합니다.

E_OUTOFMEMORY
메모리 부족 오류가 발생했습니다.

참고 항목

IBCPSession(OLE DB)
대량 복사 작업 수행