【求救】关于pgsql的stringtype=unspecified的偶发问题

lobell 2024-02-06 18:17:55

我的工程使用如下组件:

mybatis:3.5.6
spring-jdbc:5.3.27
postgresql:42.6.0
druid:1.0.2

配置的连接串也包含了stringtype=unspecified,让驱动把字符串当成未确定的类型传给pgsql服务器。

NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
            String strSQL = "insert into zgh_test(f1,f2,f3) values(:F1,:F2,:F3) ";
            Map<String,Object> p = new HashMap<>();
            p.put("F1",String.valueOf((new Date()).getTime()));
            p.put("F2",String.valueOf((new Date()).getTime() * 1.0/1000.0));
            p.put("F3",String.valueOf((new Date()).getTime() * 1.0/1000.0));

            List<Map<String, Object>> query = namedParameterJdbcTemplate.execute(strSQL,p,new PreparedStatementCallbackImpl());

其中zgh_test表的F1是int8,f2是numeric,f3是varchar。

这种写法绝大部分是成功的,pgsql能够自动识别对应的类型,但有极少数的情况会报:

invalid input syntax for type integer: "28.039389"(这是样例);

而且一定是报integer,而不报其他类型的错误。

不仅插入还是更新还是查询,都有机会出现这个问题,出现概率大约是万分之五左右。

 

请问各位牛人,是否遇到这个问题?怎么复现(不一定要解决)

PS:

我现在的解决方法就是:

"insert into zgh_test(f1,f2,f3) values(:F1,:F2::numeric,:F3::varchar) ";

...全文
2504 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕基于混沌系统与DNA编码的彩色图像加密解密体系展开研究,提出了一种多层级、高复杂度的复合加密方法。该方法深度融合混沌系统的伪随机遍历特性与DNA编码的高维并行处理能力,对彩色图像RGB三通道像素信息实施双重混淆与扩散操作,显著增强了加密算法的安全性与抗攻击能力。研究系统性地构建了完整的加密-解密流程,并重点针对实际传输环境中常见的高斯噪声、椒盐噪声及多种裁剪攻击(包括小面积、中面积、边缘与中心区域裁剪)进行了详尽的鲁棒性测试。实验结果表明,该算法不仅具备极高的密钥敏感性与安全性,而且在遭受不同程度噪声干扰或局部数据丢失后,仍能有效恢复出具有清晰结构与可用信息的解密图像,展现出卓越的容错性与实用性。; 适合人群:具备一定图像处理、信息安全或密码学基础知识的科研人员、研究生及从事多媒体安全传输开发的工程技术人员。; 使用场景及目标:①应用于军事通信、医疗影像保护、数字版权管理等对安全性要求极高的图像传输与存储场景;②为新型图像加密算法的设计提供创新思路,并为算法的抗干扰性能评估建立系统化测试体系,推动复合加密技术向工程化、实用化发展。; 阅读建议:建议读者结合Matlab代码实现,复现文中所述的加密流程与抗干扰测试,深入理解混沌序列生成、DNA编码规则映射、像素扩散机制等关键步骤,并可通过调整参数或引入新的攻击类型来进一步拓展算法的性能分析。

974

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