Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

oracle stored procedure returning cursor

Ouverte
#68 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
csharp, sql
Domaine
backend, databases

Piste de recherche

Commencez par l’utilisation de OracleDynamicParameters et SqlBuilder présentée dans l’issue, puis suivez la manière dont sont gérés les paramètres des procédures stockées et les refcursors. Déterminez si le chemin du générateur de requêtes peut lier le curseur de sortie et vérifiez le résultat par rapport à l’exemple Dapper existant qui fonctionne ; c’est terminé lorsque le deuxième style renvoie les mêmes données List pour la procédure.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

I just found your package and I think it will make my code read a ton better. Right now, my code looks like the first code block. It works fine, but I would like to make my code look the second code block, but it can't seem to figure out how to set the returning cursor. I think I'm close in the second code block. As you can see, I'm stuck in an oracle database where every stored procedure returns a refcursor.

List<Dto> data;
var connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (var connection = new OracleConnection(connStr))
{
     var values = new OracleDynamicParameters();
     values.Add("i_uic", Uic, OracleMappingType.Varchar2, ParameterDirection.Input);
     values.Add("o_cur", dbType: OracleMappingType.RefCursor, direction: ParameterDirection.Output);

     data = connection.Query<Dto>("jcn_exports.get_work_notifications", values, commandType: CommandType.StoredProcedure).ToList();
}
List<Dto> data;
var connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (var connection = new OracleConnection(connStr))
{
     var ocur = new OracleParameter("o_cur", OracleDbType.RefCursor, ParameterDirection.Output);
     var query = connection.SqlBuilder(
                    new InterpolatedSqlBuilderOptions(){DatabaseParameterSymbol = ":"},
                    $"jcn_exports.get_work_notifications({Uic}, {ocur})");
     data = query.Query<Dto>().ToList();
}
Langage dominant
C#
Étoiles
541
Forks
49
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.