JSONの結果を以下の形式で返すOracle DBをクエリするWeb APIを作成しました。このAPIは入力パラメータの配列を取得します。クエリ結果が非常に大きいため、以下のクエリのように、SQL Developerで試すと313568が返されます。 STPR_STUDY.STD_REF IN( "BL001、TM002")は、以下 タイプ 'System.OutOfMemoryException'の例外がスローされました。WEB API
は私がURL https://bhbl.abc.org/api/Sample?id= 'BL001' & IDを使用していたとき、我々は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 (OracleDataAdapter adapter = new OracleDataAdapter(selectCommand))
{
DataTable selectResults = new DataTable();
adapter.Fill(selectResults);
var returnObject = new { data = selectResults };
var response = Request.CreateResponse(HttpStatusCode.OK, returnObject, MediaTypeHeaderValue.Parse("application/json"));
ContentDispositionHeaderValue contentDisposition = null;
if (ContentDispositionHeaderValue.TryParse("inline; filename=ProvantisStudyData.json", out contentDisposition))
{
response.Content.Headers.ContentDisposition = contentDisposition;
}
return response;
を使用しているコードですSTCD_PRIO_CATEGORYから
としてDBを照会しかし、私はURL https://bhbl.abc.org/api/Sample?id=「BL001」を使用していたときのために、それはJで結果を返します。 ust 41552 records
大量のデータを返すAPIを作成する方法。任意の助けが大いに評価されます
は、我々はこれを行うことができますか?クライアントは一度に結果を探しているので、 – trx
@trxクライアントの処理は一度、複数のAPIを呼び出し、すべてのデータ取得を完了します。 –