代码之家  ›  专栏  ›  技术社区  ›  Sergey S.

获取MS Access ADO混合查询的完整MS SQL server错误消息详细信息

  •  1
  • Sergey S.  · 技术社区  · 7 年前

    我正在使用ADO执行查询:

    Dim connLocal As ADODB.Connection
    
        Set connLocal = CurrentProject.Connection
    
        strSQL = "INSERT INTO dbo_tbl_ErrorLog SELECT tbl_ErrorLog.* FROM tbl_ErrorLog;"
    
        On Error GoTo ErrorSQL
        connLocal.Execute strSQL
        .....
    ErrorSQL:
        lErrNo = Err.Number
        strErrDesc = Err.Description
        If InStr(1, strErrDesc, "ODBC") Then
            Dim i As Long
            Dim strErr As String
            For i = 0 To connLocal.Errors.Count - 1
                strErrDesc = strErrDesc & vbCrLf & connRemote.Errors(i).Number & " - " & connLocal.Errors(i).Description
            Next i
        End If
        .....
    

    dbo_tbl_ErrorLog 链接到MS SQL表, tbl_ErrorLog -链接MS访问表。

    -2147467259-ODBC--调用失败。

    connLocal.Errors 仅包含一项“ODBC--调用失败”。在这种混合查询的情况下,是否可以检索完整的错误详细信息?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Erik A    7 年前

    不幸的是,通过ADO,我所知道的并不多。

    ADO连接是Access数据库引擎的连接,只接收它引发的错误。

    如果需要跟踪此特定错误,可以通过 enabling ODBC tracing 用于将Access连接到SQL server的ODBC连接。跟踪日志应包括SQL Server引发的任何错误,以及Access用于将数据移动到SQL Server的查询。

    sp_readerrorlog 引发错误后,可以使用直通查询,也可以使用与SQL Server的单独ADO连接。