IBCPSession::BCPReadFmt (Native Client OLE DB Provider)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)
重要
已从 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除 SQL Server Native Client(通常缩写为 SNAC)。 不建议在新的开发工作中使用 SQL Server Native Client OLE DB 提供程序(SQLNCLI 或 SQLNCLI11)和旧版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB)。 此后请切换到新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server。
从格式化文件中读取每一列的格式信息。
语法
HRESULT BCPReadFmt(
const wchar_t *pwszFormatFile);
备注
可使用 BCPReadFmt 方法从格式化文件中读取数据,其中该文件指定数据文件中的数据格式 。 此方法能够检测格式化文件的正确版本。 它可以自动检测格式化文件采用的是 xml 格式还是旧式的文本格式,并据此执行操作。 SQL Server Native Client OLE DB 访问接口 BCP 支持的格式文件版本为 6.0 或更高版本。
BCPReadFmt 方法在读取格式值之后,会相应调用 IBCPSession::BCPColumns 和 IBCPSession::BCPColFmt 方法。 用户不必分析格式化文件并发出上述调用。
要保存格式化文件,请调用 IBCPSession::BCPWriteFmt 方法。 调用 BCPReadFmt 方法可引用保存的格式 。 或者,可使用大容量复制实用工具 (bcp) 将用户定义数据格式保存在可由 BCPReadFmt 方法引用的文件中 。
IBCPSession::BCPControl 的 eOption 参数的 BCP_OPTION_DELAYREADFMT 值可修改 IBCPSession::BCPReadFmt 的行为。
参数
pwszFormatFile [in]
包含数据文件格式值的文件的路径和文件名。
返回代码值
S_OK
方法成功。
E_FAIL
出现访问接口特定的错误;要获取详细信息,请使用 ISQLServerErrorInfo 接口。
E_OUTOFMEMORY
内存不足错误。
E_UNEXPECTED
意外调用了该方法。 例如,在调用该方法之前,未调用 IBCPSession::BCPInit 方法。