oracle数据加载工具(ODI)的Bind标签(“:”)和SQL语句之间的冲突_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4148 | 回复: 0   主题: oracle数据加载工具(ODI)的Bind标签(“:”)和SQL语句之间的冲突        下一篇 
匿名用户
发表于: IP:您无权察看 2011-12-26 12:12:47 | [全部帖] [楼主帖] 楼主

 

oracle数据加载工具(ODI)的Bind标签(“:”)SQL语句之间的冲突

适用于:

Oracle数据加载工具 – 版本:3.2.03.01及以上【发行版:3.2.03及以上】

本文档的说明适用于所有平台

目标

问题1:使用返回字符”:”的ODI变量会导致在执行的时候出现“缺少参数”的错误信息。这个变量的刷新语句是:

select to_char (#theProject.theVariable, 'dd/mm/yyyy hh24:mi:ss') from dual


问题2:当使用的字符”:”不在一个字符串中时出现语法错误

例如,在informix数据库中ODI变量的刷新语句是

select count(*) from myTable where myCol < datetime(99-07-01 08:45:01) year to second


解决方案:

字符”:”是用来解释ODI BIND变量的特殊标签。解决以上问题的方法如下:

问题1的解决方法:使用简单引用

例如

将语句

select to_char (#theProject.theVariable, 'dd/mm/yyyy hh24:mi:ss') from dual


改为:select to_char ('#theProject.theVariable', 'dd/mm/yyyy hh24:mi:ss') from dua

就可以避免这种问题的发生

问题2的解决方法:使用转义字符(“\”)来避免出现字符”:”

例如

将语句

select count(*) from myTable where myCol < datetime(99-07-01 08:45:01) year to second


改为:select count(*) from myTable where myCol < datetime(99-07-01 08\:45\:01) year to second

就可以避免这种问题的发生



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论