Quantcast
Channel: dbschemareader Discussions Rss Feed
Viewing all articles
Browse latest Browse all 166

New Post: Stored Procedure Arguments for Oracle

$
0
0
Hi there,

Not sure if this is issue of this lib or perhaps issue of the connection string, but arguments for stored procedures are not filled in. As I figured out after debugging the problem in restrictions for Arguments schema. When I set the first one (owner) to the null -- then it returns all the arguments, but further parsing is slow, so here is workaround I have implemented for a while to make it work. If anyone advice how I can make it work without patching I will be appreciated. Also I can send a patch file if needed.

If it is matter I use Oracle.ManagedDataAccess.Client provider

file: .\dbschemareader\databaseschemareader\schemareader.cs
line: 634
        protected virtual DataTable StoredProcedureArguments(string storedProcedureName, DbConnection connection)
        {
            //different collections here- we could just if(IsOracle)
            string collectionName = ProcedureParametersCollectionName;
            if (!SchemaCollectionExists(connection, collectionName)) collectionName = "Arguments";
            if (ProviderType == SqlType.MySql) collectionName = "Procedure Parameters";
            else if (ProviderType == SqlType.Oracle) collectionName = "Arguments"; //Oracle, assume packages
            if (!SchemaCollectionExists(connection, collectionName)) return CreateDataTable(ProcedureParametersCollectionName);

            DataTable dt;
            string[] restrictions = SchemaRestrictions.ForRoutine(connection, collectionName, storedProcedureName);

            if (ProviderType == SqlType.Oracle)
            {
                dt = connection.GetSchema(collectionName).Select("OWNER = '" + restrictions[0] + "'").CopyToDataTable();
            }
            else
            {
                dt = connection.GetSchema(collectionName, restrictions);
            }            

            dt.TableName = ProcedureParametersCollectionName;
            return dt;
        }

Viewing all articles
Browse latest Browse all 166

Trending Articles