代码之家  ›  专栏  ›  技术社区  ›  Alfabravo

带有SETBigDePiple参数的JavaPraveRealSt声明增加ORA-031 15

  •  3
  • Alfabravo  · 技术社区  · 15 年前

    问题是:我正在为表中的查询设置一个PreparedStatement,其中包括以下字段:

    TABLE1_RSPN NUMBER(8,0)
    TABLE1_AFDV NUMBER(8,0)
    TABLE1_VALUE    NUMBER(17,2)
    TABLE1_NOTE VARCHAR2(255 BYTE)
    TABLE1_USR  VARCHAR2(20 BYTE)
    

    试图获取一些信息到我的Java应用程序中,我设置了一个PoaReaDebug语句,它引发了Oracle异常。 ORA-03115不支持的网络数据类型或表示。

    相关的Java代码是这样的:

    sentSQL = "SELECT TABLE1.*, TABLE2.CIAS FROM TABLE1, TABLE2 WHERE TABLE1_RSPN = ?" +
    " AND TABLE2_AFDV = TABLE1_AFDV";
    ps = con.prepareStatement(sentSQL);
    ps.setBigDecimal(1, dto.getCodResponsability());
    rs = ps.executeQuery(sentSQL);
    

    CodResponsibility是BigDecimal。我也试过加倍和长期,没有快乐。

    提前感谢您的帮助!

    1 回复  |  直到 15 年前
        1
  •  5
  •   Powerlord    15 年前

    这一行可能是错误的:

    rs = ps.executeQuery(sentSQL);
    

    这真的需要 Statement's executeQuery 忽略你所绑定的变量。

    应该是

    rs = ps.executeQuery();
    
    推荐文章