volker: stored procedure call mit asp

Beitrag lesen

hallo zusammen,

ich stehe vor dem problem aus einer asp-seite eine stored procedure einer mssql-datenbank ausführen zu müssen. ich hab noch nie was mit asp gemacht, fische also etwas planlos in der gegend rum...

anyway, hier ist die deklaration der parameter in der stored procedure:
------------------------------------------
CREATE PROC hvs_zellcodierung
       @L_STRASSE       varchar(50)
      ,@L_PLZ           varchar(6)
      ,@L_ORT           varchar(30)
      ,@L_HSNR          varchar(5)
      ,@L_DEPOT         varchar(5)   output
      ,@L_DEPOTNAME     varchar(20)  output
      ,@L_TEZE          varchar(4)   output
      ,@L_FCODE         varchar(2)   output
      ,@L_VZEIT         int          output
-------------------------------------------
es gibt also vier input- und fünf output-parameter. oder einfacher gesagt, die prozedur erwartet strasse, plz, ort und hausnummer als eingabe und liefert dafür depot, depotname, teze, fcode und vzeit zurück.

hier ist die belegung der parameter in der asp-seite:
-----------------------------------------------------
...

cmd.Parameters.Append cmd.CreateParameter("@L_DEPOT", adVarChar,  adParamReturnValue, 5, "")
   cmd.Parameters.Append cmd.CreateParameter("@L_DEPOTNAME", adVarChar,  adParamReturnValue, 20, "")
   cmd.Parameters.Append cmd.CreateParameter("@L_TEZE", adVarChar,  adParamReturnValue, 4, "")
   cmd.Parameters.Append cmd.CreateParameter("@L_FCODE", adVarChar,  adParamReturnValue, 2, "")
   cmd.Parameters.Append cmd.CreateParameter("@L_VZEIT", adInteger,  adParamReturnValue, 1, 1)

cmd.Parameters.Append cmd.CreateParameter("@L_STRASSE", adVarChar, adParamInput, 50, "rilkestrasse")
   cmd.Parameters.Append cmd.CreateParameter("@L_PLZ", adVarChar, adParamInput, 6, "73728")
   cmd.Parameters.Append cmd.CreateParameter("@L_ORT", adVarChar, adParamInput, 30, "Esslingen")
   cmd.Parameters.Append cmd.CreateParameter("@L_HSNR", adVarChar, adParamInput, 5, "2")

cmd.Execute
...
-------------------------------------------------------------------
(die direkte zuweisung von werten dient erstmal zum testen)

ich erhalte folgende fehlermeldung:
-------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers Fehler "80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Der formale @L_STRASSE-Parameter wurde als OUTPUT definiert, der tatsächliche Parameter jedoch nicht als OUTPUT deklariert.

/test3.asp, line 27
--------------------------------------------------------------------

ich verstehs nicht. wo bitte wird @L_STRASSE als output-parameter deklariert??? ausserdem: wenn ich die prozedur von hand auf der shell ausführe gibts keine probleme.
kann von euch jemand damit was anfangen?

gruss aus berlin, volker