Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

oracle stored procedure returning cursor

Aberta
#68 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
csharp, sql
Domínio
backend, databases

Direção de pesquisa

Comece pelo uso de OracleDynamicParameters e SqlBuilder mostrado na issue e, em seguida, rastreie como os parâmetros de stored procedures e os refcursors são tratados. Determine se o caminho do query builder consegue vincular o cursor de saída e verifique o resultado em relação ao exemplo existente e funcional do Dapper; considera-se concluído quando o segundo estilo retornar os mesmos dados List para a procedure.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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();
}
Linguagem predominante
C#
Estrelas
541
Forks
49
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.