Mirth调用存储过程报错.ORA-01861: 文字与格式字符串不匹配

这种绝对是日期的错误,要进行日期格式转换,具体呢需要自己一步步测试

上业务场景

function func_CreateCardPatInfo(request) {var ret = new XML("<response></response>");ret["returncode"] = "22002";var TransCode =msg['ControlActProcess']['Request']['TransCode'].toString()  ;var CardType =msg['ControlActProcess']['Request']['CardType'].toString()  ;var CardNo =msg['ControlActProcess']['Request']['CardNo'].toString() ;var PatientName =msg['ControlActProcess']['Request']['PatientName'].toString() ;var Sex =msg['ControlActProcess']['Request']['Sex'].toString() ;var Birthday1 =msg['ControlActProcess']['Request']['Birthday'].toString() ;var Birthday2 = Birthday1.replace(/-/g, "/");var Birthday = new java.text.SimpleDateFormat("yyyy/MM/dd").parse(Birthday2);var Age =msg['ControlActProcess']['Request']['Age'].toString() ;var IDCardNo =msg['ControlActProcess']['Request']['IDCardNo'].toString() ;var BankCardNo =msg['ControlActProcess']['Request']['BankCardNo'].toString() ;var Identity =msg['ControlActProcess']['Request']['Identity'].toString() ;var Charge_Type =msg['ControlActProcess']['Request']['Charge_Type'].toString() ;var nation =msg['ControlActProcess']['Request']['nation'].toString() ;var Tel =msg['ControlActProcess']['Request']['Tel'].toString() ;var UserId =msg['ControlActProcess']['Request']['UserId'].toString() ;var Amt =msg['ControlActProcess']['Request']['Amt'].toString() ;var Password =msg['ControlActProcess']['Request']['Password'].toString() ;var Fingerprint1 =msg['ControlActProcess']['Request']['Fingerprint1'].toString() ;var Fingerprint2 =msg['ControlActProcess']['Request']['Fingerprint2'].toString() ;var hisid =msg['ControlActProcess']['Request']['hisid'].toString() ;var ActDate1 =msg['ControlActProcess']['Request']['ActDate'].toString() ;var ActDate2 = ActDate1.replace(/-/g, "/");var ActDate = new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse(ActDate2);var SerNo =msg['ControlActProcess']['Request']['SerNo'].toString() ;$c("1CardNo",CardNo);$c("3PatientName",PatientName );$c("4Sex",Sex );$c("5Birthday",Birthday);$c("6IDCardNo",IDCardNo);$c("9Amt",Amt);$c("11Tel",Tel);$c("12UserId",UserId);$c("13ActDate",ActDate);$c("14TransCode",TransCode);$c("15CardType",CardType);$c("16Age",Age);$c("19Identity",Identity);$c("20Charge_Type",Charge_Type);$c("22nation",nation); var conn = GetConnection("HISDB");var connection = conn.getConnection();var statement = connection.prepareCall("{ call billservice.pkg_autobillservice.proc_createcardpatinfo(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");statement.setObject(1, CardNo ); //cardnostatement.setObject(2, UserId); //hisidstatement.setObject(3, PatientName );  //patientnamestatement.setObject(4, Sex ); //sexstatement.setObject(5, new java.sql.Timestamp(Birthday.getTime()));  //birthdaystatement.setObject(6, IDCardNo ); //idcardnostatement.setObject(7, SerNo );  //secritynostatement.setObject(8, '' ); //cardsernostatement.setObject(9, Amt ); // amtstatement.setObject(10, '' );//addressstatement.setObject(11, Tel );  //telphonestatement.setObject(12, UserId );  //useridstatement.setObject(13, new java.sql.Timestamp(ActDate.getTime()));  //actdatestatement.setObject(14, TransCode ); //trannostatement.setObject(15, CardType );//cardtypestatement.setObject(16, Age ); //agestatement.setObject(17, Fingerprint1);  //fingerprint1statement.setObject(18, Fingerprint2 );//fingerprint2statement.setObject(19, Identity );  //identitystatement.setObject(20, Charge_Type );//charge_typestatement.setObject(21, BankCardNo );//bankcardno  statement.setObject(22, nation ); //nation statement.registerOutParameter(23,java.sql.Types.VARCHAR); //resultcode statement.registerOutParameter(24,java.sql.Types.VARCHAR);  //errormsgstatement.registerOutParameter(25,java.sql.Types.VARCHAR); //seridstatement.registerOutParameter(26,java.sql.Types.VARCHAR); //patient_idstatement.registerOutParameter(27,java.sql.Types.VARCHAR); //sickidstatement.execute();ret["ResultCode"] = statement.getString(23);ret["ErrorMsg"] = statement.getString(24);ret["PatientID"] = statement.getString(25);ret["TranFlow"] = statement.getString(26);ret["SickID"] = statement.getString(27);return ret;
}

1代码分析:

1.正则表达式1998-08-02和1998/08/02之间转换

var Birthday1 =msg['ControlActProcess']['Request']['Birthday'].toString() ;
var Birthday2 = Birthday1.replace(/-/g, "/");

