IBCPSession::BCPColumns (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

设置绑定到 SQL Server 表中列的字段数。

语法

  
HRESULT BCPColumns(   
      DBCOUNTITEM nColumns);  

备注

在内部,它调用 IBCPSession::BCPColFmt 以便为字段数据设置默认值。 这些默认值从当通过 IBCPSession::BCPInit 指定表名称时提供程序内部检索的 SQL Server 列信息中获取。

注意

只有在已用某一有效的文件名调用 BCPInit 后,才能调用此方法 。

只有在您要使用不同于默认设置的用户文件格式时,才应调用此方法。 有关默认用户文件格式的说明的详细信息,请参阅 BCPInit 方法 。

在调用 BCPColumns 方法后,必须为用户文件中的每一列都调用 BCPColFmt 方法,以便完全定义某一自定义文件格式 。

参数

nColumns[in]
用户文件中字段的总数。 即使准备将数据从用户文件大容量复制到某一 SQL Server 表,并且不想复制用户文件中的所有字段,仍必须将 nColumns 参数设置为用户字段的总数 。 然后,可通过 BCPColFmt 指定跳过的字段 。

返回代码值

S_OK
方法成功。

E_FAIL
出现访问接口特定的错误;若要获取详细信息,请使用 ISQLServerErrorInfo 接口。

E_UNEXPECTED
意外调用了该方法。 例如,在调用该方法之前,未调用 BCPInit 方法 。 在为某一大容量复制操作多次调用此方法时,也会发生这一意外调用。

E_OUTOFMEMORY
内存不足错误。

另请参阅

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