<%@ 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