当我使用它时,我有一个包含 INSERT
查询的 .cql
文件
cqlsh -f cassandra.cql
它插入第一个并给我一个错误:
回溯(最近一次调用最后一次):文件“/ usr / share / dse / resources / cassandra / bin / cqlsh”,第2385行,在main(* read_options(sys.argv [1:],os.environ))文件“/ usr / share / dse / resources / cassandra / bin / cqlsh”,第2377行,在主shell.cmdloop()文件“/ usr / share / dse / resources / cassandra / bin / cqlsh”,第918行,在cmdloop中line = self.get_input_line(self.prompt)文件“/ usr / share / dse / resources / cassandra / bin / cqlsh”,第887行,在get_input_line中self.lastcmd = self.stdin.readline()文件“/ usr / lib /python2.7/codecs.py“,第672行,在readline中返回self.reader.readline(size)文件”/usr/lib/python2.7/codecs.py“,第527行,在readline data = self.read (readsize,firstline = True)文件“/usr/lib/python2.7/codecs.py”,第474行,读取newchars,decodingbytes = self.decode(data,self.errors)UnicodeDecodeError:'ascii'codec'' t解码位置54中的字节0xe2:序数不在范围内(128)
并且不插入其余查询
有什么问题,我该如何解决?
1 回答
听起来是你有一些包含非ascii字符的ascii字段的数据 . 要解决此问题,您应该检查您为表声明的列是否为'ascii'类型,并将它们更改为'text'或'varchar',两者都支持unicode字符 . 或者您需要识别包含非ascii字符的数据并删除非ascii字符 .