微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java-DB2 JDBC:“相同”查询给出不同的结果

我被分配去开发一个小的Java应用程序来处理来自DB2数据库的某些数据(用于记录业务交易),并且我对datbase的内部设置了解得很清楚.当前,我正在努力找出为什么在我的应用程序上执行的查询(通过JDBC)与在Quest Central for DB2客户端上执行的直接查询给出的结果集不同的原因.

    String query = "SELECT disTINCT SYstem_NME FROM MISUSER.USAGE_LOGGER";

    try {
        Connection conn = DB2Connect.getDB2Connection();
        Statement stmt = conn.createStatement();

        ResultSet rs = stmt.executeQuery(query);
        while(rs.next()){
            retval.add(rs.getString(this.code.column_name));
        }

    } catch (sqlException e) {...

上面的代码返回一个有7行的ResultSet对象,而在我的db2客户机上执行的同一查询返回了30行以上.如前所述,我对数据库的使用经验很少,我需要某种想法才能使同一查询产生两个不同的结果.

解决方法:

几个原因.

>它不是相同的数据库和/或架构.
>该表具有行级安全性(DB2具有此功能),并且已登录的JDBC用户对没有返回的权限没有足够的权限.
>在未提交的同一事务中插入并选择了很多行.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