楼主: xxzhaobb

求助:PLSQL挂EBS上,运行出现“ORA-01847”错误,有经验的Puber帮忙下.....

[复制链接]
论坛徽章:
15
NBA常规赛纪念章
日期:2013-04-22 11:49:35NBA季后赛纪念徽章
日期:2013-06-21 14:52:05ITPUB社区12周年站庆徽章
日期:2013-10-08 14:54:39马上加薪
日期:2014-10-23 16:03:28马上有对象
日期:2014-12-22 11:23:38知识
日期:2015-08-11 10:22:26知识
日期:2015-08-11 10:34:17秀才
日期:2015-09-21 09:46:16
31#
 楼主| 发表于 2012-3-15 08:44 | 只看该作者
Concurrent Program参数p_begin_date,p_end_date的value set 那里设置成 FND_STANDARD_DATE;

谢谢楼上的。
我刚把Value Set设置成了 FND_STANDARD_DATE。
发现运行报表后,输入的时候,会把时间格式化成 01-feb-2012。
但是在运行的请求结果中看。变成了2012/02/01 00:00:00 这种格式。

这个时间格式,应该以那个为准?

有点犯迷糊了。
可是无论Value Set设置成什么。在运行请求的时候,系统都会转换成 01-feb-2012这种格式 。


Help。

其他的我还在修改测试。


使用道具 举报

回复
论坛徽章:
15
NBA常规赛纪念章
日期:2013-04-22 11:49:35NBA季后赛纪念徽章
日期:2013-06-21 14:52:05ITPUB社区12周年站庆徽章
日期:2013-10-08 14:54:39马上加薪
日期:2014-10-23 16:03:28马上有对象
日期:2014-12-22 11:23:38知识
日期:2015-08-11 10:22:26知识
日期:2015-08-11 10:34:17秀才
日期:2015-09-21 09:46:16
32#
 楼主| 发表于 2012-3-15 08:47 | 只看该作者
俺 纳闷了。
在CMD下使用 sqlplus命令查询  select sysdate from dual, 出现的结果,
和在PLSQL Developer中查询的结果不一样。
这个怎么解释 。
谢谢

使用道具 举报

回复
论坛徽章:
647
ITPUB元老
日期:2008-08-30 16:46:0819周年集字徽章-周
日期:2024-05-14 22:58:15蓝锆石
日期:2024-06-16 23:12:18萤石
日期:2024-06-16 23:12:27祖母绿
日期:2024-06-16 23:12:35海蓝宝石
日期:2024-06-16 23:12:45紫水晶
日期:2024-06-16 23:12:53
33#
发表于 2012-3-15 08:59 | 只看该作者
Package中以它传入的请求结果中看。变成了2012/02/01 00:00:00 这种格式 为准

使用道具 举报

回复
论坛徽章:
647
ITPUB元老
日期:2008-08-30 16:46:0819周年集字徽章-周
日期:2024-05-14 22:58:15蓝锆石
日期:2024-06-16 23:12:18萤石
日期:2024-06-16 23:12:27祖母绿
日期:2024-06-16 23:12:35海蓝宝石
日期:2024-06-16 23:12:45紫水晶
日期:2024-06-16 23:12:53
34#
发表于 2012-3-15 09:01 | 只看该作者
这个01-feb-2012跟Oracle里面设置的date类型格式有关,跟你本地select格式无关,它实际在package里面传入的是转换成2012/02/01 00:00:00传入后台package的

使用道具 举报

回复
论坛徽章:
15
NBA常规赛纪念章
日期:2013-04-22 11:49:35NBA季后赛纪念徽章
日期:2013-06-21 14:52:05ITPUB社区12周年站庆徽章
日期:2013-10-08 14:54:39马上加薪
日期:2014-10-23 16:03:28马上有对象
日期:2014-12-22 11:23:38知识
日期:2015-08-11 10:22:26知识
日期:2015-08-11 10:34:17秀才
日期:2015-09-21 09:46:16
35#
 楼主| 发表于 2012-3-15 09:15 | 只看该作者
zqcai 发表于 2012-3-15 09:01
这个01-feb-2012跟Oracle里面设置的date类型格式有关,跟你本地select格式无关,它实际在package里面传入的 ...

那这个要怎么修正比较好 。谢谢。

使用道具 举报

