Postgre 提示could not determine data type of parameter $4

news2025/1/13 13:29:35

目录

场景: 

现象:

版本:

分析:

 解决方式:

场景: 

今天遇到现场环境连接Postgre数据库,日志提示could not determine data type of parameter $4,通过日志复制出完整sql,但是在pg数据库却能正常执行,本地测试没有遇到这个问题现记录一下。

现象:

日志打印sql如下:

select RES.* from ACT_RU_TASK RES 
left join ACT_BIZ_PROCINST M on RES.PROC_INST_ID_ = M.PROC_INST_ID_ 
WHERE M.F11_ like ? and M.F12_ like ? and (RES.ASSIGNEE_ = ? or (RES.ASSIGNEE_ ='-1' 
and ( M.XZQ_ LIKE CONCAT(CONCAT('%',?),'%') ) 

填充参数后:

select RES.* from ACT_RU_TASK RES 
left join ACT_BIZ_PROCINST M on RES.PROC_INST_ID_ = M.PROC_INST_ID_ 
WHERE M.F11_ like '5a1e92b3-a08f-11e7-9fa0-00163e0003d6' and M.F12_ like '48e3d33a-e600-11ea-a4e0-a6f87c2a5b07' and (RES.ASSIGNEE_ = 'heby' or (RES.ASSIGNEE_ ='-1' 
and ( M.XZQ_ LIKE CONCAT(CONCAT('%','330800'),'%') ) 

日志报错:

could not determine data type of parameter $4,

翻译意思是无法确定第四个参数的数据类型

第四个参数定位到:M.XZQ_ LIKE CONCAT(CONCAT('%','330800'),'%')这里报错

版本:

线上版本:

本地版本:

分析:

第一:发现数据的版本存在差异,本地的版本明显高,而线上的版本低

第二:发现数据库连接的方式也有差异

本地:jdbc.url=jdbc:postgresql://db.gisquest.com:5866/bdcpz?currentSchema=gisqbpm

线上:jdbc.url=jdbc:postgresql://db.gisquest.com:5866/bdcpz? stringtype=unspecified&currentSchema=gisqbpm

不加stringtype参数则将使用默认值stringtype=varchar则这意味着在处理字符串结果时将使用Java的String类型。

加stringtype参数设置为unspecified则意味着JDBC驱动程序在处理字符串结果时应该使用未指定的默认类型,这样可以防止一些潜在的类型转换问题

 解决方式:

第一:要么要求现场环境版本保持和本地环境版本一致且数据库的连接方式也保持一致。

第二:修改代码在查询时强转成text类型

 <choose>
     <when test='_databaseId == "postgres"'>
         <foreach item="item" index="index" collection="biz_xzqsLike" open="(" separator="or"
                                             close=")">
                         M.XZQ_ LIKE CONCAT(#{item}::text,'%')
          </foreach>
    </when>
  <otherwise>
       <foreach item="item" index="index" collection="biz_xzqsLike" open="(" separator="or"
                                             close=")">
          M.XZQ_ LIKE CONCAT(#{item},'%')
       </foreach>
   </otherwise>

</choose>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/598305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试练手项目,可以写进简历里面的(银行:金融:商城:外卖等等)

目录 一、引言 二、测试任务 三、测试进度 四、测试资源 五、测试策略 六、测试完成标准 七、风险和约束 八、问题严重程度描述和响应时间规范 九、测试的主要角色和职责 ​有需要实战项目的评论区留言吧&#xff01; 软件测试是使用人工或者自动的手段来运行或者测定…

旅游有哪些好玩的地方? 今天用python分析适合年轻人的旅游攻略

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 “旅”是旅行&#xff0c;外出&#xff0c;即为了实现某一目的而在空间上从甲地到乙地的行进过程&#xff1b; “游”是外出游览、观光、娱乐&#xff0c;即为达到这些目的所作的旅行。 二者合起来即旅游。所以&#…

文本三剑客——awk

文本编辑器awk 一、 awk工作原理1.命令格式2.awk常见的内建变量&#xff08;可直接用&#xff09;如下所示 二、awk的基础用法1.输出文件中的某一列2.根据特定条件筛选数据3.按照分隔符进行切割4.在匹配到特定字符串时执行操作5.BEGIN打印模式6.awk的分隔符用法 三、示例演示1.…

挖掘数百篇AR/VR专利,苹果XR全方位探索

近期大家也看了很多苹果XR的消息&#xff0c;与其看各种爆料、不如从专利入手来看看苹果XR头显可能会有哪些不同的玩法。于是&#xff0c;我们就从苹果近年来有关AR/VR的数百篇专利中&#xff0c;选出可能会直接决定和影响XR产品体验的部分汇总出来。当然&#xff0c;这些专利不…

智警杯赛前学习2.1--sql概述

绝大多数分析岗位&#xff0c;需要sql功能 sql是架起通往其它工具的桥梁 DDL数据定义语言 DML数据操纵语言&#xff0c;主要包括&#xff1a;insert&#xff0c;delete&#xff0c;update DQL数据查询语言 DCL数据库控制语言 关系型数据库&#xff0c;类似excel的二维表 …

windows中同时安装两个不同版本的mysql

文章目录 前言解压mysql新建所需目录及文件配置my.ini文件安装配置mysql8.0.25dll丢失错误解决问题 修改注册表启动mysql登录后修改密码总结 前言 有的时候&#xff0c;你是用的mysql版本和公司使用的mysql版本不一致&#xff0c;这样就会导致你不得不在你的电脑上安装两个版本…

Ansible基础四——变量、机密、事实

文章目录 一、变量二、机密2.1 创建加密文件2.2 查看加密文件2.3 编辑加密文件内容2.4 加密现有文件2.5 解密文件2.6 更改加密密码 三、事实3.1 收集展示事实3.2 展示某个结果3.3 新旧事实命令3.4 关闭事实3.5 魔法变量 一、变量 常设置的变量&#xff1a; 要创建的用户要安装的…

设计模式之~中介者模式

简述&#xff1a; 中介者模式又叫做调停者模式。其实就是中间人或者调停者的意思。 中介者模式&#xff08;Mediator&#xff09;&#xff0c;用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互调用&#xff0c;从而式其耦合松散&#xff0c;而且可以独立…

hive实战案例讲解

系列文章目录 hive进阶——在centos7里面配置mysql&#xff0c;将原来hive的客户端扩展 centos集群上安装hive客户端的操作步骤以及hive介绍 文章目录 Hive 实战 1、需求描述 2、数据结构 1&#xff09;视频表 2&#xff09;用户表 3、准备工作 3.1、准备表 3.2、创…

基于ATMEGA16单片机的空调控制器

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87853101 源码获取 主要内容&#xff1a; 本系统采用AVR单片机实现汽车空调的自动控制&#xff08;双位控制&#xff09;&#xff0c;具有电路结构简单、分立元件…

【大数据基石】Hadoop环境搭建

文章目录 前言配置hosts关闭防火墙配置SSH免密下载Hadoop解压Hadoop到指定目录添加环境变量修改Hadoop配置文件core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlworkershadoop-env.sh 其他2台服务器也这样配置初始化NameNode启动hdfs启动Yarn启动历史记录服务器 ✨这里…

[中间件漏洞]tomcat漏洞复现

目录 Tomcat 远程代码执行漏洞&#xff08;CVE-2017-12615&#xff09; 漏洞描述 漏洞原理 漏洞复现 漏洞修复 tomcat弱口令&war远程部署 漏洞原理 漏洞复现 漏洞修复 Apache Tomcat文件包含漏洞(CVE-2020-1938&#xff09; 漏洞复现 漏洞修复 Tomcat 远程代码执行漏洞…

ffmpeg之AVFormatContext详细解释

AVFormatContext 作用 AVFormatContext主要起到了管理和存储媒体文件相关信息的作用。它是一个比较重要的结构体&#xff0c;在FFmpeg中用于表示媒体文件的格式上下文&#xff0c;其中包含了已经打开的媒体文件的详细信息&#xff0c;包括媒体文件的格式、媒体流的信息、各个媒…

1 行代码开启「密钥检测」,给敏感数据加上防护锁

&#x1f4a1; 近日&#xff0c;在「DevSecOps 软件安全开发实践」课程上&#xff0c;极狐(GitLab) 高级专业服务交付工程师韩飞、极狐(GitLab) 前端工程师任治桐&#xff0c;分享了密钥检测的背景、应用及处理&#xff0c;并演示了极狐GitLab 密钥检测功能&#xff0c;快用 1 …

视频文件损坏无需再苦恼!快速修复方法分享!

如今录制视频或者从互联网下载视频都很简单&#xff0c;这些视频可以从笔记本电脑、电视甚至智能手机上用于观看或上传到自媒体平台/社交平台。 但视频有时会出现损坏的问题&#xff0c;导致视频无法正常播放&#xff0c;出现这种情况怎么办&#xff1f; 导致视频文件损坏的原…

家居购项目 1.分页导航 2.购物车 3.订单生成

文章目录 &#x1f400;Java后端经典三层架构&#x1f407;MVC模型&#x1f407;开发环境搭建&#x1f407;会员注册&#x1f333;前端验证用户注册信息&#x1f333;思路分析&#x1f349;创建表&#x1f349;创建实体类&#x1f349;DAO&#x1f34c;MemberDAOImpl &#x1f…

怎么编辑pdf里面的文字?好用工具分享

PDF文件是一种非常常见的电子文档格式&#xff0c;它具有通用性、易分享、易打印的特点&#xff0c;因此广泛应用于各个领域中。然而&#xff0c;PDF文件通常是只读的&#xff0c;如果需要修改其中的文字&#xff0c;就需要使用专业的PDF编辑软件或者在线编辑工具。 市场上有很…

cuda编程学习——原子函数(十)

前言 参考资料&#xff1a; 高升博客 《CUDA C编程权威指南》 以及 CUDA官方文档 CUDA编程&#xff1a;基础与实践 樊哲勇 文章所有代码可在我的GitHub获得&#xff0c;后续会慢慢更新 文章、讲解视频同步更新公众《AI知识物语》&#xff0c;B站&#xff1a;出门吃三碗饭 …

文心一言 VS 讯飞星火 VS chatgpt (28)-- 算法导论5.1 3题

三、假设你希望以1/2的概率输出0与 1。你可以自由使用一个输出0或1的过程 BIASED-RANDOM。它以某概率 p 输出1&#xff0c;概率 1-p 输出0&#xff0c;其中 0<p<1 &#xff0c;但是 p 的值未知。请给出一个利用 BIASED-RANDOM 作为子程序的算法&#xff0c;返回一个无偏的…

pwm led

PWM Dimming (脉冲宽度调制) 调光——是一种利用简单的数字脉冲&#xff0c;反复开关灯光LED驱动器的调光技术。通过程序控制输出宽、窄不同的数字式脉冲&#xff0c;即可简单地实现改变输出电流&#xff08;电压&#xff09;&#xff0c;从而调节LED灯的亮度。 当PWM不是满占空…