Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7458987
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T13:55:33+00:00 2026-05-29T13:55:33+00:00

I have a stored procedure in Oracle that returns result set(s) via OUT parameter(s)

  • 0

I have a stored procedure in Oracle that returns result set(s) via OUT parameter(s) of type ‘SYS_REFCURSOR’.

I need to get the column information of this result set via ADO.NET. I execute the stored procedure by creating the parameters (OracleParameter.OracleDbType = OracleDbType.ReCursor etc) and calling ‘OracleCommand.ExecuteReader'(CommandBehavior.SchemaOnly). I then call ‘reader.GetSchemaTable’ on the resultant reader to obtain the DataTable that describes the schema of the result set.

OracleCommand command = oracleConnection.CreateCommand();
command.CommandText = "ProcedureName";
command.CommandType = System.Data.CommandType.StoredProcedure;

OracleParameter refParameter = command.CreateParameter();
refParameter.Name = "refCursorParam";
refParameter.Direction = System.Data.ParameterDirection.Output;
refParameter.OracleDbType = OracleDbType.ReCursor;
command.Parameters.Add(dbParameter);

var reader = command.ExecuteReader(System.Data.CommandBehavior.SchemaOnly);
var dataTable = reader.GetSchemaTable();

My problem is that the information for each column of the result set is incomplete. I have no information about the column’s oracle data type (I do get the column name,nullability,length etc). Only type information I get is the CLR type that column can be mapped to.

Am I doing something wrong or is there a better approach to get the column information for a result set returned via an OUT ref cursor?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T13:55:34+00:00Added an answer on May 29, 2026 at 1:55 pm

    Ok, I managed to find a solution.
    Each column in the result set is represented by a DataRow in the DataTable returned by reader.GetSchemaTable(). One column in this row is ‘ProviderType’. The value for this column is an indicator of the column’s data type. The value in this column needs to be used together with the table returned by a call to DbConnection.GetSchema(“DataTypes”). The ‘DataTypes’ collection has a mapping of ‘ProviderType->sql type’.

    For SQL server there is an additional column ‘DataTypeName’ which gives the sql type for the column in the result set, but for Oracle you need to make an additional call to connection.GetSchema(“DataTypes”) and setup a dictionary of providertype->sqltype and then obtain the sql type for each column in the result set.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have an Oracle stored procedure that returns a BLOB in an output parameter:
I have the following iBatis mapping for an Oracle Stored Procedure that returns a
I have a strange, sporadic issue. I have stored procedure that returns back 5
I have a stored procedure that returns multiple tables. How can I execute and
I have a method with an out parameter that tries to do a type
I have an existing stored procedure that takes 2 parameters and returns back an
I have to call a stored procedure from oracle sever that not under our
I have an Oracle stored procedure which takes two parameters: a custom data type
Problem Conditions I have a very simple Oracle (11g) Stored Procedure that is declared
I have a stored procedure that consists of a single select query used to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.