Mi cliente está utilizando Access como interfaz de una base de datos de SQL Server. Recientemente comenzaron a recibir errores ODBC - 3146 de vez en cuando al ejecutar algunos informes. Por lo que puedo decir, esto es solo un error genérico de llamada fallida ODBC.Determine la causa real de la falla de ODBC (error 3146) con ms-access?
He intentado controlar el error en el script de VB que está lanzando los informes, pero no estoy teniendo suerte obteniendo información de error adicional.
El código se parece un poco a esto.
Public Function RunReports()
On Error GoTo MyErrorTrap
DoCmd.OpenReport "blah", acViewPreview
DoCmd.Close
DoCmd.OpenReport "foo", acViewPreview
DoCmd.Close
Exit_function:
Exit Function
MyErrorTrap:
Dim errX As DAO.Error
Dim MyError As Error
If Errors.Count > 1 'This always seems to be 0, so no help
For Each errX In DAO.Errors 'These are empty even if dont check for Errors.Count
Debug.Print "ODBC Error"
Debug.Print errX.Number
Debug.Print errX.Description
Next errX
Else
Debug.Print "VBA Error"
Debug.Print Err.Number
Debug.Print Err.Description
End If
'Also have tried checking DBEngine.Errors, but this is empty too
End Function
también he habilitado el seguimiento en el lado de ODBC, pero que ha estancado las cosas demasiado, y estoy hasta ahora incapaz de recrear el error de ODBC.
Estoy completamente abierto a sugerencias sobre cómo diagnosticar esto.
Mi tipo de "Error" no tiene .Number o .Description - se supone que es diferente? – AnotherParker
Supongo que su error probablemente no es un error 'dbEngine'. ¿Puedes proporcionar más detalles? Probablemente necesita su propia publicación. – Smandoli