Déterminer la cause réelle de ODBC échec (erreur 3146) avec ms-access?

Mon client est à l'aide de l'Accès comme un front-end pour une base de données SQL Server. Ils ont récemment commencé à recevoir ODBC - 3146 erreurs de temps à autre lors de l'exécution de certains rapports. À partir de ce que je peux dire, c'est juste un generic ODBC échec de l'appel d'erreur.

J'ai essayé de coller une gestion d'erreur dans le script VB qui lance les rapports, mais je ne suis pas d'avoir un peu de chance, plus d'informations sur l'erreur.

Code ressemble un peu à ça.

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

J'ai aussi activé le suivi sur le ODBC côté, mais qui a entravé les choses de manière trop, et je suis en mesure de recréer l'erreur ODBC.

Je suis complètement à l'écoute des suggestions sur la façon de diagnostiquer ce.

InformationsquelleAutor Aaron Hinni | 2009-04-08