IBCPSession::BCPReadFmt (Native Client OLE DB Provider)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (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::BCPColumnsIBCPSession::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 方法。

另请参阅

IBCPSession (OLE DB)
执行大容量复制操作