【问题标题】:c# cassandra DataStax driver version compatibilityc# cassandra DataStax驱动版本兼容性
【发布时间】:2017-01-24 21:24:41
【问题描述】:

是否可以通过 DataStax c# 驱动程序版本 3.0.8 使用 Cassandra 版本 3.6.0 ?如果是这样,为什么我会收到错误未配置的表“表名”错误。我还有什么其他选择?

编辑:

我认为问题是我将表创建为 TableName ,但是驱动程序搜索表表名(T 和 N 的小写),我的查询是 INSERT INTO TableName(Column1) Values(value1)

【问题讨论】:

  • 在不查看代码的情况下很难帮助您解决错误。但卢克是对的,它必须是这两者之一。
  • @Aaron 请看我的编辑
  • 您是否使用双引号创建了表名?就像 CREATE TABLE "TableName" (...); 一样,因为这是 Cassandra 对键空间或表名强制大小写的唯一方法。
  • 否,但这通常意味着您必须在应用程序连接代码中包含(并转义)带有表名的引号。
  • 您不必重新创建它,但是为了避免区分大小写的问题,重新创建不带引号的表/键空间可能更简单。

标签: c# cassandra datastax


【解决方案1】:

是的,您可以针对 Cassandra 3.6(或者实际上,任何 3.x 版本)使用该版本的 C# 驱动程序。我怀疑您收到“未配置的表”错误,因为:

  1. 您没有将驱动程序连接到已创建“表名”的键空间。
  2. 您尚未在驱动程序连接到的键空间中创建表。

更新:外壳

听起来像上面的 cmets 在创建表和键空间时使用了双引号。我的建议(如果可行的话)是在不带引号的情况下删除并重新创建它们,这样您就不必记住引用所有内容并在查询时使用正确的大小写。这种方式往往会简单得多。如果您想了解有关 CQL 中大小写如何工作的更多信息,请查看 CQL 文档的 Uppercase and lowercase section

【讨论】:

    猜你喜欢
    • 2019-10-14
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 2016-02-27
    相关资源
    最近更新 更多