一个奇怪的问题-数据库得到列的信息的问题

因为这个问题比较奇怪,所以记录下。需求大概是要接入Trafodion数据库,目前情况是已经可以得到所有的表名信息了。但是想要看表中的信息时,有点问题,可以得到记录等,但看不到具体信息,然后看到是没有得到表的列的信息导致不能看到数据。

通过调试最后定位到
  //DatabaseMetaData meta = connect.getMetaData()
        ResultSet colRet = meta.getColumns(null,"%", tableName,"%");
         ResultSet   prkey = meta.getPrimaryKeys(null, null,tableName);
经过艰难调试最后只要改下语句过程就可以了。为什么把colRet 拿下来而不是其它,只是因为处理colRet 的方法在处理prkey 方法的下面而已,所以我把它放到下面去了。
  //DatabaseMetaData meta = connect.getMetaData()
        ResultSet   prkey = meta.getPrimaryKeys(null, null, tableName);
   ResultSe colRet = meta.getColumns(null,"%", tableName,"%");
 
但是一开始的顺序对于其它大部分数据库都是可以的,所以觉得奇怪。我也是经过多次测试后,才感觉colRet在处理的时候数据好像没有了似的,然后才改下顺序试试看,结果可以了。其实到问题解决了,我也不确定是不是我猜测的原因。
原文地址:https://www.cnblogs.com/ylzhang/p/6511643.html