Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

ODBC неуспешно повикване със съхранена процедура - Преминаване през заявка

За да получите повече информация за причината за „ODBC – неуспешно обаждане“. грешка, можем да преминем през DBEngine.Errors колекция и вижте дали има други съобщения, които може да са малко по-описателни. Например с кода

    qdf.Connect = strConnectionString
    qdf.SQL = " EXEC [dbo].[SAMPLE_TEST]"
    qdf.ReturnsRecords = True
    On Error GoTo oops
    Set rst = qdf.OpenRecordset
    Debug.Print rst!RecordCount
    rst.Close
    Set rst = Nothing
    Exit Sub
oops:
    Dim dbeError As Error
    For Each dbeError In DBEngine.Errors
        Debug.Print "(" & dbeError.Number & "): " & dbeError.Description
    Next
End Sub

може да видим следното в прозореца VBA Immediate:

(229): [Microsoft][ODBC SQL Server Driver][SQL Server]The EXECUTE permission was denied on the object 'SAMPLE_TEST', database 'myDb', schema 'dbo'.
(3146): ODBC--call failed.

Разбира се

Разрешението EXECUTE беше отказано за обекта „SAMPLE_TEST“, база данни „myDb“, схема „dbo“.

е значително по-полезно от просто

ODBC – обаждането не бе успешно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Конфигуриране на Database Mail в SQL Server

  2. Как мога да реша проблем с пула за връзки между ASP.NET и SQL Server?

  3. Преглед на мисии Най-новата услуга за наблюдение на база данни - Spotlight Cloud

  4. Как да параметризирам нулев низ с DBNull.Value ясно и бързо

  5. Всичко, което трябва да знаете за SQL Server JOINS