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

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:214459
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.
Аннотация
При использовании объектов данных 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. Чтобы устранить эту проблему, измените тип данных параметра @ theDate на adDBTimeStamp.

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

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 214459 — последний просмотр: 11/16/2010 09:21:00 — редакция: 2.0

Microsoft ActiveX Data Objects 2.7

  • kbDSupport kbinfo kbstoredproc kbmt KB214459 KbMtru
Отзывы и предложения