Мой клиент использует Access в качестве внешнего интерфейса для базы данных SQL Server. Недавно они начали получать ошибки ODBC - 3146 время от времени при запуске некоторых отчетов. Из того, что я могу сказать, это просто общая ошибка вызова ODBC.
Я попытался вставить некоторую обработку ошибок в сценарий VB, который запускает отчеты, но мне не повезло, получая дополнительную информацию об ошибках.
Код выглядит примерно так.
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
Я также включил трассировку на стороне ODBC, но это слишком затормозило, и я до сих пор не могу воссоздать ошибку ODBC.
Я полностью открыт для предложений по диагностике этого.