정보: "선택 기능이 구현되지 않았습니다." 오류 메시지

기술 자료 번역 기술 자료 번역
기술 자료: 214459 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

요약

ADO (ActiveX 데이터 개체)를 사용하여 저장된 프로시저에 매개 변수를 전달할 때 다음 오류가 나타날 수 있습니다.
런타임 오류 '2147217887 (80040e21)':
[Microsoft][ODBC SQL Server 드라이버] 선택적 기능이 구현되지 않았습니다.

추가 정보

데이터 공급자가 지원되지 않는 형식 ADODB 명령 개체의 매개 변수 컬렉션에 매개 변수 TYPE 설정하려고 하면 이 오류가 발생할 수 있습니다.

예를 들어, 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 데이터 형식을 지원하지 않는 때문입니다. 이 문제를 해결하기 위해 adDBTimeStamp @ theDate 매개 변수의 데이터 형식을 변경하십시오.

명령 개체의 Parameters.Refresh 메서드를 사용하여 숫자, 이름, 형식 및 저장된 프로시저에 필요한 매개 변수의 크기를 결정합니다. 저장된 프로시저에 대한 정확한 요구 사항을 확인하려면 응용 프로그램 개발 동안 이 메서드를 호출한 다음 필요한 데이터를 수집한 후 Parameters.Refresh 비싼 호출을 제거할 수 있습니다.

속성

기술 자료: 214459 - 마지막 검토: 2001년 8월 23일 목요일 - 수정: 1.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ActiveX Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.1 서비스 팩 2
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
키워드:?
kbmt kbinfo kbstoredproc KB214459 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

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