<%@ Language=VBScript %>
<%
Option Explicit
Response.Expires = 0
On Error Resume Next

'Kein Resultat
'Achtung Funktioniert nur mit der entsprechenden Oracle-DB!

'*****************************************************************
'Variablendeklarationen und Initialisierungen
'Die folgenden Konstanten stammen aus adovbs.inc
Const adCmdStoredProc = &H0004
Const adNumeric = 131
Const adVarChar = 200
Const adParamInput = &H0001
Const adParamOutput = &H0002
Const adParamInputOutput = &H0003

Dim objcon
Dim objcommand
Dim objcmd
Dim objItem 
Dim strcon

strcon = "DSN=dsnsrtest;UID=bc4j;PWD=bc4j;SERVER=srtest"

set objcon = Server.CreateObject("ADODB.Connection")
objcon.Open strcon


'*****************************************************************
'Anfang Code

'Befehl für den Aufruf der Stored Procedure erzeugen
Set objcommand = Server.CreateObject("ADODB.Command")
objcommand.ActiveConnection = objcon
'CommandText = Package und Name der Stored Procedure
objcommand.CommandText = "sp_www.test_parameters"
objcommand.CommandType = adCmdStoredProc

'Parameter erzeugen; Parameter müssen bezüglich Anzahl, InOut-Type 
'und Datentyp jenen der Stored Procedure (SP) entsprechen
'Syntax von Append: Append Name, Type(In, Out oder beides), DefinedSize, Wert

'Text-Parameter, der nur in SP übergeben wird
objcommand.Parameters.Append objcommand.CreateParameter(_
  "p_name", adVarChar, adParamInput, 10, "mueller")

'Numerischer Parameter, der in SP übergeben und zurückgegeben wird
objcommand.Parameters.Append objcommand.CreateParameter(_
  "p_zahl", adNumeric, adParamInputOutput, 8, -1)
  
'Numerischer Parameter, der nur aus SP zurückgegeben wird 
objcommand.Parameters.Append objcommand.CreateParameter(_
  "p_zahl2", adNumeric, adParamOutput, 8)


'*****************************************************************
'Anfang <html>
%>

<!--#include virtual="asppages/silvi/_include/preheader.inc" -->
<html>
  <head>
    <title>ASP fortgeschrittene DB-Techniken: 
    Stored Procedures mit In- und Output-Parametern in Oracle</title>
    <meta name="description" content="" />
    <meta name="keywords" content="" />
<!--#include virtual="asppages/silvi/_include/header.inc" -->
  </head>
<body>
  <h1>Stored Procedures mit In- und Output-Parametern in Oracle</h1>
  Aus einer Stored Procedure in Oracle kann zwar kein Recordset 
  zurückgegeben werden, aber für einen einzelnen Datensatz können
  zumindest Output-Parameter ins ASP zurückgegeben werden. Diese
  Technik ist allerdings relativ aufwändig.
<%
'*****************************************************************
'Code innerhalb der HTML-Seite

Response.Write("<p>" & vbCrLf)

'Anzeige der Parameter vor Aufruf der Stored Procedure
For Each objItem In objcommand.Parameters
  Response.Write("<b>" & objItem.Name & "</b>; " & objItem.Value _
    & "; " & objItem.Type &  "<br />" & vbCrLf)
Next

'Stored Procedure ausgeführt
objcommand.Execute

'Anzeige der Parameter nach Aufruf der Stored Procedure
For Each objItem In objcommand.Parameters
  Response.Write("<b>" & objItem.Name & "</b>; " & objItem.Value _
    & "; " & objItem.Type &  "<br />" & vbCrLf)
Next

Response.Write("</p>" & vbCrLf)

'Recordset und Connection schliessen
objrs.Close
set objrs = Nothing
objcon.Close
set objcon = Nothing

%>

<!--#include virtual="asppages/silvi/_include/inchtmlnachspann.asp" -->
</body>
</html>

Letzter Update: 26.12.2021 16:48

Zurück zur Liste mit ASP-Beispielen auf  www.ecotronics.ch