ИНФОРМАЦИЯ: Сообщение об ошибке "Дополнительные функции не реализовано"

Переводы статьи Переводы статьи
Код статьи: 214459 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

При использовании объектов данных 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.Connection
Dim dbCommand As ADODB.Command

Set dbConnection = New ADODB.Connection
Set dbCommand = New ADODB.Command

Dim DSNNAME As String
Dim USERNAME As String
Dim PASSWORD As String

DSNNAME = "Pubs"
USERNAME = "sa"
PASSWORD = ""

dbConnection.Open DSNNAME, USERNAME, PASSWORD
dbCommand.ActiveConnection = dbConnection

Dim TheDate As Date
TheDate = Now

dbCommand.CommandText = "GetEmployeeInfo"
dbCommand.CommandType = adCmdStoredProc
dbCommand.Parameters.Append dbCommand.CreateParameter("@thedate", adDBDate, adParamInput, 0, TheDate)
dbCommand.Parameters.Append dbCommand.CreateParameter("@NumEmployees", adInteger, adParamOutput, 0)
dbCommand.Execute

Dim strTheString As String
strTheString = "There are " & dbCommand.Parameters("@numemployees") & " employees who were hired before " & TheDate
MsgBox strTheString, vbOKOnly, "Demonstration"
End Sub
				
При выполнении примера кода предоставляет эту ошибку:
Ошибка выполнения "2147217887 (80040e21)".
[Microsoft][Драйвер ODBC SQL Server] Дополнительная возможность не реализована.
Это обусловлено тем, что SQL Server не поддерживает тип данных adDBDate. Чтобы устранить эту проблему, измените тип данных параметра @ theDate на adDBTimeStamp.

Для определения числа, имена, типы и размеры параметров в хранимую процедуру, необходимо использовать метод Parameters.Refresh объекта команды. Этот метод вызывается во время разработки приложения для определения правильных требований для хранимой процедуры, затем удалите вызов дорогих Parameters.Refresh, соберите необходимые данные.

Свойства

Код статьи: 214459 - Последний отзыв: 16 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ActiveX Data Objects 2.7
Ключевые слова: 
kbDSupport kbinfo kbstoredproc kbmt KB214459 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:214459
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com