数值转化错误 oracle,Oracle:数值或数值错误

我从我的java代码调用一个函数,我得到这个异常。我已经检查过所有的数据类型和其他所有我能想到的东西,但我仍然得到这个异常。Oracle:数值或数值错误

java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: character to number conversion error

if (rs.next()) {

String originalOrderNature = rs.getString("ORDER_NATURE");

String stExCode = rs.getString("ST_EX_CODE");

long orderNumber = rs.getLong("ORDER_NUMBER");

String client_code = rs.getString("CLIENT_CODE");

String st_ex_code = rs.getString("ST_EX_CODE");

String isin = rs.getString("ISIN");

String symbol = rs.getString("SYMBOL");

String market_type = rs.getString("MARKET_TYPE");

String buy_or_sell = rs.getString("BUY_OR_SELL");

int volume = rs.getInt("VOLUME");

float rate_limit = rs.getFloat("RATE_LIMIT");

String order_nature = rs.getString("ORDER_NATURE");

Date valid_till = rs.getDate("VALID_TILL");

String order_status_id = rs.getString("ORDER_STATUS_ID");

aryMarginParam.add(0, originalOrderNature);

aryMarginParam.add(1, stExCode);

aryMarginParam.add(2, orderNumber);

aryMarginParam.add(3, client_code);

aryMarginParam.add(4, st_ex_code);

aryMarginParam.add(5, isin);

aryMarginParam.add(6, symbol);

aryMarginParam.add(7, market_type);

aryMarginParam.add(8, buy_or_sell);

aryMarginParam.add(9, volume);

aryMarginParam.add(10, rate_limit);

aryMarginParam.add(11, order_nature);

aryMarginParam.add(12, valid_till);

aryMarginParam.add(13, order_status_id);

}

在这个功能我传递此ArrayList

String statement = "BEGIN ? := abc(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?); END;";

Object[] in = new Object[13];

int[] out = new int[2];

String OriginalOrderNature = (String) arrVerifyMargin.get(0);

String stExCode = (String) arrVerifyMargin.get(1);

long orderNumber = (Long) arrVerifyMargin.get(2);

String client_code = (String) arrVerifyMargin.get(3);

String st_ex_code = (String) arrVerifyMargin.get(4);

String isin = (String) arrVerifyMargin.get(5);

String symbol = (String) arrVerifyMargin.get(6);

String market_type = (String) arrVerifyMargin.get(7);

String buy_or_sell = (String) arrVerifyMargin.get(8);

int volume = (Integer) arrVerifyMargin.get(9);

float rate_limit = (Float) arrVerifyMargin.get(10);

String order_nature = (String) arrVerifyMargin.get(11);

Date valid_till = (Date) arrVerifyMargin.get(12);

String order_status_id = (String) arrVerifyMargin.get(13);

int modifyy = modify;

//float float_volume = (float)volume;

System.out.println(OriginalOrderNature + " " + stExCode);

out[0] = Types.VARCHAR;

in[0] = orderNumber;

in[1] = client_code;

in[2] = st_ex_code;

in[3] = isin;

in[4] = symbol;

in[5] = market_type;

in[6] = buy_or_sell;

in[7] = volume;

in[8] = rate_limit;

in[9] = order_nature;

in[10] = valid_till;

in[11] = order_status_id;

in[12] = modifyy;

out[1] = Types.VARCHAR;

String orderNature = (DAOHelper.call(statement, in, out))[1].toString();

return orderNature;

+6

我相信你确实检查了所有的东西,正如你声称的那样,然而很显然你忽略了某些东西。除非您编辑问题并添加更多详细信息,否则任何人都无法帮助您。具体来说,向我们展示代码。如果您无法向我们展示代码,除了“停止将字符转换为数字转换错误”之外,没有什么可说的。 –

+0

提供的信息不足以导致出现问题 –

+1

您应该在此问题中包含**代码**。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值