다음을 통해 공유


방법: 프로그램 변수에서 데이터 대량 복사(ODBC)

다음은 bcp_bind 및 bcp_sendrow를 사용하여 프로그램 변수에서 SQL 서버로 데이터를 대량 복사하는 대량 복사 함수의 사용 방법을 보여 주는 예제입니다. 이 예제를 간소화하기 위해 오류 검사 코드는 제거했습니다.

전체 예제 코드는 SQL Server 코드 예제(SQL Server Code Samples) 페이지에서 다운로드할 수 있는 BulkCopyFromVariables.cpp 파일에 있습니다. 이 예제는 Microsoft Visual C++ 2005를 사용하여 개발되었으며 ODBC 버전 3.0 이상용으로 개발되었습니다.

보안 정보   가능하면 Windows 인증을 사용하십시오. Windows 인증을 사용할 수 없으면 런타임에 사용자에게 자격 증명을 입력하라는 메시지를 표시합니다. 자격 증명은 파일에 저장하지 않는 것이 좋습니다. 자격 증명을 유지하려면 Win32 cryptoAPI를 사용하여 자격 증명을 암호화해야 합니다.

프로그램 변수에서 직접 대량 복사 함수를 사용하려면

  1. 환경 핸들 및 연결 핸들을 할당합니다.

  2. 대량 복사 작업을 사용하도록 SQL_COPT_SS_BCP 및 SQL_BCP_ON을 설정합니다.

  3. SQL Server에 연결합니다.

  4. bcp_init를 호출하여 다음 정보를 설정합니다.

    • 대량 복사를 수행할 원본 또는 대상 테이블/뷰의 이름을 지정합니다.

    • 데이터 파일의 이름에 NULL을 지정합니다.

    • 대량 복사 오류 메시지를 받을 데이터 파일의 이름을 지정합니다. 메시지 파일이 필요하지 않으면 NULL을 지정합니다.

    • 복사 방향을 지정합니다. 응용 프로그램에서 뷰 또는 테이블로 복사하려는 경우 DB_IN, 테이블 또는 뷰에서 응용 프로그램으로 복사하려는 경우 DB_OUT입니다.

  5. 대량 복사에서 각 열에 대해 bcp_bind를 호출하여 열을 프로그램 변수에 바인딩합니다.

  6. 프로그램 변수에 데이터를 채우고 bcp_sendrow를 호출하여 데이터 행을 보냅니다.

  7. 여러 행을 보낸 후 bcp_batch를 호출하여 이미 보낸 행의 검사점을 설정합니다. bcp_batch를 1000개 행당 한 번 이상 호출하는 것이 좋습니다.

  8. 모든 행을 보낸 후 bcp_done을 호출하여 작업을 완료합니다.

대량 복사 작업 동안 bcp_colptrbcp_collen을 호출하여 프로그램 변수의 위치와 길이를 변경할 수 있습니다. bcp_control을 사용하면 여러 대량 복사 옵션을 설정할 수 있습니다. bcp_moretext를 사용하면 text, ntext 및 image 데이터를 분할된 형태로 서버에 보낼 수 있습니다.