信息: 可选功能未实现"错误消息

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 214459
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
概要
若要将参数传递给存储过程中使用 ActiveX 数据对象 (ADO) 时, 您可能会收到以下错误:
运行时错误"2147217887 (80040e21)":
[] Microsoft[ODBC SQL Server 驱动程序]未实现的可选功能。
更多信息
如果试图设置 ADODB 命令对象的数据提供程序不支持的类型的参数集合中的一个参数的类型,则会发生此错误。

例如对于使用 SQL Server 7.0 PUBS 数据库上创建存储的过程:
   CREATE PROCEDURE GetEmployeeInfo (@thedate datetime, @NumEmployees int output)AS        SELECT @NumEmployees =  count(*) FROM EMPLOYEE WHERE hire_date < @thedate   GO				
此存储的过程返回输出参数的类型为 int,该值指示给定日期之前雇用的员工数。日期被传递给存储过程作为一个参数,且向调用程序作为输出参数传递的雇员数。

现在创建 ADO 应用程序使用该存储的过程。给出该示例是用 Visual Basic 编写的。
Private Sub MySubroutine()Dim dbConnection As ADODB.ConnectionDim dbCommand As ADODB.CommandSet dbConnection = New ADODB.ConnectionSet dbCommand = New ADODB.CommandDim DSNNAME As StringDim USERNAME As StringDim PASSWORD As StringDSNNAME = "Pubs"USERNAME = "sa"PASSWORD = ""dbConnection.Open DSNNAME, USERNAME, PASSWORDdbCommand.ActiveConnection = dbConnectionDim TheDate As DateTheDate = NowdbCommand.CommandText = "GetEmployeeInfo"dbCommand.CommandType = adCmdStoredProcdbCommand.Parameters.Append dbCommand.CreateParameter("@thedate", adDBDate, adParamInput, 0, TheDate)dbCommand.Parameters.Append dbCommand.CreateParameter("@NumEmployees", adInteger, adParamOutput, 0)dbCommand.ExecuteDim strTheString As StringstrTheString = "There are " & dbCommand.Parameters("@numemployees") & " employees who were hired before " & TheDateMsgBox strTheString, vbOKOnly, "Demonstration"End Sub				
运行的代码示例时,它提供了此错误:
运行时错误"2147217887 (80040e21)":
[] Microsoft[ODBC SQL Server 驱动程序]未实现的可选功能。
这是因为 SQL Server 不支持 adDBDate 数据类型。若要更正此问题,更改 adDBTimeStamp @ theDate 参数的数据类型。

若要确定数字、 名称、 类型,和的存储过程中所需的参数大小,使用命令对象的 Parameters.Refresh 方法。您可以在开发应用程序以确定正确的要求,该存储过程的过程中调用此方法,然后删除 Parameters.Refresh 昂贵调用后您收集所必需的数据。
数据库

警告:本文已自动翻译

属性

文章 ID:214459 - 上次审阅时间:08/23/2001 09:52:00 - 修订版本: 1.0

Microsoft ActiveX Data Objects 2.0, Microsoft ActiveX Data Objects 2.1 Service Pack 2, Microsoft ActiveX Data Objects 2.5, Microsoft ActiveX Data Objects 2.6, Microsoft ActiveX Data Objects 2.7

  • kbmt kbinfo kbstoredproc KB214459 KbMtzh
反馈