bcp_writefmt

현재 대량 복사 데이터 파일의 서식에 대한 설명이 포함된 서식 파일을 만듭니다.

구문

RETCODE bcp_writefmt ( 
        HDBC hdbc, 
        LPCTSTR szFormatFile);

인수

  • hdbc
    대량 복사가 가능한 ODBC 연결 핸들입니다.

  • szFormatFile
    데이터 파일의 형식 값을 받을 사용자 파일의 경로와 이름입니다.

반환 값

SUCCEED 또는 FAIL

주의

서식 파일은 대량 복사를 통해 만들어진 데이터 파일의 데이터 형식을 지정합니다. bcp_columnsbcp_colfmt를 호출하면 데이터 파일의 형식이 정의되며, bcp_writefmtszFormatFile에서 참조되는 파일에 이 정의를 저장합니다. 자세한 내용은 bcp_init를 참조하십시오.

bcp 데이터 형식 파일의 구조에 대한 자세한 내용은 bcp 유틸리티를 사용하여 대량 데이터 가져오기 및 내보내기(SQL Server)을 참조하십시오.

저장된 서식 파일을 로드하려면 bcp_readfmt를 사용합니다.

[!참고]

bcp_writefmt를 통해 생성된 서식 파일은 SQL Server 버전 7.0 이상과 함께 배포된 bcp 유틸리티 버전에서만 지원됩니다.

// Variables like henv not specified.
HDBC      hdbc;
DBINT      nRowsProcessed;

// Application initiation, get an ODBC environment handle, allocate the
// hdbc, and so on.
... 

// Enable bulk copy prior to connecting on allocated hdbc.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_BCP, (SQLPOINTER) SQL_BCP_ON,
   SQL_IS_INTEGER);

// Connect to the data source, return on error.
if (!SQL_SUCCEEDED(SQLConnect(hdbc, _T("myDSN"), SQL_NTS,
   _T("myUser"), SQL_NTS, _T("myPwd"), SQL_NTS)))
   {
   // Raise error and return.
   return;
   }

// Initialize bulk copy. 
if (bcp_init(hdbc, _T("myTable"), _T("myData.csv"),
   _T("myErrors"),    DB_OUT) == FAIL)
   {
   // Raise error and return.
   return;
   }

if (bcp_columns(hdbc, 3) == FAIL)
   {
   // Raise error and return.
   return;
   }

bcp_colfmt(hdbc, 1, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 1);
bcp_colfmt(hdbc, 2, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 2);
bcp_colfmt(hdbc, 3, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 3);

if (bcp_writefmt(hdbc, _T("myFmtFile.fmt")) == FAIL)
   {
   // Raise error and return.
   return;
   }

if (bcp_exec(hdbc, &nRowsProcessed) == SUCCEED)
   {
   printf_s("%ld rows copied from SQL Server\n", nRowsProcessed);
   }

// Carry on.

참고 항목

참조

대량 복사 함수