표시하지 FIX: ADO 오류를 Nonvariant 데이터 형식에 페칭 때 않습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 274423 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

이 페이지에서

현상

nonvariant 데이터 형식이 여러 행 값을 가져오는 경우 ADO (ActiveX 데이터 개체) 상태 알림 레코드가 다른 사용자에 의해 잠겨 있습니다 (예: 레코드 집합의 관련 오류를 표시하지 않을 수 있습니다.

Microsoft 데이터 액세스 구성 요소 (MDAC)이 이 문제가 발생합니다 (Microsoft Windows 2000/MDAC 2.5 RTM) 2.50.4403.12 및 2.51.5303.5 버전 (Windows 2000/MDAC 2.5 SP1). MDAC 버전은 이 문제가 발생하지 않습니다 (MDAC 2.6 RTM) 2.60.6526.3.

원인

응용 프로그램에 Variant 데이터 형식이 반입 여부에 따라 약간 다른 코드 경로를 가져옵니다. 변형 사용하여 오류 정보를 반환할 수 있는 내부 컨텍스트 개체가 래핑됩니다. nonvariants이 컨텍스트 래퍼 없는 및 오류 정보를 반환하지 않습니다.

해결 방법

이 문제를 해결하려면 Microsoft 데이터 액세스 구성 요소에 대한 최신 서비스 팩을 구하는 2.5. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
293312정보: 최신 MDAC 2.5 구하는 방법 서비스 팩
영어 버전의 파일 특성을 가집니다 (또는 이상) 다음 표에. 이러한 파일의 시간과 날짜는 UTC (협정 세계시) 로 나열됩니다. 파일 정보에서는 현지 시간으로 변환됩니다. UTC와 로컬 시간의 차이를 알려면 제어판의 날짜 및 시간 도구에서 표준 시간대 탭을 사용하십시오.
   Date       Version        Size             File name
   ----------------------------------------------------------
   8/29/2000  2.51.5629.0     20,480 bytes    Msader15.dll
   8/29/2000  2.51.5629.0    487,696 bytes    Msado15.dll
   8/29/2000  2.51.5629.0    172,304 bytes    Msadomd.dll
   8/29/2000  2.51.5629.0     57,616 bytes    Msador15.dll
   8/29/2000  2.51.5629.0    184,592 bytes    Msadox.dll
   8/29/2000  2.51.5629.0     57,616 bytes    Msadrh15.dll
   8/29/2000  2.51.5629.0     94,480 bytes    Msjro.dll
				

해결 방법

이 문제에 대한 해결 방법은 없습니다.

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다. 이 문제는 Microsoft 데이터 액세스 구성 요소 2.5 서비스 팩 2에서 처음 수정되었습니다.

추가 정보

문제를 재현하기 위한 단계

  1. VBA 프로젝트에 다음 코드를 복사하십시오.

    참고<username>UID 변경해야 합니다 값 및 해당 PWD이 이 코드를 실행하기 전에 < 강력한 암호 > 값을 올바른 값으로 =. UID 데이터베이스에서 이 작업을 수행하려면 적절한 사용 권한이 있는지 확인하십시오.
    Dim cn As ADODB.Connection, cnOtherUser As ADODB.Connection
    Dim rs As ADODB.Recordset, rsOtherUser As ADODB.Recordset
    Dim strConn As String, strSQL As String
    Dim varData As Variant, intData As Integer
    
    strConn = "Provider=MSDASQL;Driver={SQL Server};Server=YourServer;Database=Northwind;UID=<user name>;PWD=<strong password>;"
    strSQL = "SELECT * FROM Customers"
    
    Set cnOtherUser = New ADODB.Connection
    cnOtherUser.Open strConn
    Set rsOtherUser = New ADODB.Recordset
    rsOtherUser.Open strSQL, cnOtherUser, adOpenKeyset, adLockPessimistic, adCmdText
    rsOtherUser.MoveFirst
    
    Set cn = New ADODB.Connection
    cn.Open strConn
    cn.CommandTimeout = 10
    Set rs = New ADODB.Recordset
    rs.Open strSQL, cn, adOpenKeyset, adLockPessimistic, adCmdText
    If MsgBox("Use Variant?", vbYesNo) = vbYes Then
        On Error Resume Next
        varData = rs(0)
        If Err.Number <> 0 Then
            MsgBox Err.Description
            Err.Clear
            cn.Errors.Clear
        Else
            MsgBox "No error!"
        End If
        On Error GoTo 0
    Else
        On Error Resume Next
        intData = rs(0)
        If Err.Number <> 0 Then
            MsgBox Err.Description
            Err.Clear
            cn.Errors.Clear
        Else
            MsgBox "No error!"
        End If
        On Error GoTo 0
    End If
    rs.Close
    cn.Close
    
    rsOtherUser.Close
    cnOtherUser.Close
    					
  2. Microsoft ActiveX 데이터 개체 2.5 참조를 추가할 라이브러리.
  3. 코드를 실행하고 Variant를 사용할 것인지 묻는 메시지가 나타나면 를 선택하십시오. 참고 "제한 시간이 만료되었습니다." 오류 메시지가 반환됩니다 나타내는 지정된 양의 시간 레코드를 가져올 수 없습니다.
  4. 코드를 다시 실행한 다음 이 시간 Variant를 사용할 것인지 묻는 메시지가 나타나면 아니요 를 선택합니다. 이 시간은 현재 레코드가 없습니다 있지만 해당 제한 시간 초과 없음 표시가 없을 내용의 오류가 반환됩니다.

참조

자세한 내용은 Microsoft 기술 자료 문서를 보려면 해당 자료의 문서를 참조하십시오.
247757FIX: ADO In 매개 변수화된 명령을 사용하여 연결 누수
264442FIX: ADO 레코드 마샬링되지 때 필터 속성 손실된다 In-Proc
264701FIX: ADO Recordset ByRef 전달 오류 정보 다시 설정한

속성

기술 자료: 274423 - 마지막 검토: 2014년 2월 23일 일요일 - 수정: 2.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.5 서비스 팩 1
키워드:?
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbado250fix kbbug kbfix kbmdac250fix kbqfe KB274423 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. 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