访问 ODBC 直通查询失败,错误 3146 提供不同的错误描述文本
Acces ODBC passthru query fails with error 3146 giving different error description texts
我创建了一个直通查询 SELECTING Postgres v.11 数据库的行 table。
运行 currentDb.execute 生成 ODBC 错误 3146 和 DBEngine.errors 中提到的“无效参数”。
在数据库资源管理器中打开相同的查询会生成 ODBC 错误 3146 和一个带有“权限被拒绝...”的消息框,这实际上反映了错误的来源。
我的问题是如何以编程方式获取后者信息更丰富的错误消息?
我认为以下内容将提供您正在寻找的内容:
Public Function DbEngineErrors() As String
Dim intErr As Integer
Dim strRet As String
Dim strErr As String
If DBEngine.Errors.Count > 0 Then
strRet = "DbEngineErrors:"
For intErr = 0 To DBEngine.Errors.Count - 1
strErr = DBEngine.Errors(intErr).Number & " / " & DBEngine.Errors(intErr).Description & " / " & DBEngine.Errors(intErr).Source
strRet = strRet & vbCrLf & strErr
Next
End If
DbEngineErrors = strRet
End Function
我创建了一个直通查询 SELECTING Postgres v.11 数据库的行 table。 运行 currentDb.execute 生成 ODBC 错误 3146 和 DBEngine.errors 中提到的“无效参数”。 在数据库资源管理器中打开相同的查询会生成 ODBC 错误 3146 和一个带有“权限被拒绝...”的消息框,这实际上反映了错误的来源。
我的问题是如何以编程方式获取后者信息更丰富的错误消息?
我认为以下内容将提供您正在寻找的内容:
Public Function DbEngineErrors() As String
Dim intErr As Integer
Dim strRet As String
Dim strErr As String
If DBEngine.Errors.Count > 0 Then
strRet = "DbEngineErrors:"
For intErr = 0 To DBEngine.Errors.Count - 1
strErr = DBEngine.Errors(intErr).Number & " / " & DBEngine.Errors(intErr).Description & " / " & DBEngine.Errors(intErr).Source
strRet = strRet & vbCrLf & strErr
Next
End If
DbEngineErrors = strRet
End Function