webForumDet fria alternativet

Anropa Oracle funktion

ASP

4 svar · 246 visningar · startad av Jaar

Medlem sedan juli 2001434 inlägg
Frågan#1

Jag har en oracle databas som jag vill anropa en funktion i.

Jag har letat o letat på nätet men hittar inget förslag som fungerar.
Funktionen är en enkel funktion som inte tar några inparametrar men returnerar en number(8) som jag ska spara undan.

Någon som har ett förslag på hur man kan göra?

Medlem sedan dec. 20003 887 inlägg
#2

Ehum? Du bör utveckla din fråga en smula...

Finns funktionen?

Ska värdet sparas i databasen när du fått ut det?

Function GetNumber()
  GetNumber = 8
End Function

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;"
objConn.Open

strSQL = "INSERT INTO [i]tabell[/i] ([i]fält[/i]) VALUES (" & GetNumber & ")"
objConn.Execute strSQL, , 128

Ovanstående gör ingenting vettigt, men det kanske hjälper dig att formulera din fråga bättre.

Medlem sedan juli 2001434 inlägg
#3

Asså, funktionen ligger i databasen (ungf. som en storeprocedure). Det jag vill göra är liknande denna:

select myFunction() from dual

Funktionen ligger iof i ett paket osv, men det spelar ju ingen större roll.

Svaret (number(8) som myFunction() returnerar) vill jag kunna plocka ut sedan, och lagra i en variabel.

Medlem sedan juni 20022 599 inlägg
#4

Nu kan jag iofs inte ett smack om Oracle, men om funktioner där ungefär motsvarar motsvarar funktioner i SQL Server så:

set rc=dinConnection("select dbo.myFunction(inparametrar) as retval")
if not rc.eof then <returvärde>=rc("retval")

Typ?

Medlem sedan juli 2001434 inlägg
#5

Hmm, så tyckte jag med, men det strejka lite... Gjorde så här till slut

sql = "pack.function"
set cmd = Server.CreateObject("ADODB.Command") 
cmd.ActiveConnection = OBJdbConnection
cmd.commandText = sql
cmd.commandType = adCmdStoredProc

Set returnPara = cmd.CreateParameter("Para", adInteger, adParamReturnValue)
cmd.Parameters.Append ReturnPara
Set rs_avtalshuvud = cmd.execute

Session("minVar") = cmd.parameters(0)
Set cmd = nothing

Men tack för hjälpen

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)