J Jaar Medlem sedan juli 2001 434 inlägg Frågan 6 juni 2003 09:47 #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?
Engine^ Medlem sedan dec. 2000 3 887 inlägg 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.
J Jaar Medlem sedan juli 2001 434 inlägg 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.
N niko Medlem sedan juni 2002 2 599 inlägg 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?
J Jaar Medlem sedan juli 2001 434 inlägg 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