bcp_readfmt
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform 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.