环境:BIEE11G .7 oracle数据库
目的:外部用户表利用回写修改密码
1.创建外部用户表
2.RPD导入用户表,最好新建个连接池并命名好,后面配置文件需要用到。
禁用高速缓存,为了能实时获得数据库最新数据。
3.拖入业务层,复制用户表并建立逻辑关联
直接确定。
逻辑表关键字输入PK 列选择userid
4.业务层密码列勾选可写。
5.拖入展示层,设置回写列权限读写
6.管理-身份--对应连接池设置可执行直接数据库请求允许。
7.配置回写文件
路径:instances\instance3\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\analyticsRes\customMessages
(没有customMessages就创建一个) 新建updateuserinfo.xml文件(名字自定义)
内容:
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="WriteBack"> --回写模板名字,前端开启回写需要用到
<XML>
<writeBack connectionPool="WriteBack"> --导入用户表时所使用的连接池名称
<insert> </insert>
<update>
UPDATE GB_USERINFO
SET PASSWORD = '@2'
WHERE USERID = '@1'
</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
注意几点:
1.<insert> </insert> 如果只使用update,不使用insert 那么insert 中 > < 中间必须有空格。
2.@1 @2 为列所在位置,或者在高级XML中查看columnID写入其中@{XXX}。
再.7中开启回写还需要配置一处文件
路径:instances\instance3\config\OracleBIPresentationServicesComponent\coreapplication_obips1\instanceconfig.xml
增加:
<LightWriteback>true</LightWriteback>
配置完成,重启服务
8.前端管理权限--回写对应用户角色开启权限
9.新建分析,拖入列,密码列属性回写--开启回写 确定。
10.在结果中编辑视图,表属性--回写--启用回写,写入之前配置好的模板名称,确定
11. .7中需要点击更新才能回写,更改密码点击完成。
对应数据库密码已修改。