回复
论坛徽章:
15
NBA常规赛纪念章
日期:2013-04-22 11:49:35NBA季后赛纪念徽章
日期:2013-06-21 14:52:05ITPUB社区12周年站庆徽章
日期:2013-10-08 14:54:39马上加薪
日期:2014-10-23 16:03:28马上有对象
日期:2014-12-22 11:23:38知识
日期:2015-08-11 10:22:26知识
日期:2015-08-11 10:34:17秀才
日期:2015-09-21 09:46:16
36#
 楼主| 发表于 2012-3-15 09:18 | 只看该作者
zqcai 发表于 2012-3-15 08:59
Package中以它传入的请求结果中看。变成了2012/02/01 00:00:00 这种格式 为准

但是我在系统中运行其他正常的报表。显示的请求里面的时间格式是  01-feb-2012



使用道具 举报

回复
论坛徽章:
647
ITPUB元老
日期:2008-08-30 16:46:0819周年集字徽章-周
日期:2024-05-14 22:58:15蓝锆石
日期:2024-06-16 23:12:18萤石
日期:2024-06-16 23:12:27祖母绿
日期:2024-06-16 23:12:35海蓝宝石
日期:2024-06-16 23:12:45紫水晶
日期:2024-06-16 23:12:53
37#
发表于 2012-3-15 09:50 | 只看该作者
本帖最后由 zqcai 于 2012-3-15 09:51 编辑

这是我个人理解,不是很清晰,还往高手指点
1.EBS Application上本身就有Date格式设置:一般默认的都是dd/mmm/yyyy
所以运行报表时候输入Date 参数将显示为15-Mar-2012
在登录EBS后web 主页的点击Preferences连接进去设置
;
2.在CMD下使用 sqlplus命令查询  select sysdate from dual,
出现的结果应该是根据数据库服务器所设置语言(一般是American UTF-8)下该Date格式:
15-3月-2012 (这里好像还跟你本机是简体还是繁体还是英文操作系统设置有关)
3.PLSQL Developer上本身就有设置Date格式显示格式,但它好像一般都根据你本机电脑设置的日期(桌面右下角的日期)格式有关:
直接与本机控制台设置Date格式
2012-03-15

alter session set nls_language='AMERICAN';
alter session set NLS_DATE_LANGUAGE = 'ENGLISH'
这些都可以session中人为修改日期格式

使用道具 举报

回复
论坛徽章:
647
ITPUB元老
日期:2008-08-30 16:46:0819周年集字徽章-周
日期:2024-05-14 22:58:15蓝锆石
日期:2024-06-16 23:12:18萤石
日期:2024-06-16 23:12:27祖母绿
日期:2024-06-16 23:12:35海蓝宝石
日期:2024-06-16 23:12:45紫水晶
日期:2024-06-16 23:12:53
38#
发表于 2012-3-15 09:53 | 只看该作者
xxzhaobb 发表于 2012-3-15 09:18
但是我在系统中运行其他正常的报表。显示的请求里面的时间格式是  01-feb-2012

你这个其它报表设置的Date value set不是FND_STANDARD_DATE,跟它格式有差异

使用道具 举报

回复
论坛徽章:
647
ITPUB元老
日期:2008-08-30 16:46:0819周年集字徽章-周
日期:2024-05-14 22:58:15蓝锆石
日期:2024-06-16 23:12:18萤石
日期:2024-06-16 23:12:27祖母绿
日期:2024-06-16 23:12:35海蓝宝石
日期:2024-06-16 23:12:45紫水晶
日期:2024-06-16 23:12:53
39#
发表于 2012-3-15 10:53 | 只看该作者
FND_STANDARD_DATE 格式就是 登录EBS后web 主页的点击Preferences连接进去设置
Date格式设置:一般默认的都是dd/mmm/yyyy

使用道具 举报

回复
论坛徽章:
647
ITPUB元老
日期:2008-08-30 16:46:0819周年集字徽章-周
日期:2024-05-14 22:58:15蓝锆石
日期:2024-06-16 23:12:18萤石
日期:2024-06-16 23:12:27祖母绿
日期:2024-06-16 23:12:35海蓝宝石
日期:2024-06-16 23:12:45紫水晶
日期:2024-06-16 23:12:53
40#
发表于 2012-3-15 12:21 | 只看该作者
就按30楼这样1.改下package的参数类型,package里面再把字符转回date;
2.concurrent program上改下value set为FND_STANDARD_DATE就可以了,
你只要明白Oracle Procedule Report最终传入的参数是“2012/02/01 00:00:00”格式的字符型数据(它不会传日期进去)给Package,所以才需要参数和传入参数匹配的修改,,其它之类的你也不要去把设置更改什么。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表