Oracle Tibco SQL直接查询:报告了JDBC错误:(SQLState=)-“;这不是有效的SQL类型:2009
我使用的是Tibco BW 5.14和Oracle 19c 我有一个包含XMLType列的Oracle表。我使用本机oracle jdbc驱动程序12.1.0.2.0进行数据库连接 当我运行查询时Oracle Tibco SQL直接查询:报告了JDBC错误:(SQLState=)-“;这不是有效的SQL类型:2009,oracle,jdbc,xmltype,tibco-business-works,Oracle,Jdbc,Xmltype,Tibco Business Works,我使用的是Tibco BW 5.14和Oracle 19c 我有一个包含XMLType列的Oracle表。我使用本机oracle jdbc驱动程序12.1.0.2.0进行数据库连接 当我运行查询时 Select XMLTYPE_column from table 作为SQL direct活动获取错误 <?xml version = "1.0" encoding = "UTF-8"?> <ns0:ErrorReport xmlns:ns
Select XMLTYPE_column from table
作为SQL direct活动获取错误
<?xml version = "1.0" encoding = "UTF-8"?>
<ns0:ErrorReport xmlns:ns0 = "http://www.tibco.com/pe/EngineTypes">
<StackTrace>Job-7000 Error in [Processes/metrics_PROD.process/SQL Direct]
"JDBC error reported: (SQLState = ) - "This is not a valid SQL type: 2009""
at com.tibco.plugin.jdbc.JDBCActivity.eval(Unknown Source)
at com.tibco.pe.plugin.Activity.eval(Unknown Source)
at com.tibco.pe.core.TaskImpl.eval(Unknown Source)
at com.tibco.pe.core.Job.a(Unknown Source)
at com.tibco.pe.core.Job.k(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.a(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.run(Unknown Source)
caused by: "This is not a valid SQL type: 2009"
at com.tibco.plugin.jdbc.JDBCCommon.sqlTypeToSmType(Unknown Source)
at com.tibco.plugin.jdbc.JDBCCommon.sqlTypeToSmType(Unknown Source)
at com.tibco.plugin.jdbc.JDBCGeneralActivity.evalGeneralStatement(Unknown Source)
at com.tibco.plugin.jdbc.JDBCGeneralActivity.performDatabaseOperation(Unknown Source)
at com.tibco.plugin.jdbc.JDBCActivity.eval(Unknown Source)
at com.tibco.pe.plugin.Activity.eval(Unknown Source)
at com.tibco.pe.core.TaskImpl.eval(Unknown Source)
at com.tibco.pe.core.Job.a(Unknown Source)
at com.tibco.pe.core.Job.k(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.a(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.run(Unknown Source)
</StackTrace>
<Msg>"JDBC error reported: (SQLState = ) - "This is not a valid SQL type: 2009""</Msg>
<FullClass>com.tibco.plugin.jdbc.JDBCSQLException</FullClass>
<Class>JDBCSQLException</Class>
<ProcessStack>Processes/metrics_PROD.process/SQL Direct</ProcessStack>
<MsgCode>BW-JDBC-100004</MsgCode>
<Data>
<ns1:JDBCSQLException xmlns:ns1 = "http://schemas.tibco.com/bw/plugins/jdbc/5.0/jdbcExceptions">
<msg>"JDBC error reported: (SQLState = ) - "This is not a valid SQL type: 2009""</msg>
<msgCode>BW-JDBC-100004</msgCode>
<sqlState/>
<detailStr>"This is not a valid SQL type: 2009"</detailStr>
</ns1:JDBCSQLException>
</Data>
</ns0:ErrorReport>
[processs/metrics\u PROD.process/SQL Direct]中的Job-7000错误
“报告的JDBC错误:(SQLState=)-“这不是有效的SQL类型:2009”
位于com.tibco.plugin.jdbc.jdbactivity.eval(未知源)
位于com.tibco.pe.plugin.Activity.eval(未知来源)
位于com.tibco.pe.core.TaskImpl.eval(未知来源)
在com.tibco.pe.core.Job.a(未知来源)
在com.tibco.pe.core.Job.k(未知来源)
在com.tibco.pe.core.JobDispatcher$JobCourier.a(未知来源)
在com.tibco.pe.core.JobDispatcher$JobCourier.run(未知源)
原因:“这不是有效的SQL类型:2009”
位于com.tibco.plugin.jdbc.jdbcommon.sqlTypeToSmType(未知源)
位于com.tibco.plugin.jdbc.jdbcommon.sqlTypeToSmType(未知源)
位于com.tibco.plugin.jdbc.JDBCGeneralActivity.evalGeneralStatement(未知源)
位于com.tibco.plugin.jdbc.JDBCGeneralActivity.performDatabaseOperation(未知源)
位于com.tibco.plugin.jdbc.jdbactivity.eval(未知源)
位于com.tibco.pe.plugin.Activity.eval(未知来源)
位于com.tibco.pe.core.TaskImpl.eval(未知来源)
在com.tibco.pe.core.Job.a(未知来源)
在com.tibco.pe.core.Job.k(未知来源)
在com.tibco.pe.core.JobDispatcher$JobCourier.a(未知来源)
在com.tibco.pe.core.JobDispatcher$JobCourier.run(未知源)
“报告的JDBC错误:(SQLState=)-“这不是有效的SQL类型:2009”
com.tibco.plugin.jdbc.JDBCSQLException
JDBCSQLException
流程/指标\u PROD.process/SQL Direct
BW-JDBC-100004
“报告的JDBC错误:(SQLState=)-“这不是有效的SQL类型:2009”
BW-JDBC-100004
“这不是有效的SQL类型:2009”
也不适用于Tibco oracle驱动程序
<StackTrace>Job-48000 Error in [Processes/Process Definition.process/JDBC Query]
"JDBC error reported: (SQLState = HY000) - java.sql.SQLException: [tibcosoftwareinc][Oracle JDBC Driver][Oracle]ORA-22275: invalid LOB locator specified
"
at com.tibco.plugin.jdbc.JDBCActivity.eval(Unknown Source)
at com.tibco.pe.plugin.Activity.eval(Unknown Source)
at com.tibco.pe.core.TaskImpl.eval(Unknown Source)
at com.tibco.pe.core.Job.a(Unknown Source)
at com.tibco.pe.core.Job.k(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.a(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.run(Unknown Source)
caused by: java.sql.SQLException: [tibcosoftwareinc][Oracle JDBC Driver][Oracle]ORA-22275: invalid LOB locator specified
[processs/Process Definition.Process/JDBC Query]中的Job-48000错误
“报告的JDBC错误:(SQLState=HY000)-java.sql.SQLException:[tibcosoftwareinc][Oracle JDBC驱动程序][Oracle]ORA-22275:指定的LOB定位器无效
"
位于com.tibco.plugin.jdbc.jdbactivity.eval(未知源)
位于com.tibco.pe.plugin.Activity.eval(未知来源)
位于com.tibco.pe.core.TaskImpl.eval(未知来源)
在com.tibco.pe.core.Job.a(未知来源)
在com.tibco.pe.core.Job.k(未知来源)
在com.tibco.pe.core.JobDispatcher$JobCourier.a(未知来源)
在com.tibco.pe.core.JobDispatcher$JobCourier.run(未知源)
原因:java.sql.SQLException:[tibcosoftwareinc][Oracle JDBC驱动程序][Oracle]ORA-22275:指定的LOB定位器无效
我使用中提供的解决方案解决了问题 将查询替换为
Select EXTRACT(XMLTYPE_column,'.').getClobVal() from table
请注意,CLOB tibco类型可用于使用XMLType(?)插入XML_类型列
范例
insert into EXAMPLE_TABLE (ID, XMLTYPE_COLUMN)
values (?, XMLType(?))