Drizin / Drizin/DapperQueryBuilder

oracle stored procedure returning cursor

Offen
#68 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
541
Forks
49
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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 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("jcn_exports.get_work_notifications", values, commandType: CommandType.StoredProcedure).ToList();
}
```

```
List 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().ToList();
}
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der im Issue gezeigten Verwendung von OracleDynamicParameters und SqlBuilder und verfolge anschließend, wie Parameter gespeicherter Prozeduren und refcursors behandelt werden. Ermittle, ob der Query-Builder-Pfad den Ausgabecursor binden kann, und überprüfe das Ergebnis anhand des vorhandenen funktionierenden Dapper-Beispiels; als erledigt gilt die Aufgabe, wenn der zweite Stil dieselben List-Daten für die Prozedur zurückgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, sql
Bereich
backend, databases
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.