ORA-0 [BEA][Oracle JDBC Driver] 未处理的 sql 类型

Posted

技术标签:

【中文标题】ORA-0 [BEA][Oracle JDBC Driver] 未处理的 sql 类型【英文标题】:ORA-0 [BEA][Oracle JDBC Driver] Unhandled sql type 【发布时间】:2009-08-21 12:03:18 【问题描述】:

我有一个非常简单的 sql 查询,当我尝试执行时,出现以下错误

java.sql.SQLException: [BEA][Oracle JDBCDriver]Unhandled sql type  at
weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)  at
weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)  at
            ...

我已经配置了 weblogic 数据源并使用了相同的

Oracle 版本:10g

weblogic 版本:9.2

查询: SELECT tbl_a.* FROM tbl_a WHERE ID1='' AND Id2=''

【问题讨论】:

【参考方案1】:

您使用的是 PreparedStatement 吗?尝试为每一列指定空值而不是空字符串,例如:

    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try 
      conn = getConnection();
      pstmt = conn.prepareStatement("SELECT tbl_a.* FROM tbl_a WHERE ID1=? AND Id2=?");
      pstmt.setNull(1, java.sql.Types.INTEGER);
      pstmt.setNull(2, java.sql.Types.INTEGER); 
      rs = pstmt.executeQuery();
      while (rs.next()) 
          //capture data from the returned rows
      
     catch(Exception e) 
      e.printStackTrace();
     finally 
      pstmt.close();
      rs.close();
      conn.close();
    

【讨论】:

是的,我正在使用准备好的语句。我有太多准备好的声明要更改,而是我将驱动程序类型从“bea Oracle”更改为“oracle thin”感谢您的回答

以上是关于ORA-0 [BEA][Oracle JDBC Driver] 未处理的 sql 类型的主要内容,如果未能解决你的问题,请参考以下文章

java使用jdbc连接oracle数据库怎么关闭连接

如何使用JDBC连接oracle数据库

使用jdbc连接oracle

Oracle数据库启动时出现ORA-01157和ORA-01110问题

Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误

Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误