在服务器上从VBA运行存储过程到存储过程时出现系统错误&h80040e14

时间:2018-07-13 12:40:51

标签: sql excel excel-vba

我有一个Excel工具可以连接到另一台服务器上的SQL DB并运行存储过程。

可以在"ConnectDB"函数中完成连接,

此行出现问题:Set objMyRecordset = cmd.Execute

我得到的错误是

  

系统错误&h80040e14

现在我已经用谷歌搜索了,似乎归结为权限?而且我需要向正在运行的存储过程中添加“执行”权限,但这无济于事。

有人知道我要去哪里错吗?只是为了添加一些额外信息,正常的Update语句有效,但在尝试执行存储过程时无效。

下面是我的代码。与数据库工作的连接

Dim cmd As ADODB.Command

    Set objMyRecordset = New ADODB.Recordset
    Dim FilePath As String, DealerType As String

    Progress_Indicator.Show vbModeless
    Progress_Indicator.Repaint

    DealerType = wsStart.Cells(12, 9).Value
    FilePath = wsStart.Cells(14, 9).Value

    ConnectDB

    Set cmd = New ADODB.Command
    With cmd
    .ActiveConnection = objMyConn
    .CommandType = adCmdStoredProc
    .CommandText = "sp_Import_And_Calculate_SpareParts_Report_HardCoded"
    '.Parameters.Append .CreateParameter("@DealerType", adVarChar, adParamInput, 20, DealerType)
    '.Parameters.Append .CreateParameter("@FilePath", adVarChar, adParamInput, 1000, FilePath)
    .CommandTimeout = 0
    '.Execute
    End With

    Set objMyRecordset = cmd.Execute

1 个答案:

答案 0 :(得分:0)

您确定您对此存储过程拥有Execute权限?必须由sql server管理员设置。