INFO: Foutbericht 'Optionele functie niet geïmplementeerd'

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 214459 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Samenvatting

Wanneer u ActiveX Data Objects (ADO) parameters doorgeven aan een opgeslagen procedure gebruikt, wordt de volgende fout weer gegeven:
Run time fout '(80040e21) 2147217887':
[Microsoft][ODBC SQL Server Driver] Optionele functie is niet geïmplementeerd.

Meer informatie

Deze fout kan optreden als u probeert om het TYPE van een parameter instellen in een ADODB opdrachtobject parameters-collectie om een type dat niet wordt ondersteund door de gegevensprovider.

Met behulp van SQL Server 7. 0, maakt bijvoorbeeld een opgeslagen procedure in de data base PUBS:
   CREATE PROCEDURE GetEmployeeInfo (@thedate datetime, @NumEmployees int output)AS 
       SELECT @NumEmployees =  count(*) FROM EMPLOYEE WHERE hire_date < @thedate
   GO
				
Deze opgeslagen procedure retourneert een uitvoer parameter van het type integer die het aantal werknemers in dienst genomen vóór een bepaalde datum aangeeft. De datum wordt doorgegeven aan de opgeslagen procedure een parameter en het aantal werknemers wordt doorgegeven aan het aanroep ende programma als een uitvoer parameter.

Maak nu een ADO-toepassing waarmee de opgeslagen procedure. Het voorbeeld is geschreven in 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
				
Als de voorbeeldcode is uitgevoerd, krijgt deze fout:
Run time fout '(80040e21) 2147217887':
[Microsoft][ODBC SQL Server Driver] Optionele functie niet geïmplementeerd.
Dit komt omdat SQL Server biedt geen ondersteuning voor het gegevens type adDBDate. AdDBTimeStamp wijzigen in het gegevens type van de parameter @ nog dit probleem te verhelpen.

Gebruik de methode Parameters.Refresh van het command-object voor het bepalen van het aantal namen, typen en grootten van de parameters die nodig zijn in een opgeslagen procedure. U kunt deze methode aanroepen tijdens de ontwikkeling van uw toepassing om te bepalen van de juiste vereisten voor de opgeslagen procedure en vervolgens de dure aanroep Parameters.Refresh verwijderen nadat u de benodigde gegevens hebt verzameld.

Eigenschappen

Artikel ID: 214459 - Laatste beoordeling: maandag 28 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft ActiveX Data Objects 2.7
Trefwoorden: 
kbDSupport kbinfo kbstoredproc kbmt KB214459 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:214459
Vrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.

Geef ons feedback

 

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