Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1355555
  • 博文数量: 416
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 4258
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-23 22:13
文章分类

全部博文(416)

文章存档

2015年(7)

2014年(42)

2013年(35)

2012年(14)

2011年(17)

2010年(10)

2009年(18)

2008年(127)

2007年(72)

2006年(23)

2005年(51)

分类: Oracle

2013-05-16 13:56:22

Discoverer比较简单,会SQL和用过Excel的人都会搞;有麻烦的是安装和配置,我用的是4.1.37

Admin
安装的时候需要在Default Home,其他Home不行;如果实在不想装在Default Home,可以修改注册表的两个地方

如果先装6i,后装Discover,需要备份Bin目录下的UIW60.DLL,装完之后把UIW60.DLL拷贝回来;否则Form Builder起不来,需要重新安装或从别人那里拷贝UIW60.DLL

登录standard EUL用的是数据库用户;登录application EUL用的是Oracle OA用户,登录之后要选择职责,这样也就选择了OU,这个很关键,大部分业务视图都是需要过滤OU的,如果不以application 身分登录,意味着OA的VIEW我们要重写,改成基于基表,然后通过其他办法过滤OU,这个工作量太大

要以Application用户登录,首先要保证在Admin里面建的EUL是基于Application的,不是就删掉重建;然后需要在Tools->Option->Connection设置为Connect to application EUL或者Connect to both standard and application EUL,前者默认就以application身份登录,后者在登录的时候会出现一个Check Box让我们选择;Gareway User Id和Foundation Name不用填,系统默认用applsyspub和apps

4.1.37要以application身份登录,需要安装Patch,其实就一个登录验证文件fndpu115.dll(URL= http://metalink.oracle.com/metalink/plsql/ml2_documents.showNOT?p_id=251932.1&p_showHeader=1&p_showHelp=1),拷贝到DISCVR4目录下;否则报的错误让你无法理解

在Admin里面,如果用登录的用户自己创建EUL,可能会报“不能给自己Grant或Revoke权限”,可以换成system用户登录,然后建给需要的用户即可

Business Area可以在Admin里面导入导出,这个对发布很重要,注意导的时候也要用Application登录方式;Workbook可以通过命令行导出,但我用下来速度很慢,只好一个个手工发布了

在Admin里面建好Business Area,一定记得在Tools->Security里面把Business Area授权给相应的职责,不然用Desktop登录之后什么都看不到,当然导Workbook也会报错

创建基于Application的EUL的时候,我习惯选择Public选项,默认的Scheme选择APPS,否则在创建自定义的Folder需要加apps前缀

Admin中的Folder可以Refresh,这样可以反映对应VIEW的修改,菜单在File下

注册Function的时候,Function Name需要大写,Packge Name也需要大写,不然它会报Invalid Function

Discover会把NLS语言信息写在dis文件中(可以用二进制编辑软件打开查看),在不同的语言环境间发布报表会出现乱码。如果在注册表中把nls_name设为zhs16gbk,然后再开发report,可以同时满足简体和繁体的要求,其他语种我没有测试过

建EUL需用数据库用户(建完之后,该数据库用户就是EUL的Owner),至于建BA、Folder、Workbook,可以用Owner来创建,也可以通过其他用户来创建,这个只要在Tools->Privilage里面授予适当权限即可。

通常的做法是创建EUL、BA、Folder、Workbook用同一个用户,然后授权给其他用户

Desktop
安装,同上;装Admin的时候可以包含Desktop

设置登录方式,同上

补丁,同上

Workbook需要授权其他用户才可以看到;命令在File菜单里面。但是只有拥有Share权限的用户/职责才可以,这个需要在Admin里面设置

有操作上的问题可以参考:Oracle Discoverer Online Manuals,包括Discoverer Installation & Upgrade Guide,Discoverer Administration Guide,Discoverer Plus User Guide,后者有中文版,两个小时可以看完

SELECT * FROM dba_sys_privs WHERE grantee = 'DISADMIN'
DISADMIN ALTER ANY SNAPSHOT NO
DISADMIN ANALYZE ANY NO
DISADMIN CREATE ANY SNAPSHOT NO
DISADMIN CREATE PROCEDURE NO
DISADMIN CREATE TABLE NO
DISADMIN CREATE TYPE NO
DISADMIN CREATE VIEW NO
DISADMIN DROP ANY SNAPSHOT NO
DISADMIN ENQUEUE ANY QUEUE NO
DISADMIN EXECUTE ANY INDEXTYPE NO
DISADMIN EXECUTE ANY LIBRARY NO
DISADMIN EXECUTE ANY OPERATOR NO
DISADMIN EXECUTE ANY PROCEDURE NO
DISADMIN EXECUTE ANY TYPE NO
DISADMIN EXTENDS ANY TYPE NO
DISADMIN GLOBAL QUERY REWRITE YES
DISADMIN SELECT ANY SEQUENCE NO
DISADMIN SELECT ANY TABLE NO
DISADMIN UNLIMITED TABLESPACE NO



http://kiswind.itpub.net/category/24770/47390
阅读(1130) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~