Pobierz wartość zwracaną przez funkcję za pomocą OLEDB
Szukałem tego wysoko i nisko, ale w końcu sam rozwiązałem problem.
Moje rozwiązanie jest w VBScript, ale przedstawiłem je w (nieprzetestowanym) kodzie poniżej.
Sztuczka polega na tym, że pierwszy parametr to wartość zwracana .
Private Sub test()
Dim Oracon As ADODB.Connection
Dim cmd As New ADODB.Command
Dim param1 As New ADODB.Parameter
Dim param0 As New ADODB.Parameter
Dim objErr As ADODB.Error
Set Oracon = CreateObject("ADODB.Connection")
mujuser = "xxxx"
mujPWD = "xxxxx"
strConn = "UID=" & mujuser & ";PWD=" & mujPWD & ";driver={Microsoft ODBC for Oracle};" & _
"SERVER=xx.xxx;"
Oracon.ConnectionString = strConn
Oracon.Open
cmd.ActiveConnection = Oracon
cmd.CommandText = "el_test"
cmd.CommandType = adCmdStoredProc
Set param0 = cmd.CreateParameter("P0", adLongVarChar, adParamReturnValue, 256)
Set param1 = cmd.CreateParameter("P1", adLongVarChar, adParamInput, 256)
cmd.Parameters.Append param0
cmd.Parameters.Append param1
cmd.Execute
Dim result As String
result = param0.Value ' Use the variable you set. Same as cmd.Parameters(1).Value '
End Sub