gpt4 book ai didi

c# - 执行 pl/sql 查询时出现溢出错误

转载 作者:可可西里 更新时间:2023-11-01 08:03:34 25 4
gpt4 key购买 nike

当我使用我的 C# 代码[通过存储过程]运行 pl/sql 查询时,出现错误:我该如何解决?请指教。注意:我在代码中为 providerSpecificTypes 传递了 false。

 Error Message:
System.Data.OracleClient.OracleException: OCI-22053: overflow error
at System.Data.Common.DbDataAdapter.FillErrorHandler(Exception e, DataTable dataTable, Object[] dataValues)
at System.Data.Common.DbDataAdapter.FillLoadDataRowChunk(SchemaMapping mapping, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillFromReader(Object data, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command,

代码如下:

DataSet ds = new DataSet(); 
try
{
this.OpenDBConnection();
this.dbAdapter.ReturnProviderSpecificTypes = providerSpecificTypes;
this.dbAdapter.Fill(ds);
}
catch
{
throw;
}
finally
{
CloseDBConnection();
this.cmd.Parameters.Clear();
}
return ds;

查询:

SELECT client_id, TO_CHAR (business_dt, 'MM/DD/YYYY') AS business_dt 
, mkt_type
, mkt_name
, product_name
, period
, TO_CHAR (start_dt, 'MM/DD/YYYY') AS start_dt
, TO_CHAR (end_dt, 'MM/DD/YYYY') AS end_dt
, duration
, term
, NULL AS strike_price
, instrument_type
, final_price
, NULL AS product_price
, units
, NULL AS expiry_dt
, mkt_close
, cons_flag

最佳答案

其中一个选定的列值具有超出 .Net 的小数类型的精度。解决此问题的最佳方法是将您的列值四舍五入为可管理的预测大小。通常我将它们四舍五入到小数点后两位数,因为我不再需要,您可能需要根据需要进行选择。

简而言之,更改您的查询,以便将所有具有更高精度数字的列四舍五入到您需要的小数位数:

例子:

Select ROUND(final_price, 2) From <your table>

应该可以解决您的问题。

关于c# - 执行 pl/sql 查询时出现溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com