REVISIÓN: ADO suprime errores al obtener en Datatypes Nonvariant

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 274423
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Síntomas
Al obtener los valores de conjunto de filas en nonvariant tipos de datos, ActiveX Data Objects (ADO) puede suprimir los errores relacionados con el estado del conjunto de registros, como las notificaciones que el registro está bloqueado por otro usuario.

Este problema se produce en Microsoft Data Access Components (MDAC) versión 2.50.4403.12 (Microsoft Windows 2000 y MDAC 2.5 RTM) y 2.51.5303.5 (Windows 2000 y MDAC 2.5 SP1). Este problema no ocurre en versión de MDAC 2.60.6526.3 (RTM de MDAC 2.6).
Causa
Se toma una ruta de código ligeramente diferente dependiendo de si la aplicación está obteniendo en tipos de datos variant. El uso de variantes se ajusta en un objeto de contexto interno que tiene la capacidad para devolver información de error. Nonvariants no tienen este contenedor de contexto y no devuelven información de error.
Solución
Para resolver este problema, obtenga el service pack más reciente para Microsoft Data Access Components 2.5. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
293312INFO: Cómo obtener la más reciente de MDAC 2.5 Service Pack
La versión en inglés de este tiene los atributos de archivo (o posterior) que figuran en la tabla siguiente. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   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				

SOLUCIÓN

No se conoce ningún remedio para este problema.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo. Este problema se corrigió por primera vez en Microsoft Data Access Components 2.5 Service Pack 2.
Más información

Pasos para reproducir este comportamiento

  1. Copie el código siguiente en un proyecto de Visual Basic:

    Nota <username>Debe cambiar el UID <nombredeusuario> valor y el PWD = valor de < contraseña > a los valores correctos antes de ejecutar este código. Asegúrese de que UID tiene los permisos adecuados realizar esta operación en la base de datos.
    Dim cn As ADODB.Connection, cnOtherUser As ADODB.ConnectionDim rs As ADODB.Recordset, rsOtherUser As ADODB.RecordsetDim strConn As String, strSQL As StringDim varData As Variant, intData As IntegerstrConn = "Provider=MSDASQL;Driver={SQL Server};Server=YourServer;Database=Northwind;UID=<user name>;PWD=<strong password>;"strSQL = "SELECT * FROM Customers"Set cnOtherUser = New ADODB.ConnectioncnOtherUser.Open strConnSet rsOtherUser = New ADODB.RecordsetrsOtherUser.Open strSQL, cnOtherUser, adOpenKeyset, adLockPessimistic, adCmdTextrsOtherUser.MoveFirstSet cn = New ADODB.Connectioncn.Open strConncn.CommandTimeout = 10Set rs = New ADODB.Recordsetrs.Open strSQL, cn, adOpenKeyset, adLockPessimistic, adCmdTextIf 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 0Else    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 0End Ifrs.Closecn.ClosersOtherUser.ClosecnOtherUser.Close					
  2. Agregar una referencia a ActiveX Data Objects 2.5 Library.
  3. Ejecutar el código y elija cuando se le pregunte si desea utilizar un valor de tipo Variant. Tenga en cuenta que se devuelve un mensaje de error "Tiempo de espera agotado", que indica que los registros no podrían ser recuperados en la cantidad de tiempo especificada.
  4. Vuelva a ejecutar el código y esta vez elija no cuando se le pedirá que utilice un valor de tipo Variant. Este error se devuelve que indica que no hay ningún registro actual, pero no hay ninguna indicación que ha excedido el tiempo de espera.
Referencias
Para obtener información adicional, haga clic en los números de artículo correspondientes para verlos en Microsoft Knowledge Base:
247757REVISIÓN: Pérdida de conexión mediante el comando parametrizado en ADO
264442REVISIÓN: Recordset ADO pierde propiedades de filtro cuando se calcula en proceso
264701REVISIÓN: Pasar ByRef de Recordset de ADO restablece la información de error
Suprimir ADO suprime recuperación variant tiempo de espera mensajes de error

Propiedades

Id. de artículo: 274423 - Última revisión: 02/24/2014 00:44:33 - Revisión: 2.2

Microsoft ActiveX Data Objects 2.5, Microsoft Data Access Components 2.5, Microsoft Data Access Components 2.5 Service Pack 1

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbado250fix kbbug kbfix kbmdac250fix kbqfe KB274423 KbMtes
Comentarios