bcp_writefmt
현재 대량 복사 데이터 파일의 서식에 대한 설명이 포함된 서식 파일을 만듭니다.
구문
RETCODE bcp_writefmt (
HDBC hdbc,
LPCTSTR szFormatFile);
인수
hdbc
대량 복사가 가능한 ODBC 연결 핸들입니다.szFormatFile
데이터 파일의 형식 값을 받을 사용자 파일의 경로와 이름입니다.
반환 값
SUCCEED 또는 FAIL
주의
서식 파일은 대량 복사를 통해 만들어진 데이터 파일의 데이터 형식을 지정합니다. bcp_columns 및 bcp_colfmt를 호출하면 데이터 파일의 형식이 정의되며, bcp_writefmt는 szFormatFile에서 참조되는 파일에 이 정의를 저장합니다. 자세한 내용은 bcp_init를 참조하십시오.
bcp 데이터 형식 파일의 구조에 대한 자세한 내용은 서식 파일 작업을 참조하십시오.
저장된 서식 파일을 로드하려면 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.