3
이 오류는 내 코드에서 간헐적으로 발생합니다. 때로는 시간이 지남에 따라 때때로 발생합니다. 경우에 따라 1 - 10 번 발생합니다. StackOverflow에서 COPY 명령을 수행하는 다른 포스터와 달리 SQL에서 고유하거나 특별한 것을 수행하지 않습니다. 내가하고있는 모든 것은 SELECT 다. 여기 Npgsql 스트림에서 읽는 중 예외, Postgres
는 스택 추적입니다 :Exception while reading from stream
at Npgsql.ReadBuffer.Ensure(Int32 count, Boolean dontBreakOnTimeouts)
at Npgsql.NpgsqlConnector.DoReadMessage(DataRowLoadingMode dataRowLoadingMode, Boolean isPrependedMessage)
at Npgsql.NpgsqlConnector.ReadMessageWithPrepended(DataRowLoadingMode dataRow LoadingMode)
at Npgsql.NpgsqlConnector.ReadMessage(DataRowLoadingMode dataRowLoadingMode)
at Npgsql.NpgsqlConnector.ReadExpecting[T]()
at Npgsql.NpgsqlDataReader.NextResultInternal()
at Npgsql.NpgsqlDataReader.NextResult()
at Npgsql.NpgsqlCommand.Execute(CommandBehavior behavior)
at Npgsql.NpgsqlCommand.ExecuteDbDataReaderInternal(CommandBehavior behavior)
at Npgsql.NpgsqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at Npgsql.NpgsqlCommand.ExecuteReader()
at JBetaFinder.Program.portfolioSimulation(String beginResult, String endResult) in c:\Users\j\Documents\Visual Studio 2013\Projects\JBetaFinder\JBetaFinder\Program.cs:line 571
이 오류를 방지하는 방법에 대한 어떤 제안? Npgsql과 postgres에 문제가 있습니까? 여기
가장 문제가 될 것으로 보인다 내 SQL 문입니다 : 내가 노력select leg1.trade_date, sum(p.qty) as totalqty, max(gas.net_change)*10000 as avggaschange,
sum(((leg1.settlement_price - leg2.settlement_price) - (leg3.settlement_price - leg4.settlement_price))*qty*1000000) as spread_value_weight
from quant_portfolio p
inner join (select distinct trade_date, hub, product, strip, settlement_price, net_change
from public.icecleared_gas where contract = 'H') leg1
on p.leg1 = leg1.strip
inner join (select distinct trade_date, hub, product, strip, settlement_price, net_change
from public.icecleared_gas where contract = 'H') leg2
on p.leg2 = leg2.strip and leg1.trade_date = leg2.trade_date
inner join (select distinct trade_date, hub, product, strip, settlement_price, net_change
from public.icecleared_gas where contract = 'H') leg3
on p.leg3 = leg3.strip and leg1.trade_date = leg3.trade_date
inner join (select distinct trade_date, hub, product, strip, settlement_price, net_change
from public.icecleared_gas where contract = 'H') leg4
on p.leg4 = leg4.strip and leg1.trade_date = leg4.trade_date
inner join (select distinct trade_date, hub, product, strip, contract, settlement_price, net_change
from public.icecleared_gas where contract = 'H') gas
on gas.strip = (select min(leg1) from quant_portfolio where commodity = 'NG') and gas.trade_date = leg1.trade_date
where p.commodity = 'NG'
AND (leg1.trade_date>='xxx' and leg1.trade_date<='yyy')
group by leg1.trade_date
order by leg1.trade_date
재 배열 하위 SELECTS을 꺼내 그들 모두 조인을 만들기 위해 SQL을; 도왔다, 같은 오류. 여기
는 Npgsql 호출하는 C# 코드입니다 :; 사용자 ID = 포스트 그레스, 암호 = somepw; 데이터베이스 = somedb;query = new NpgsqlCommand(getFullQuantPortBeta.ToString().Replace("xxx", beginResult.ToString()).Replace("yyy", endResult.ToString()), conn);
dr = query.ExecuteReader();//code does not get past this line!
beta = 0;
while (dr.Read())
{
baselineData.Add(double.Parse(dr[2].ToString()));
responseData.Add(double.Parse(dr[3].ToString()));
if (baselineData.Count > 3)
{
Tuple<double, double> result = MathNet.Numerics.LinearRegression.SimpleRegression.Fit(baselineData.ToArray(), responseData.ToArray());
beta = result.Item2 * BETA_MULT;
Console.WriteLine("WEIGHT BETA = " + beta);
}
}
dr.Close();
스택 오버플로에 오신 것을 환영합니다. Npgsql을 호출하는 곳에서 C#을 게시 할 수 있습니까? –
예외 보고서가 완전하지 않습니다. 예외 유형이나 내부 예외 (실제 문제가있을 수 있음)는 게시하지 않습니다. 질문에 추가하십시오. –