【问题标题】:SQLSyntaxErrorException: Expected key 'KEY' to be present in WHERE clause for 'dept'SQLSyntaxErrorException:预期的键 'KEY' 将出现在 WHERE 子句中的 'dept'
【发布时间】:2013-06-23 04:06:37
【问题描述】:

我正在运行从 WSO2 DSS 到 Cassandra 数据库的插入示例。

这是我的带有 Casandra 数据库插入配置的 DSS。

<data name="Cdno">
   <config id="insert">
      <property name="url">jdbc:cassandra://localhost:9160/employee</property>
      <property name="driverClassName">org.apache.cassandra.cql.jdbc.CassandraDriver</property>
   </config>
   <query id="Insertinto" useConfig="insert">
      <sql>INSERT INTO employee.dept(eno,dno) values(?,?)</sql>
      <result element="Body" rowName="Datalist">
         <element column="eno" name="eno" xsdType="integer"/>
         <element column="dno" name="dno" xsdType="integer"/>
      </result>
      <param name="eno" ordinal="1" sqlType="INTEGER"/>
      <param name="dno" ordinal="2" sqlType="INTEGER"/>
   </query>
   <operation name="insertinto">
      <call-query href="Insertinto">
         <with-param name="eno" query-param="eno"/>
         <with-param name="dno" query-param="dno"/>
      </call-query>
   </operation>
</data>

当我从 DSS 插入数据时,试试这个服务到 Cassandra 数据库,我收到以下错误。我怎样才能做到这一点。

DS Code: DATABASE_ERROR
Source Data Service:-
Name: Cdno
Location: /Cdno.dbs
Description: N/A
Default Namespace: http://ws.wso2.org/dataservice
Current Request Name: insertinto
Current Params: {eno=5, dno=6}
Nested Exception:-
java.sql.SQLSyntaxErrorException: Expected key 'KEY' to be present in WHERE clause for 'dept'

    at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.execute(DSOMDataSource.java:105)
    at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.serialize(DSOMDataSource.java:110)
    at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:691)
    at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:562)
    at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:875)
    at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:283)
    at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:245)
    at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:193)
    at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:74)
    ... 38 more

【问题讨论】:

  • 您能告诉我您用于数据模型的架构吗?我有一种感觉,您正在插入一个分区(行)而没有为所述分区指定主键。

标签: cassandra wso2 wso2esb wso2dss cassandra-0.7


【解决方案1】:

当您在 cassandra 中插入数据时,您还应该传递关键信息.. 检查sample

【讨论】:

    【解决方案2】:

    WSO2 正在生成无效请求。除了报告错误,我认为您无能为力。

    【讨论】:

      猜你喜欢
      • 2019-09-30
      • 1970-01-01
      • 2014-06-27
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多