c# web api oracle,c# – 分析Web API返回的大量数据

本文介绍了在C# Web API中处理从Oracle数据库查询大量数据时遇到的问题。由于查询结果过大,导致出现OutOfMemoryException。为解决此问题,提出了采用分页策略,但疑问在于客户端如何知晓调用API的次数以获取完整数据集。同时,文章探讨了是否应在API控制器中实现分页逻辑,以及由于数据库只读权限,无法创建存储过程来辅助处理。
摘要由CSDN通过智能技术生成

我们创建了用于查询Oracle数据库的WebAPI.查询返回巨大的结果,因此有时会抛出OutOfMemoryException.

建议是使用Paging概念.我不明白客户端应用程序将如何知道必须调用API多少次才能获得整个结果集.我还需要为分页创建一个单独的类,还是可以在我的API控制器中操作它.

任何人都可以帮助我,因为这是我的第一个Web API.我们无法为此创建存储过程,因为我们只对数据库具有读访问权限

public HttpResponseMessage Getdetails([FromUri] string[] id)

{

string connStr = ConfigurationManager.ConnectionStrings["ProDataConnection"].ConnectionString;

using (OracleConnection dbconn = new OracleConnection(connStr))

{

var inconditions = id.Distinct().ToArray();

var srtcon = string.Join(",", inconditions);

DataSet userDataset = new DataSet();

var strQuery = @"SELECT * from STCD_PRIO_CATEGORY where STPR_STUDY.STD_REF IN(" + srtcon + ")";

using (OracleCommand selectCommand = new OracleCommand(strQuery, dbconn))

{

using (OracleD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值