美文网首页Oracle
SQL查询时报错Caused exception message

SQL查询时报错Caused exception message

作者: 涎涎 | 来源:发表于2020-06-03 01:26 被阅读0次

详细报错如下:

错误信息:null
Caused exception message is: translate sql exception, message is 
parse error. detail message is :
unexcept token. token is : 'r', at line 1 column 153, token type is 'Identifier'
source sql is : 
SELECT v.fnumber FROM T_GL_Voucher v inner join  T_BOT_Relation r on v.fid = r.FDESTOBJECTID inner join T_BOT_Mapping m on r.FBOTMAPPINGID = m.fidwhere r.FSRCOBJECTID = 'umYAAABSs+Y7c00s' and m.FNAME = 'RZZLHT-PZ-BJ'
错误详细堆栈信息:com.kingdee.bos.SQLDataException: null
Caused exception message is: translate sql exception, message is 
parse error. detail message is :
unexcept token. token is : 'r', at line 1 column 153, token type is 'Identifier'
source sql is : 
SELECT v.fnumber FROM T_GL_Voucher v inner join  T_BOT_Relation r on v.fid = r.FDESTOBJECTID inner join T_BOT_Mapping m on r.FBOTMAPPINGID = m.fidwhere r.FSRCOBJECTID = 'umYAAABSs+Y7c00s' and m.FNAME = 'RZZLHT-PZ-BJ'
    at com.kingdee.bos.dao.query.server.SQLDataAccess.getRowSet(SQLDataAccess.java:112)
    at rpc_generate._PROXY_com_1_kingdee_1_bos_1_dao_1_query_1_server_1_ISQLDataAccess.pi4(Unknown Source)
    at rpc_generate._PROXY_com_1_kingdee_1_bos_1_dao_1_query_1_server_1_ISQLDataAccess.processInvoke(Unknown Source)
    at com.kingdee.bos.rpc.impl.ObjectProxy.processInvoke(ObjectProxy.java:177)
    at com.kingdee.bos.rpc.impl.RPCService.serviceInvoke(RPCService.java:800)
    at com.kingdee.bos.rpc.impl.RPCService.service(RPCService.java:141)
    at com.kingdee.bos.rpc.impl.ServiceDispatcher.run(ServiceDispatcher.java:153)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at com.kingdee.bos.rpc.impl.ThreadPoolExecutorReImpl.runWorker(ThreadPoolExecutorReImpl.java:1152)
    at com.kingdee.bos.rpc.impl.ThreadPoolExecutorReImpl$Worker.run(ThreadPoolExecutorReImpl.java:622)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.SQLException: translate sql exception, message is 
parse error. detail message is :
unexcept token. token is : 'r', at line 1 column 153, token type is 'Identifier'
source sql is : 
SELECT v.fnumber FROM T_GL_Voucher v inner join  T_BOT_Relation r on v.fid = r.FDESTOBJECTID inner join T_BOT_Mapping m on r.FBOTMAPPINGID = m.fidwhere r.FSRCOBJECTID = 'umYAAABSs+Y7c00s' and m.FNAME = 'RZZLHT-PZ-BJ'
    at com.kingdee.bos.sql.shell.KDConnection.getSql(KDConnection.java:278)
    at com.kingdee.bos.sql.shell.KDConnection.prepareStatement(KDConnection.java:314)
    at com.apusic.jdbc.adapter.ConnectionHandle.prepareStatement(Unknown Source)
    at com.kingdee.bos.dao.query.server.SQLDataAccess.getRowSet(SQLDataAccess.java:72)
    ... 12 more
Caused by: java.sql.SQLException
java.sql.SQLException: translate sql exception, message is 
parse error. detail message is :
unexcept token. token is : 'r', at line 1 column 153, token type is 'Identifier'
source sql is : 
SELECT v.fnumber FROM T_GL_Voucher v inner join  T_BOT_Relation r on v.fid = r.FDESTOBJECTID inner join T_BOT_Mapping m on r.FBOTMAPPINGID = m.fidwhere r.FSRCOBJECTID = 'umYAAABSs+Y7c00s' and m.FNAME = 'RZZLHT-PZ-BJ'
    at com.kingdee.bos.sql.shell.KDConnection.getSql(KDConnection.java:278)
    at com.kingdee.bos.sql.shell.KDConnection.prepareStatement(KDConnection.java:314)
    at com.apusic.jdbc.adapter.ConnectionHandle.prepareStatement(Unknown Source)
    at com.kingdee.bos.dao.query.server.SQLDataAccess.getRowSet(SQLDataAccess.java:72)
    at rpc_generate._PROXY_com_1_kingdee_1_bos_1_dao_1_query_1_server_1_ISQLDataAccess.pi4(Unknown Source)
    at rpc_generate._PROXY_com_1_kingdee_1_bos_1_dao_1_query_1_server_1_ISQLDataAccess.processInvoke(Unknown Source)
    at com.kingdee.bos.rpc.impl.ObjectProxy.processInvoke(ObjectProxy.java:177)
    at com.kingdee.bos.rpc.impl.RPCService.serviceInvoke(RPCService.java:800)
    at com.kingdee.bos.rpc.impl.RPCService.service(RPCService.java:141)
    at com.kingdee.bos.rpc.impl.ServiceDispatcher.run(ServiceDispatcher.java:153)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at com.kingdee.bos.rpc.impl.ThreadPoolExecutorReImpl.runWorker(ThreadPoolExecutorReImpl.java:1152)
    at com.kingdee.bos.rpc.impl.ThreadPoolExecutorReImpl$Worker.run(ThreadPoolExecutorReImpl.java:622)
    at java.lang.Thread.run(Thread.java:662)

从上面的报错信息可以看到我的SQL语句如下所示,看到where与之前的sql未加空格所致,所以得出的结论为一定要在代码里执行sql之前先断点看看SQL语句是否正确先!!!

SELECT v.fnumber FROM T_GL_Voucher v inner join  T_BOT_Relation r on v.fid = r.FDESTOBJECTID inner join T_BOT_Mapping m on r.FBOTMAPPINGID = m.fidwhere r.FSRCOBJECTID = 'umYAAABSs+Y7c00s' and m.FNAME = 'RZZLHT-PZ-BJ'

另以上SQL语句等价于另一句很LOW的查询语句,如下所示

select fnumber from T_GL_Voucher where fid = (select  FDESTOBJECTID from T_BOT_Relation where FSRCOBJECTID = 'umYAAABSrBA7c00s' and FBOTMAPPINGID  = ( select fid from T_BOT_Mapping where FNAME = 'RZZLHT-PZ-LX')) 

以上就是我关于 SQL查询时报错Caused exception message is translate sql exception message is parse error detail message is 知识点整理与总结的全部内容,希望对你有帮助。。。。。。。


分割线


扩展知识

相关文章

网友评论

    本文标题:SQL查询时报错Caused exception message

    本文链接:https://www.haomeiwen.com/subject/rtlfzhtx.html