Error "Fetch Out Of Sequence" - Rückgabetabelle der Oracle-Funktion in C #, wobei die Funktion dblink für SQL Server verwendet

In C # -Code versuche ich, eine Datentabelle aus einer Oracle-Funktion zu laden. Die Funktion hat einSYS_REFCURSOR Rückgabetyp. Dies ist mein Code, der versucht, ein @ zu füllDataTable dt mit der Funktion:

using (var connection = new OracleConnection(connstring))
{
    connection.Open();
    using (var command = new OracleCommand())
    {
        command.Connection = connection;
        command.CommandText = "FNC_AXA_APPTS";
        command.CommandType = CommandType.StoredProcedure;

        OracleParameter retVal = new OracleParameter("PRS", OracleDbType.RefCursor);
        retVal.Direction = ParameterDirection.ReturnValue;
        command.Parameters.Add(retVal);

        command.Parameters.Add(new OracleParameter("EG_PARAM", OracleDbType.Varchar2, 50)).Value = paramValue;

        command.ExecuteNonQuery();

        using (OracleDataReader reader = ((OracleRefCursor)command.Parameters["PRS"].Value).GetDataReader())
        {
            dt.Load(reader);
        }
    }
}

In einigen Fällen verwendet die Oracle-Funktion einen Dblink zu einer SQL-Datenbank. In diesen Fällen erhalte ich die folgenden Ausnahmen ...

ORA-01002: fetch out of sequence
ORA-02063: preceding line from GATE_LINK

... woGATE_LINK ist das dblink. Meine bisherigen Recherchen bestätigen, dass das Problem beim dblink liegen muss.

Wir verwenden den Oracle Data Provider für .NET. Wird dblink für SQL Server möglicherweise nicht unterstützt? Oder wenn ja, was kann ich am SQL-Ende konfigurieren, um dies zu beheben?

Ich sollte erwähnen, dass wir über ein VPN eine Verbindung zur Oracle-Datenbank herstellen und die Verbindungszeichenfolge das folgende Format verwendet:

"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1}))(CONNECT_DATA=(SERVICE_NAME={2})));User Id={3};Password={4};"

Danke im Voraus..

Antworten auf die Frage(4)

Ihre Antwort auf die Frage