元数据发现
SQL Server 2012 中改进了元数据发现功能,从而使 SQL Server Native Client 应用程序能确保在执行查询后返回的列或参数元数据与您执行该查询之前指定的元数据格式相同或兼容。 如果执行查询后返回的元数据与执行该查询之前指定的元数据格式不兼容,您将会收到错误。
在 bcp 和 ODBC 函数以及 IBCPSession 和 IBCPSession2 接口中,您现在可以指定延迟读取(延迟的元数据发现)以避免对查询输出操作执行元数据发现。 这样可以提高性能,并避免元数据发现失败。
如果您开发使用 SQL Server 2012 中的 SQL Server Native Client 的应用程序,但所连接的服务器的版本早于 SQL Server 2012,则元数据发现功能将对应于该服务器的版本。
备注
SQL Server 2012 中增强了以下 bcp 函数,以提供改进的元数据发现:
使用 bcp_setbulkmode 指定元数据格式时,您也会看到性能的改进。
bcp_control 具有新的 eOption 以控制 bcp_readfmt 的行为: BCPDELAYREADFMT。
SQL Server 2012 中增强了以下 ODBC 函数,以提供改进的元数据发现:
SQL Server 2012 中增强了以下 OLE DB 成员函数,以提供改进的元数据发现:
IColumnsInfo::GetColumnInfo
IColumnsRowset::GetColumnsRowset
ICommandWithParameters::GetParameterInfo(有关详细信息,请参阅 ICommandWithParameters)
使用 IBCPSession::BCPSetBulkMode 指定元数据格式时,您也会看到性能的改进。
由于 SQL Server 2012 中新增了两个存储过程,SQL Server Native Client 中的元数据发现功能才得以改进:
sp_describe_first_result_set
sp_describe_undeclared_parameters