bcp_writefmt

적용 대상: SQL Server(지원되는 모든 버전) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

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

구문

  
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.  

참고 항목

Bulk Copy Functions