c# cassandra DataStax驱动版本兼容性
Posted
技术标签:
【中文标题】c# cassandra DataStax驱动版本兼容性【英文标题】:c# cassandra DataStax driver version compatibility 【发布时间】: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 对键空间或表名强制大小写的唯一方法。
否,但这通常意味着您必须在应用程序连接代码中包含(并转义)带有表名的引号。
您不必重新创建它,但是为了避免区分大小写的问题,重新创建不带引号的表/键空间可能更简单。
【参考方案1】:
是的,您可以针对 Cassandra 3.6(或者实际上,任何 3.x 版本)使用该版本的 C# 驱动程序。我怀疑您收到“未配置的表”错误,因为:
-
您没有将驱动程序连接到已创建“表名”的键空间。
您尚未在驱动程序连接到的键空间中创建表。
更新:外壳
听起来像上面的 cmets 在创建表和键空间时使用了双引号。我的建议(如果可行的话)是在不带引号的情况下删除并重新创建它们,这样您就不必记住引用所有内容并在查询时使用正确的大小写。这种方式往往会简单得多。如果您想了解有关 CQL 中大小写如何工作的更多信息,请查看 CQL 文档的 Uppercase and lowercase section。
【讨论】:
以上是关于c# cassandra DataStax驱动版本兼容性的主要内容,如果未能解决你的问题,请参考以下文章
从 c#datastax 驱动程序关闭 cassandra 集群时出错
如何使用datastax java驱动程序将timeuuid插入cassandra或TimeUUID的版本无效
Datastax Cassandra Java 驱动程序 WARN 消息
NoClassDefFoundError - Cassandra 的 datastax java 驱动程序
cassandra 数据库 - 获取时间高于 Netflix Astyanax 驱动程序而不是 datastax 驱动程序