Você está offline; aguardando reconexão

INFO: Mensagem de erro "Recurso opcional não implementado"

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 214459
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sumário
Ao usar o ActiveX Data Objects (ADO) para passar parâmetros para um procedimento armazenado, você pode receber o seguinte erro:
Erro em tempo de execução '2147217887 (80040e21)':
[Microsoft][ODBC SQL Server Driver] Recurso opcional não implementado.
Mais Informações
Este erro pode ocorrer se você tentar definir o tipo de um parâmetro na coleção de parâmetros de um objeto de comando ADODB para um tipo que não é suportada pelo provedor de dados.

Por exemplo, usando o SQL Server 7.0, crie um procedimento armazenado no banco de dados PUBS:
   CREATE PROCEDURE GetEmployeeInfo (@thedate datetime, @NumEmployees int output)AS        SELECT @NumEmployees =  count(*) FROM EMPLOYEE WHERE hire_date < @thedate   GO				
esse procedimento armazenado retorna um parâmetro de saída do tipo int indicando o número de funcionários contratados antes de uma determinada data. A data é passada para o procedimento armazenado como um parâmetro e o número de funcionários é passado para o programa de chamada como um parâmetro de saída.

Agora crie um aplicativo ADO para usar o procedimento armazenado. O exemplo fornecido está escrito em 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				
quando o código de exemplo é executado, ele apresenta este erro:
Erro em tempo de execução '2147217887 (80040e21)':
[Microsoft][ODBC SQL Server Driver] Recurso opcional não implementado.
Isso ocorre porque o SQL Server não suporta o tipo de dados adDBDate. Para corrigir esse problema, altere o tipo de dados do parâmetro @ theDate para adDBTimeStamp.

Para determinar o número, nomes, tipos e tamanhos dos parâmetros necessários em um procedimento armazenado, use o método Parameters.Refresh do objeto de comando. Você pode chamar esse método durante o desenvolvimento de seu aplicativo para determinar os requisitos corretos para o procedimento armazenado e remover a Parameters.Refresh cara chamada depois que você coletou os dados necessários.
banco de dados

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 214459 - Última Revisão: 08/23/2001 09:52:00 - Revisão: 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 KbMtpt
Comentários