我有一个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
答案 0 :(得分:0)
您确定您对此存储过程拥有Execute
权限?必须由sql server管理员设置。