Forum Stats

  • 3,854,249 Users
  • 2,264,344 Discussions


Oracle.ManagedDataAccess - System.IndexOutOfRangeException with FillSchema

Tech RO
Tech RO Member Posts: 2 Green Ribbon


I have a strange behavior and I would like to know how to solve it. I am on a .NET Core 6 environment under Visual Studio 2022 and I have referenced the Nuget package Oracle.ManagedDataAccess.Core 3.21.50

Here is how to reproduce it:

- Open a connection to an Oracle database 

- Select all contents of a table

- FillSchema to get the table schema in an adapter

- Modify the table by adding a column for example

- FillSchema to update the schema -> IndexOutOfRangeException

I tried the suggestions here:

but the issue persists.

Would you know how to solve this problem which seems to be related to the statement cache and is blocking for us?

You will find in attachment a simple application to reproduce the issue.

Best regards.

Best Answer


  • Alex Keh-Oracle
    Alex Keh-Oracle Posts: 3,129 Employee
    Answer ✓

    I was able to reproduce the problem. It looks like a bug. I've filed bug 34077389 to track this issue.

  • Tech RO
    Tech RO Member Posts: 2 Green Ribbon

    Hey, thanks for your answer.

    Is there any way I can track this bug or a possible ETA?

  • Alex Keh-Oracle
    Alex Keh-Oracle Posts: 3,129 Employee

    If you have access to My Oracle Support, then you'll be able to look up the bug and see when activity is posted and status changes occur. In most organizations, I fine the DBA or central IT admin has access to the Oracle support account.

    ETA is hard to estimate. It's a factor of whether a bug affects a customer production environment, severity, type (security, wrong data, etc.), how frequently customers could encounter the bug, and how easy is it to workaround a bug. Production bugs, severe, common, and security issues get the highest priority.

  • Alex Keh-Oracle
    Alex Keh-Oracle Posts: 3,129 Employee

    The bug was closed with a workaround to avoid this problem. Set "Metadata Pooling = false" in the connection string so that table schema metadata is not cached. Thus, when a table object is changed, the new metadata will be retrieved.