tibco 调用存储过程(参数为date)备忘

Tibco 版本是5.5

1. tibco 调用数据库的存储过程, 如果参数A 类型为date, 如果传递给参数A 的数值是空字符串, 那么将会报:Input data invalid 的错误.

   这是由于参数A 需要的是一个date 类型的参数, 即使这个参数是空字符串或NULL 也不行!

   要解决这个问题, 可以用一种折中的方法(google 到的), 建立一个optional 的date 变量B, 这个变量不用赋予任何值, 需要的是这个变量B 的类型.

   判断存储过程传递给参数A 的值是否为空, 如果为空, 就把变量B 赋予参数A, 由于变量B 是date 类型的, 就不会出现 Input data invalid 这种问题了.

   ps: 注意参数A 的 statement 设置, 一般参数A 的图标如: (右下角有个红色的圆圈), 如果没有, 就要编辑参数A 的statement, 点击 , 编辑参数A 的statement, 如下图:

  


    另外的处理方式: 如果这个字段是非必要的,我们可以在其上面加一层“if 判断”,如

          

        “if判断” 里面判断参数是否为空,或者count(参数) 是否大于0,或者string-length(参数) 是否大于0。

        然后就可以直接无所顾忌的输入参数或者转换参数了。


2. tibco 调用数据库的存储过程, timeout 设置存在bug, 如果设置超过6秒(这个时间还待考证), 是无效的.

  • 如果timeout 设置4, 存储过程执行是5秒, 抛出超时异常.
  • 如果timeout 设置6, 存储过程执行是5秒, 程序顺利执行.
  • 如果timeout 设置6秒, 存储过程执行7秒, 程序卡住.
  • 如果timeout 设置10秒, 存储过程执行7秒, 程序顺利执行.
  • 如果timeout 设置10秒, 存储过程执行15秒, 程序卡住.
  • 如果timeout 设置20秒, 存储过程执行15秒, 程序顺利执行

   别的不说了, 一句话, timeout 设置的数字越大越好, 你不用指望超时设置了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值