首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JDBC Oracle结果集空指针异常

JDBC Oracle结果集空指针异常
EN

Stack Overflow用户
提问于 2014-09-09 18:30:51
回答 3查看 4.3K关注 0票数 0

我有一个连接到oracle数据库的多线程程序。

第一个线程执行“大”查询,并将对象加载到LinkedBlockingQueue中。大约有200,000个物体。

第二个线程轮询这个列表,对于每个对象,它运行14个其他查询,更新对象参数。然后,我最后一次连接到另一个数据库,为当前对象获取相应的对象,创建一个包含这两个对象的混合对象,并将其发送到第三个线程。

对于这14个查询中的每个查询,我都使用一条语句和多个结果集。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    stat=predefinedobject.getConnection().createStatement();  
    ResultSet rs = null;
    ResultSet rs1 = null;
    ResultSet rs2 = null;
    ResultSet rs3 = null;
          .
          .
    rs=stat.executeQuery(Query1);
    while(rs.next()) {
        object1.setParameter1(rs.getString(5));
    }
    SqlUtils.closeResultSet(rs);

    rs1=stat.executeQuery(Query2);
    while(rs1.next()) {
        object1.setParameter2(rs1.getString(5));
    }
    SqlUtils.closeResultSet(rs1);
           .
           .
           .
    SqlUtils.closeResultSet(rs14);
    SqlUtils.closeResultSet(stat);

过了一段时间后,我得到了空指针异常。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.lang.NullPointerException
at oracle.jdbc.driver.T4C8Oall.getNumRows(T4C8Oall.java:876)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:825)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1049)
at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:845)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1154)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1313)
EN

回答 3

Stack Overflow用户

发布于 2014-09-09 22:13:24

仔细检查您的sql查询字符串,看起来您连接了查询,但其中缺少一些空格。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String sql="select"+MYCOULUM+" form MYTABLE"

将生成以下字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selectMYCOULUM form MYTABLE

执行此类查询将导致oracle jdbc驱动程序出现此错误。

票数 3
EN

Stack Overflow用户

发布于 2018-10-04 12:15:06

在我的例子中,我使用大写的proc而不是小写的call来调用存储的CALL

例如,{ ?= CALL proc_name(?) }给出了相同的错误。一旦我切换到{ ?= call proc_name(?) },它就可以工作了

票数 1
EN

Stack Overflow用户

发布于 2014-09-09 18:38:58

javadoc表示-默认情况下,每个语句对象只能同时打开一个ResultSet对象。因此,如果一个ResultSet对象的读取与另一个对象的读取交错,则每个对象必须由不同的Statement对象生成。语句接口中的所有执行方法都隐式关闭语句的当前ResultSet对象(如果存在打开的对象)。

因此,每次要查询数据库时,可能都会尝试创建一个新的Statement对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25751434