2.日期格式转换

var Birthday = new java.text.SimpleDateFormat("yyyy/MM/dd").parse(Birthday2);
 statement.setObject(5, new java.sql.Timestamp(Birthday.getTime()));  //birthday

​Mirth调用存储过程报错ORA-01861: 文字与格式字符串不匹配​相关推荐

  1. oracle插入时间报错,Oracle 插入时间时 报错:ORA-01861: 文字与格式字符串不匹配 的解决办法...

    一.写sql的方式插入到Oracle中 往oracle中插入时间  '2007-12-28 10:07:24' 如果直接按照字符串方式,或者,直接使用to_date('2007-12-28 10:07 ...

  2. Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹配

    这个错误一般出现在时间字段上,即插入的时间格式和数据库现有的时间格式不一致,如:直接使用to_date('2007-12-28 10:07:24'),没有指定日期格式,会报错 . 解决的方法是格式化插 ...

  3. 08 ORA系列:ORA-01861 文字与格式字符串不匹配

    如果希望对常见的Oracle异常ORA报错解决方案有系统的了解,请看<ORACLE系列异常总结ORA>. 现象:Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹 ...

  4. ORA-01861: 文字与格式字符串不匹配

    select to_date('20160401000000','yyyy-mm-dd') from dual; ---------- 报错:ORA-01861: 文字与格式字符串不匹配 原因:字符串 ...

  5. Oracle ORA-06861: 文字与格式字符串不匹配 记录两次无助的遭遇:存储过程直接执行正常,java调用存储过程则报错

    一天之内,出现了两次这样的尴尬遭遇:将参数直接放到存储过程中执行时,程序运行正常,但是通过java程序去调用数据库存储过程时,就抛出异常.我和我的同事分别遇到了一次,但是,原因却大不相同. 先说说我的 ...

  6. oracle文字与格式字符串不匹配的解决

    oracle文字与格式字符串不匹配的解决  Oracle的日期时间类型 在往oracle的date类型插入数据的时候,记得要用to_date()方法. 如insert into CUSLOGS(STA ...

  7. Orcal数据库中ORA-01861: 文字与格式字符串不匹配

    今天在比对数据库表中的时间发生了ORA-01861:文字与格式字符串不匹配的错误. 开始我以为sql语句写错了,仔细检查了一下,并没有发现错误,后来看了表中的时间字段存的数据,发现有的是2015-2- ...

  8. Oracle sql 错误 : ORA-01861: 文字与格式字符串不匹配和日期与字符串互转问题解决

    Oracle sql 错误 : ORA-01861: 文字与格式字符串不匹配和日期与字符串互转问题解决 参考文章: (1)Oracle sql 错误 : ORA-01861: 文字与格式字符串不匹配和 ...

  9. mybatis调用存储过程报错The error occurred while setting parameters

    最近项目用mybatis调用存储过程,在使用的过程中出现了一个错误:The error may involve com.stockcommission.dao.CommissionMapper.par ...

最新文章

  1. ccf a类会议_ISCA#39;21截稿在即,阿里或成为国内在该会议上的最大赢家!
  2. 基于pxe+dhcp+ks实现自动安装系统
  3. 强化学习(六)---基于无模型强化学习方法
  4. C/C++中调用api设置mysql连接的编码方式
  5. 30分钟学会使用grunt打包前端代码
  6. mysql日志管理_关于MySQL的日志管理(binlog)
  7. 【VB.NET】测验题目Quiz4
  8. python c++ 批量命名文件夹内的图像
  9. Excel 单元格 自定义格式详解
  10. crt软件(crt软件安装)
  11. 放弃了又何需执着 ?
  12. python点击按钮打开游戏_Python如何入门?直接按这个方式玩炸弹超人小游戏,就能掌握编程...
  13. 开机输入用户名密码时弹出被调用对象已与其客户端断开连接解决方法
  14. java多线程 注意事项_多线程使用及注意事项
  15. FTP服务器、部署YUM仓库与NFS共享服务
  16. git --allow-unrelated-histories
  17. 5G笔记| 概述:5G网络架构(NSA/SA组网)、无线资源控制RRC、语音通话
  18. 什么是低代码-甲骨文对低代码的定义
  19. java编程语言基础外文,Java编程语言基础.ppt
  20. Opencascade可视化--视图渲染流程分析

热门文章

  1. JVM是如何执行方法调用的?
  2. 11 虚函数【C++】
  3. 微信小程序(看文档写实例五)微信小程序课堂宝APP实现获取签到列表
  4. 单身的看过来啦~圣诞节的圣诞树源码在这里,快做了发给喜欢的对象
  5. jQuery选择器探究:TAG选择器和CLASS选择器
  6. Qt编写安防视频监控系统9-自动隐藏光标
  7. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
  8. matlab画出衰减振荡曲线,matlab程序题复习程序.doc
  9. 前端歌谣的刷题之路-第一百三十九题-flex-order
  10. 机器人暑假班招生推文_暑假班招生活动方案