开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

put.setObject()报异常:can not found column named

使用 holoClient 的 put.setObject(),在创建put 的表中确实有CONS_ID 的字段,但是系统任然会报错: can not found column named CONS_ID ,求解答

代码参考如下: TableSchema schema0 = client.getTableSchema("t0"); Put put = new Put(schema0); put.setObject("CONS_ID", 1);

展开
收起
游客ppxuwh226jygg 2023-06-05 16:06:42 55 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    这个问题可能是因为实际创建表的时候 CONS_ID 字段名和代码中使用的不一致导致的。建议您检查以下几个方面:

    1. 确认表中的字段名是否正确:可以使用 HoloClient 的 getTableSchema() 方法获取表结构信息,然后检查表中的字段名和代码中使用的是否一致。

    2. 确认代码中的字段名是否正确:可以检查代码中指定字段名的拼写是否正确,是否区分大小写等。

    3. 确认是否存在别名或限定符:在一些情况下,表中的字段名可能会被修改或受到限定符影响(例如表名前缀),从而导致与代码中的字段名不一致。建议您检查以下表结构信息中是否存在别名或限定符,并在代码中相应地进行修改和适配。

    2023-06-05 22:09:06
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    根据您提供的信息,put.setObject()报异常“can not found column named CONS_ID”,可能是由于以下原因之一导致的:

    1. CONS_ID 字段的大小写不一致:请确保在创建表格模板时,CONS_ID 字段的大小写与您在 put.setObject() 中使用的一致。如果表格模板中使用的是小写,那么在 put.setObject() 中也必须使用小写。

    2. 表格模板中没有 CONS_ID 字段:请确保在创建表格模板时,已经添加了名为 CONS_ID 的字段。如果未添加该字段,则会出现“can not found column named CONS_ID”异常。

    3. 表格模板中的 CONS_ID 字段被删除了:如果您之前已经创建了名为 CONS_ID 的字段,但是后来删除了该字段,则在执行 put.setObject() 时会出现“can not found column named CONS_ID”异常。请确保名为 CONS_ID 的字段已经存在于表格模板中,并且没有被删除。

    4. 表名或表格模板名不正确:请确保您正在操作的表名或表格模板名正确。如果表名或表格模板名不正确,则可能会导致 put.setObject() 找不到相应的列。

    2023-06-05 18:50:46
    赞同 展开评论 打赏
  • 根据您提供的代码,我猜测可能是由于表结构信息没有正确加载导致的。请尝试在创建 Put 对象时,将 TableSchema 对象作为参数传入,以确保表结构信息正确加载。示例如下:

    TableSchema schema0 = client.getTableSchema("t0");
    Put put = new Put(schema0);
    put.setObject(schema0.getColumnIndex("CONS_ID"), 1);
    

    另外,也可以通过打印 schema0 的信息,检查表结构信息是否正确加载。如下所示:

    TableSchema schema0 = client.getTableSchema("t0");
    System.out.println(schema0.getColumnNames());
    

    如果打印结果中包含 "CONS_ID",则表结构信息已正确加载。

    2023-06-05 17:25:25
    赞同 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载