|
先说明下大体状况:现在的程序需要另一个数据库的数据,于是做了一个远程连接,但是另一个数据库需要表的主键字段不像X5的FID,都有实际含义,必须在界面显示,为了不影响原先数据库的数据,我做了个视图,到X5系统时就默认了FID作为主键字段,于是报错了,想把所用表的默认字段添加为主键,提示该字段已存在,请问下这种跨数据库的数据该如何处理,下面是报错的代码:
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: SELECT ZTJKHJRK.* FROM ZTJKHJRK ZTJKHJRK ORDER BY PZJLSJ DESC LIMIT 0, -1
at com.justep.exception.BusinessException.create(Unknown Source)
at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
at com.justep.system.data.BizData.query(Unknown Source)
at BizProcedure.query(BizProcedure.java:12)
... 26 more
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150039; 提示: 执行sql: SELECT ZTJKHJRK.SHDH AS SHDH, ZTJKHJRK.HTBH AS HTBH, ZTJKHJRK.GYSBM AS GYSBM, ZTJKHJRK.GYSMC AS GYSMC, ZTJKHJRK.SHDWMC AS SHDWMC, ZTJKHJRK.SHDWBM AS SHDWBM, ZTJKHJRK.WLBM AS WLBM, ZTJKHJRK.WLMC AS WLMC, ZTJKHJRK.GGXH AS GGXH, ZTJKHJRK.ZWCM AS ZWCM, ZTJKHJRK.CPH AS CPH, ZTJKHJRK.CGBM AS CGBM, ZTJKHJRK.XHDD AS XHDD, ZTJKHJRK.JLMZ AS JLMZ, ZTJKHJRK.JLPZ AS JLPZ, ZTJKHJRK.JLJZ AS JLJZ, ZTJKHJRK.KD AS KD, ZTJKHJRK.PZJLSJ AS PZJLSJ, ZTJKHJRK.MZJLSJ AS MZJLSJ, ZTJKHJRK.CZRBM AS CZRBM, ZTJKHJRK.JLBZ AS JLBZ, ZTJKHJRK.QYPH AS QYPH, ZTJKHJRK.XCSJ AS XCSJ, ZTJKHJRK.WLGSMC AS WLGSMC, ZTJKHJRK.WLGSBM AS WLGSBM, ZTJKHJRK.JCSJ AS JCSJ, ZTJKHJRK.ZFBZ AS ZFBZ, ZTJKHJRK.JSZL AS JSZL, ZTJKHJRK.WLID AS WLID, ZTJKHJRK.CKBM AS CKBM, ZTJKHJRK.HTID AS HTID, ZTJKHJRK.CMID AS CMID, ZTJKHJRK.ZTBZ AS ZTBZ, ZTJKHJRK.JLDH AS JLDH, ZTJKHJRK.DWJSDH AS DWJSDH, ZTJKHJRK.DNJSDH AS DNJSDH, ZTJKHJRK.TJBZ AS TJBZ, ZTJKHJRK.FID AS ZTJKHJRK FROM ZTJKHJRK ZTJKHJRK ORDER BY PZJLSJ DESC, binds: []出错
at com.justep.exception.BusinessException.create(Unknown Source)
at com.justep.system.ksql.KSQLUtils.execSqlSelect(Unknown Source)
... 31 more
Caused by: java.sql.SQLException: ORA-00904: "ZTJKHJRK"."FID": 标识符无效
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:796)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1031)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:836)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
... 32 more
|
|