我尝试在

Java中使用JdbcTemplate执行以下oracle查询:

select RESOURCE_ID

from REPRO_PRINTING_JOB

where (USER_ID=? and PRINTING_CENTER_ID=?)

group by RESOURCE_ID

union all

select RESOURCE_ID

from REPRO_PRINTING_JOB_OLD

where (USER_ID=? and PRINTING_CENTER_ID=? and STATE='CM')

group by RESOURCE_ID

该查询在oracle查询浏览器中完美运行,但在java执行期间无效.可能是这个问题的根源是什么?我听说过一些关于Jdbc无法处理区分大小写的事情.这是真的?

添加JAVA代码(已更正):

我使用getStatement()调用查询,该调用从外部源(属性文件)检索查询,如下所示:

public List getPrintingJobsByCreatedUserId(String createdUserId, String userId) {

if(log.isDebugEnabled()) {

log.debug("getReportItemsByUserId(" + createdUserId + "," + userId + ")");

}

try {

System.out.println("getPrintingJobsByResourceId : createdUserId :"+createdUserId+",userId : "+userId);

return getJdbcTemplate().query(getStatement("gen.report.userid"),

new Object[]{createdUserId, userId, createdUserId, userId},

new PrintingJobMapper());

} catch (DataAccessException ex) {

log.error("Error executing query: " + ex.getClass() + ":" + ex.getMessage());

return null;

}

}

最佳答案 您收到此错误的原因是因为它是来自JDBC驱动程序或java.sql API的错误,而不是来自数据库的错误.请注意异常消息中缺少ORA-XXXXX.如果它包含,那么它将与语法,无效名称或在数据库服务器端出错的东西有关.

对于与SQL api相关的任何内容,抛出SQLExceptions,而不仅仅是通过连接发送语句时发生的错误…在这种情况下,查询实际上可能正确运行但结果集API正在给出你的错误(rs.getLong(“blah”),你的选择中不存在列“blah”)导致问题.

java执行sql列名无效_嵌套异常是java.sql.SQLException:无效的列名ORACLE相关推荐

  1. java方法被编译器调用_我异常了,快来捕获我,Java异常简述

    在我们日常编程中,异常处理是必不可少的,异常处理是否得当关系到程序的健壮性和后续维护成本. 试想一下,如果一个项目从头到尾没有考虑过异常处理,当程序出错从哪里寻找出错的根源?但是如果一个项目异常处理设 ...

  2. java格式错误什么意思_常见异常意思

    ArithmeticException 算数异常,在执行数学运算时进行了非法操作是执行(除零) ArrayIndexOutOfBoundsException 数据下标越界异常,在访问数组元素时,使用了 ...

  3. java 子线程传参_踩坑之Java执行Linux命令死锁阻塞挂起

    1 问题背景 最近在做一个需求需要调用linux下的某个脚本来对ai的模型进行训练,很简单的需求,我像往常一样写下如下的代码片段: Process process = Runtime.getRunti ...

  4. java 构造函数抛出异常,构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javax/servlet/ServletContext...

    我正在尝试使用MockMVC设置Junit测试. 从这个link – "要么不能使用Servlet API,要么你需要在类路径上提供它". 我在pom.xml中添加了以下内容但是没 ...

  5. java 内存溢出的分类_【深入理解Java虚拟机】读后感:JVM内存划分与内存溢出小结...

    扫码关注公众号:Java 技术驿站 发送:vip 将链接复制到本浏览器,永久解锁本站全部文章 [公众号:Java 技术驿站] [加作者微信交流技术,拉技术群] # JVM内存划分与内存溢出小结 # 1 ...

  6. sql 单引号_三种数据库的 SQL 注入详解

    SQL 注入原理 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用 ...

  7. sql date类型_共享单车数据分析的SQL数据库设计

    SQL,发音为" sequel"(或SQL,如果愿意的话),是数据科学家的重要工具.实际上,它可以说是获取数据工作中最重要的语言.在共享单车数据分析的SQL设计中,我们将从入门者的 ...

  8. sql注入攻击_让你彻底明白sql注入攻击

    点击上方 Java旅途,选择 设为星标 优质文章,每日送达 SQL注入攻击是黑客对数据库进行攻击常用的手段之一,随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于程序员 ...

  9. sql server 监视_使用动态管理对象监视SQL Server –请求

    sql server 监视 In my last post, Monitoring SQL Server with dynamic management objects – Sessions and ...

最新文章

  1. 示波器_你真的懂示波器嘛?面试中会用到的示波器知识
  2. 前端开发模式--MV*
  3. 032_SpringBoot多环境属性配置文件
  4. 前端vscode常用插件
  5. 【渝粤题库】广东开放大学 文化产业经济学 形成性考核
  6. oracle ndv,CBO_ORACLE
  7. OpenCV图像处理(13)——指定区域截取和指定区域复制
  8. 【直播预告】云栖社区特邀专家蒋泽银:Jpom一款低侵入式Java运维、监控软件...
  9. 在线词云工具Tagxedo的使用
  10. 【数据库】SQL server 启用IFI 功能
  11. Faulty Robot-(dfs或者dijkstra)
  12. ns-3中的数据跟踪与采集——Tracing系统的配置
  13. 图片转文字的实用方法
  14. 【进阶数据挖掘技术】进阶数据挖掘技术介绍
  15. 计算机采用什么交换技术,计算机 交换技术是什么?
  16. 国际标准免费下载方法
  17. SJA1000验收滤波器使用
  18. 出来找工作,去创业公司好吗?
  19. 11.6寸eDP显示屏添加以及所遇问题总结
  20. 小建中汤与先天性结肠黑斑息肉

热门文章

  1. VUE全局导航守卫、 请求、响应拦截器 的设置
  2. signal(SIGHUP, SIG_IGN);
  3. Python环境 及安装
  4. 巧用脚本为木马“整容”
  5. c#中使用ref和out传值
  6. DOM-12 【模拟桌面待讲评】鼠标事件深入、点击与拖拽分离、双击事件
  7. 分布式缓存的面试题9
  8. springCloud Finchley 实战入门(基于springBoot 2.0.3)【三 Eureka-高可用服务注册中心】...
  9. hbase里插入big int数据用Phoenix查看的报错问题
  10. OSPF地址汇总配置