PG 8 INOUT parameters & ADO - Mailing list pgsql-odbc

From Philippe Lang
Subject PG 8 INOUT parameters & ADO
Date
Msg-id 6C0CF58A187DA5479245E0830AF84F421D0C18@poweredge.attiksystem.ch
Whole thread Raw
Responses Re: PG 8 INOUT parameters & ADO  (Ludek Finstrle <luf@pzkagis.cz>)
List pgsql-odbc
Hi,

I have a PG 8.1.3 server with the following PL/PERL procedure:

------------

CREATE FUNCTION perl_test(a inout integer, b inout integer, r1 out integer,
r2 out integer) AS
'
    my ($a, $b) = @_;

    $r1 = $a + $b;
    $r2 = $a * $b;

    if ($a > $b)
    {
        return {a => $a + 1, b => $b, r1 => $r1, r2 => $r2};
    }
    else
    {
        return{a => $b, b => $a + 1, r1 => $r1, r2 => $r2};
    }

    return;

' LANGUAGE plperl;

------------

I'm trying to call this procedure with ADO (latest version under XP),
through the ODBC driver version 8.01.02.00, like this:

------------

Public Function perl_test(ByRef a As Integer, ByRef b As Integer, ByRef r1
As Integer, ByRef r2 As Integer)
On Error GoTo ErrorHandler

Dim oConnection As ADODB.Connection
Dim oCommand As ADODB.Command

Set oConnection = New ADODB.Connection
oConnection.Open "DSN=test"

Set oCommand = New ADODB.Command

Set oCommand.ActiveConnection = oConnection
oCommand.CommandText = "perl_test"
oCommand.CommandType = adCmdStoredProc

oCommand.Parameters.Append _
oCommand.CreateParameter("a", adInteger, adParamInputOutput, , a)

oCommand.Parameters.Append _
oCommand.CreateParameter("b", adInteger, adParamInputOutput, , b)

oCommand.Parameters.Append _
oCommand.CreateParameter("r1", adInteger, adParamOutput)

oCommand.Parameters.Append _
oCommand.CreateParameter("r2", adInteger, adParamOutput)

oCommand.Execute

oConnection.Close
Set oConnection = Nothing
Set oCommand = Nothing
Exit Function

ErrorHandler:
MsgBox "Error Number = " & Err.Number & ", Description = " & _
Err.Description, vbCritical, "GetNameDescFromSampleTable Error"

End Function

------------

It fails, with error -2147217887 each time.

Is it possible to query stored procedures like this with the PG ODBC driver?


Thanks!

----------------------------------
Philippe Lang, Ing. Dipl. EPFL
Attik System
rte de la Fonderie 2
1700 Fribourg
Switzerland
http://www.attiksystem.ch

Tel:  +41 (26) 422 13 75
Fax:  +41 (26) 422 13 76

Attachment

pgsql-odbc by date:

Previous
From: "Andrew Ng"
Date:
Subject: Re: Support for PostgreSQL 8.1.3 stable
Next
From: Ludek Finstrle
Date:
Subject: Re: PG 8 INOUT parameters & ADO