bcp_readfmt

지정한 형식 파일에서 데이터 파일 형식 정의를 읽어 옵니다.

구문

RETCODE bcp_readfmt ( 
        HDBC hdbc, 
        LPCTSTR szFormatFile);

인수

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

  • szFormatFile
    데이터 파일에 대한 서식 값이 포함된 파일의 경로 및 파일 이름입니다.

반환 값

SUCCEED 또는 FAIL

주의

bcp_readfmt는 형식 값을 읽은 후 bcp_columnsbcp_colfmt를 적절하게 호출합니다. 형식 파일의 구문을 분석하여 이러한 호출을 수행할 필요가 없습니다.

형식 파일을 저장하려면 bcp_writefmt를 호출합니다. bcp_readfmt를 호출할 때 저장된 서식을 참조할 수 있습니다. 자세한 내용은 bcp_init를 참조하십시오.

또는 대량 복사 유틸리티(bcp)로 사용자 정의 데이터 형식을 bcp_readfmt로 참조할 수 있는 파일에 저장할 수 있습니다. bcp 유틸리티 및 bcp 데이터 형식 파일의 구조에 대한 자세한 내용은 데이터 대량 가져오기 및 내보내기(SQL Server)을 참조하십시오.

bcp_control의 eOption 매개 변수에 대한 BCPDELAYREADFMT 값은 bcp_readfmt 동작을 수정합니다.

[!참고]

형식 파일은 bcp 유틸리티 4.2 이상 버전에서 생성된 파일이어야 합니다.

// 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_IN) == FAIL)
   {
   // Raise error and return.
   return;
   }

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

if (bcp_exec(hdbc, &nRowsProcessed) == SUCCEED)
   {
   cout << nRowsProcessed << " rows copied to SQL Server\n";
   }

// Carry on.

참고 항목

참조

대량 복사 함수