【问题标题】:Cassandra DB. com.datastax.driver.core.exceptions.InvalidQueryException: unconfigured table person卡桑德拉数据库。 com.datastax.driver.core.exceptions.InvalidQueryException:未配置的表人
【发布时间】:2016-06-15 21:37:13
【问题描述】:

The keyspace and 'person' table are exist

你好,我是 Cassandra 的新手,所以我只是想从我的 java 代码中执行 select 查询,但我得到了一个异常,表不存在(但它存在。检查上面的链接)。 请帮助我找出可能导致此问题的原因。 提前谢谢你。

public class DS_Cassandra implements DS 
{
    Cluster cluster;
    Session session;
    private static final Logger log = Logger.getLogger( DS_Cassandra.class.getName() );

    public DS_Cassandra() 
    {
        cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
        session = cluster.connect("testing");
    }

    @Override
    public ArrayList<Person> read() 
    {
        ArrayList<Person> list = new ArrayList<Person>();
        ResultSet results = session.execute("SELECT * FROM person"); //and here exception happened



2016-03-02 22:06:26 INFO  NettyUtil:83 - Did not find Netty's native epoll transport in the classpath, defaulting to NIO.
2016-03-02 22:06:26 INFO  DCAwareRoundRobinPolicy:95 - Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy (if this is incorrect, please provide the correct datacenter name with DCAwareRoundRobinPolicy constructor)
2016-03-02 22:06:26 INFO  Cluster:1475 - New Cassandra host /127.0.0.1:9042 added
Exception in thread "main" com.datastax.driver.core.exceptions.InvalidQueryException: unconfigured table person
    at com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:50)
    at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
    at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:245)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:63)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:39)...

【问题讨论】:

  • 表名区分大小写 - Person 和 person 不是同一张表。
  • 已解决。谢谢你。从我的角度来看,这是史诗般的失败。
  • @YakivBondar 你能澄清一下史诗般的失败是什么吗?我也在其他地方看到了这个错误,我的信息可能会有所帮助。
  • 见@JeffJirsa 评论。表名区分大小写。

标签: java cassandra cql datastax-java-driver cassandra-3.0


【解决方案1】:

表名区分大小写。

【讨论】:

    【解决方案2】:

    尝试使用表名添加键空间名称。

    对于您的情况:“SELECT * FROM my_keyspace_name.person”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2015-10-19
      • 2015-03-04
      • 1970-01-01
      相关资源
      最近更新 更多