复制
相关文章
vue如何动态加载本地图片
大家好,我是前端队长Daotin,想要获取更多前端精彩内容,关注我(全网同名),解锁前端成长新姿势。
Daotin
2021/07/28
4.2K0
vue 重新加载页面_页面重新加载
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/03
4.6K0
如何采集javascript动态加载网页
从一个运行 javascript 的网站加载所有数据来加载内容,目前的问题是当运行启动代码时它无法加载 javascript 内容,因为用户应该向下滚动才能加载。如何编写启动代码来滚动整页呈现 javacript 并返回 html呢?
jackcode
2023/05/24
9890
如何采集javascript动态加载网页
JavaScript 动态加载脚本和样式
3大点: 1.元素位置 2.动态脚本 3.动态样式 一.元素位置 getBoundingClientRect()。这个方法返回一个矩形对象,包含四个属性:left、top、right和bottom。分别表示元素各边与页面上边和左边的距离。 var box = document.getElementById('box');//获取元素 alert(box.getBoundingClientRect().top);//元素上边距离页面上边的距离 alert(box.getBoundingClientRect()
汤高
2018/01/11
1.4K0
Stimulsoft Web版中如何动态修改Json数据源的Url
在Stimulsoft Report(目前我使用的是2022.1.2版本)中,可以支持从JSON文件或者在线URL作为数据源。
崔文远TroyCui
2022/01/14
1.9K0
Stimulsoft Web版中如何动态修改Json数据源的Url
javascript加载数据简述
加载资源的形式 输入url(或跳转页面)加载html 加载静态资源:图片,js,css,音视频等 加载一个资源的过程 浏览器根据DNS服务器得到域名的IP地址 向这个IP的机器发送http请求 服务器收到,处理并返回http请求 浏览器得到返回内容 浏览器渲染页面的过程 根据HTML结果生成DOM Tree 根据CSS生成CSSOM(CSS Object Model) 将DOM和CSSOM整合形成RenderTree 根据RenderTree开始渲染和展示 遇到<script>标签时,会执行并阻塞渲染 渲染
踏浪
2019/07/31
5450
2.6 从JSON数据源导入数据
案例:读取并解析GitHub(http://github.com)网站的最近活动时间表
全栈程序员站长
2022/09/06
1.1K0
CentOS本地源
冷影玺
2023/10/11
3780
SSM动态切换数据源
这里默认大家都会SSM框架了,使用时我们要往sqlSessionFactory里注入数据源。那么猜测:1、可以往sqlSessionFactory里注入多数据源来实现切换;2、将多个数据源封装成一个总源,再把这个总源注入到sqlSessionFactory里实现切换。答案是使用后者,即封装成总源的形式。Spring提供了动态切换数据源的功能,那么我们来看看其实现原理
晚上没宵夜
2020/03/10
1.1K0
springboot动态多数据源
参考文章:https://www.cnblogs.com/hehehaha/p/6147096.html
用户1225216
2019/05/25
9630
【说站】javascript如何动态加载js文件
2、通过xhr方式加载js文件,不过通过这种方式的话,就可能会面临着跨域的问题。
很酷的站长
2022/11/23
7.3K0
【说站】javascript如何动态加载js文件
HtmlUnit动态数据未加载
因为程序的读取速度会快一些,而且推测 HtmlUnit是异步读取 html , css ,js
taixingyiji
2022/07/25
1.3K0
Python 重新加载模块
出于效率原因(导入必须找到文件,将其编译成字节码,并且运行代码),Python shell 在每次会话中,只对每个模块导入一次。
py3study
2020/01/03
4.5K0
本地配置yum源
yum是Linux环境安装软件包的一种方式。yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。yum仓库可以是本地的,也可以是HTTP、FTP、nfs形式的网络仓库 。
半条命专刊
2020/09/14
2.5K0
javascript:FF/Chrome 与 IE 动态加载元素的区别
今天在写一段js时,发现IE与FF在动态加载Html元素时,有一些差别,看下面的代码: <!doctype html> <html> <head> <title>ff 与 ie 动态加载元素的区别</title> <script type="text/javascript" src="jquery-1.4.4.min.js"></script> <style type="text/css"> li{margin:0;padding:0;list-style:none} </style> <sc
菩提树下的杨过
2018/01/23
1.6K0
javascript:FF/Chrome 与 IE 动态加载元素的区别
GoogleMaps api for javascript demo 动态按顺序加载marker
@{ } <!DOCTYPE html> <html lang="zh"> <head> <meta name="viewport" content="initi
阿新
2018/04/12
8040
使用本地yum源
# mount /data/isos/CentOS-7-x86_64-Everything-1511.iso /yum
用户5579903
2022/10/26
1.6K0
使用本地yum源
js读取本地json文件_jquery读取本地json文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
21.6K0
js读取本地json文件_jquery读取本地json文件
UOS本地源配置
冷影玺
2023/10/11
1.3K0
点击加载更多

相似问题

uisearchbar性能问题textDidChange

14

UISearchBar textDidChange不开火

32

关于UISearchBar: predicateWithFormat的textDidChange

13

plist中的UISearchBar textDidChange数据

224

如何检测textDidChange: on UISearchBar是听写触发的

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文