bcp_readfmt

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

지정된 형식 파일에서 데이터 파일 형식 정의를 읽습니다.

구문

  
RETCODE bcp_readfmt (  
        HDBC hdbc,  
        LPCTSTR szFormatFile);  

인수

hdbc
대량 복사 사용 ODBC 연결 핸들입니다.

szFormatFile
데이터 파일의 형식 값을 포함하는 파일의 경로 및 파일 이름입니다.

반품

SUCCEED 또는 FAIL

설명

bcp_readfmt 형식 값을 읽은 후 bcp_columns 및 bcp_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.  

참고 항목

대량 복사 함수