I am trying to execute a stored procedure. When I write it like this

Set cmd.ActiveConnection = DestinationConnection

cmd.CommandType = adCmdStoredProc
cmd.CommandText = "OBSSp_Request"

cmd.Parameters.Refresh
cmd.Execute , Array(0, db, Null, DocType, "A", Null)
RetVal = cmd.Parameters.Item(0).Value

it works fine.
But I want to write it across a linked server without having to open a special DestinationConnection.



So I tried writing it like this:

Set cmd.ActiveConnection = HostConnection

cmd.CommandType = adCmdStoredProc
cmd.CommandText = Destino & ".OBSCommon.dbo.OBSSp_Request"
'WHERE DESTINO IS THE NAME OF THE LINKED SERVER

cmd.Parameters.Refresh
cmd.Execute , Array(0, db, Null, DocType, "A", Null)
RetVal = cmd.Parameters.Item(0).Value


But in this way I get an error message:
Procedure has too many arguments specified


Any ideas as to what the problem may be?

Thank you.