bcp_writefmt
적용 대상: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)
현재 대량 복사 데이터 파일의 서식에 대한 설명이 포함된 서식 파일을 만듭니다.
Syntax
RETCODE bcp_writefmt (
HDBC hdbc,
LPCTSTR szFormatFile);
인수
hdbc
대량 복사가 가능한 ODBC 연결 핸들입니다.
szFormatFile
데이터 파일의 형식 값을 받을 사용자 파일의 경로와 이름입니다.
반환
SUCCEED 또는 FAIL
설명
서식 파일은 대량 복사를 통해 만들어진 데이터 파일의 데이터 형식을 지정합니다. bcp_columns 및 bcp_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.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기