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イミディエイトウィンドウに次のように表示される場合があります。

    (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.
    

    確かに

    オブジェクト「SAMPLE_TEST」、データベース「myDb」、スキーマ「dbo」に対するEXECUTE権限が拒否されました。

    単なる

    よりもかなり役に立ちます

    ODBC--呼び出しに失敗しました。



    1. 列を一覧表示せずに、すべての列で同じ集計を実行するにはどうすればよいですか?

    2. Oracleの存在しない場合の挿入ステートメント

    3. Lighty for Oracle

    4. InnoSetupを使用してMSSQLServerに接続するにはどうすればよいですか?