bcp_readfmt
지정한 형식 파일에서 데이터 파일 형식 정의를 읽어 옵니다.
구문
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 데이터 형식 파일의 구조에 대한 자세한 내용은 서식 파일 작업을 참조하십시오.
[!참고]
형식 파일은 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.