2011/08/13

access2010 SQL Azureいってみようか -10-

エラートラップの時です。呼び出しが失敗しました。(3146)とは。

で、なんのエラーなの?ってなるわけで。SQL Azureに限った話ではないけど。

Sub Test()
On Error GoTo ErrHnd
    Dim dbs As DAO.Database, qdf As DAO.QueryDef
    Set dbs = CurrentDb
    Set qdf = dbs.CreateQueryDef("")
    qdf.Connect = strCn
    qdf.SQL = "EXEC Proc01"
    qdf.ReturnsRecords = False
    qdf.Execute

Done:
    Set qdf = Nothing
    Set dbs = Nothing

    Exit Sub
ErrHnd:
    If Err.Number = 3146 Then
        Dim oErr As Error, msg As String
        For Each oErr In DBEngine.Errors
            msg = msg & oErr.Number & vbCrLf & _
                        oErr.Source & vbCrLf & _
                        oErr.Description & vbCrLf
        Next
        MsgBox msg
    Else
        MsgBox Err.Number & "/" & Error
    End If
    Resume Done
End Sub
これは、権限がないよといってる。
RAISERROR (Transact-SQL)の内容もなんとか。

0 件のコメント: