Wrox Home  
Search P2P Archive for: Go

  Return to Index  

asp_databases thread: Formal parameter was defined as OUTPUT but the actual parameter not declared OUTPUT


Message #1 by "Edward Olshansky" <eolshansky@w...> on Wed, 15 Aug 2001 16:31:14
Hi,

	I'm trying to call a StoredProcedure within ASP, but I'm getting a 

stange error.  I've written dozens of similar Stored Procedures, but none 

with as many parameters as this one.  I tested this stored procedure in 

SQL 7 and it works fine, but when I attempt to call it from ASP code it 

gives me an error.  When I remove ANY 4 parameters (i.e. @Description, 

@CallResolution, @CallReq, @Verified) leaving only 20 parameters including 

the "output" parameter, it works just fine.  Also, if I remove just the 

@verified parameter then it will give the same error to the prior 

parameter @CallReq.   

Is there a maximum number of parameters you are allowed to use when making 

a call to a StoredProcedure from ASP?  



-----------------------------------

ASP ERROR MESSAGE

-----------------------------------

Error Number = -2147217900 

Native Error = 8162 

SQLState = 37000 

Error Source = Microsoft OLE DB Provider for ODBC Drivers 

Description = [Microsoft][ODBC SQL Server Driver][SQL Server]Formal 

parameter '@v...' was defined as OUTPUT but the actual parameter not 

declared OUTPUT. 





-----------------------------------

ASP CODE

-----------------------------------

Dim CustIdx

Dim AssignedTo

..............			'I DECLARED ALL VARIABLES AS DIM

Dim CallReq

Dim Verified

Dim TrackingNum



............			'Blah Blah code



objConn.Open strConn

with objCmdSave



  .CommandText = "spNewTechSupport"

  .CommandType = adCmdStoredProc

  .ActiveConnection  = objConn

  .Parameters.Append .CreateParameter("RETURN_VALUE", adInteger, 

adParamReturnValue) 

  .Parameters.Append .CreateParameter("@CustIdx", adVarChar, adParamInput, 

10, strCustIdx) 

  .Parameters.Append .CreateParameter("@AssignedTo", adVarChar, 

adParamInput, 10, strAssignedTo) 

  .Parameters.Append .CreateParameter("@DeptAssigned", adVarChar, 

adParamInput, 10, strDeptAssigned) 

  .Parameters.Append .CreateParameter("@OriginID", adVarChar, 

adParamInput, 10, strOriginID) 

  .Parameters.Append .CreateParameter("@UserId", adVarChar, adParamInput, 

10, strUserId) 

  .Parameters.Append .CreateParameter("@StepNotes", adVarChar, 

adParamInput, 2000, strNotes) 

  .Parameters.Append .CreateParameter("@AcctUserID", adVarChar, 

adParamInput, 30, strAcctUserID) 

  .Parameters.Append .CreateParameter("@AcctUserPin", adVarChar, 

adParamInput, 30, strAcctUserPin) 

  .Parameters.Append .CreateParameter("@FName", adVarChar, adParamInput, 

30, strFName) 

  .Parameters.Append .CreateParameter("@LName", adVarChar, adParamInput, 

30, strLName) 

  .Parameters.Append .CreateParameter("@ProductID", adVarChar, 

adParamInput, 10, strProductID) 

  .Parameters.Append .CreateParameter("@CaseTypeID", adVarChar, 

adParamInput, 10, strCaseTypeID) 

  .Parameters.Append .CreateParameter("@CallMinutes", adVarChar, 

adParamInput, 10, strCallMinutes) 

  .Parameters.Append .CreateParameter("@NumberOfTrades", adVarChar, 

adParamInput, 10, strNumberOfTrades) 

  .Parameters.Append .CreateParameter("@TradesTaken", adVarChar, 

adParamInput, 1, strTradesTaken) 

  .Parameters.Append .CreateParameter("@TradesExecuted", adVarChar, 

adParamInput, 1, strTradesExecuted) 

  .Parameters.Append .CreateParameter("@ForwardedToSitel", adVarChar, 

adParamInput, 1, strForwardedToSitel) 

  .Parameters.Append .CreateParameter("@SitelRep", adVarChar, 

adParamInput, 30, strSitelRep) 

  .Parameters.Append .CreateParameter("@DeptID", adVarChar, adParamInput, 

10, strDeptID) 

  .Parameters.Append .CreateParameter("@Description", adVarChar, 

adParamInput, 500, strDescription) 

  .Parameters.Append .CreateParameter("@CallResolution", adVarChar, 

adParamInput, 500, strCallResolution) 

  .Parameters.Append .CreateParameter("@CallReq", adVarChar, adParamInput, 

1, strCallReq) 

  .Parameters.Append .CreateParameter("@Verified", adVarChar, 

adParamInput, 1, strVerified) 

  .Parameters.Append .CreateParameter("@TrackingNum", adVarChar, 

adParamOutput, 10) 



  .Execute,,adExecuteNoRecords           'THIS IS WHERE THE ERROR OCCURS 



end with



--------------------------------------------







-------------------------------------------

SQL STORED PROCEDURE

-------------------------------------------

CREATE PROCEDURE spNewTechSupport

	@CustIdx	varchar(10) = NULL,

	@AssignedTo 	varchar(10) = NULL,

	@DeptAssigned	varchar(10) = NULL,

	@OriginId	varchar(10) = NULL,

	@UserId	varchar(10) = NULL,

	@StepNotes 	varchar (2000) = NULL,

	@acctuserid	varchar (30) = NULL ,

	@acctuserpin	varchar (30) = NULL ,

	@fname	varchar (30) = NULL ,

	@lname	varchar (30) = NULL ,

	@productid	varchar (10) = NULL ,

	@casetypeid		varchar (10) = NULL ,

	@callminutes		varchar (10) = NULL ,

	@numberoftrades	varchar (10) = NULL ,

	@tradestaken		varchar (1) =  NULL ,

	@tradesexecuted	varchar (1) =  NULL ,

	@forwardedtositel	varchar (1) =  NULL ,

	@sitelrep		varchar (30) = NULL ,

	@deptid		varchar (10) = NULL ,

	@description		varchar (500) = NULL ,

	@callresolution		varchar (500) = NULL ,

	@callreq		varchar (1) = NULL ,

	@verified		varchar (1) =  NULL ,

	@trackingnum 		varchar (10) output

AS



.........An insert statement and Select statement		'MAKING AN 

INSERT & SELECT CALL



COMMIT TRAN

RETURN

GO





---------------------------------------------







Thanks,

Edward.

  Return to Index