起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 147|回复: 12

【搞定】有关语义策略起作用的前提?**

[复制链接]
发表于 2007-8-6 09:52:47 | 显示全部楼层 |阅读模式
请问,语义策略起作用的前提是什么,目前碰到的一种情况,Table1是生成过数据字典,其中字段A是定义了语义策略,一般情况下的使用,语义策略是起作用的,但是如果数据集改成

SELECT USERID FROM
(SELECT A AS USERID FROM TABLE1
UNION
SELECT 0 AS USERID FROM DUAL)

语义就不能起作用了。

我还测试过,不生成数据字典Table1,那么语义也是不起作用的。
上述的例子需怎么处理才可应用到。
回复

使用道具 举报

发表于 2007-8-6 10:19:45 | 显示全部楼层
平台对sql语句有解析,通过解析sql从数据集定位到了平台中的逻辑表。

如果sql过于复杂(如使用了Union),平台无法解析,则策略不会生效


楼主可以在数据集上创建数据字段,设置它的来源字段属性为:table1的字段a
这样可以帮助系统定位字段,使策略生效。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-6 11:17:17 | 显示全部楼层
我在字段编辑器定义了数据字段,引用了这个字段,也在字段编辑器这里的引用元素引用了,但还是不起作用。然后我尝试在数据表中引用了这个元素,仍然不起作用。
回复 支持 反对

使用道具 举报

发表于 2007-8-6 12:10:17 | 显示全部楼层
签入、刷新缓存。

另外,也可以看一下对象查看器中这个数据字段的属性定义。
回复 支持 反对

使用道具 举报

发表于 2007-8-6 12:11:53 | 显示全部楼层
字段编辑器定义了数据字段,引用了这个字段,也在字段编辑器这里的引用元素引用了

设置 OriginField了吗?需要连接的实际那个表的那个字段
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-6 13:58:02 | 显示全部楼层

都做了,但还是不行

设置可以看下图,缓存,签入那些是做过的,MonitorLog.sqb中看到是没有起作用的。

1.jpg

67.69 KB, 下载次数: 65

回复 支持 反对

使用道具 举报

发表于 2007-8-6 14:33:03 | 显示全部楼层
不是MonitorLog,是对象查看器

ctrl+alt+shift+O
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-6 20:25:14 | 显示全部楼层
看过,定义和字段编辑器是一致的,但是看策略中并没有应用,而去掉UNION,可以看到策略中是应用的,如果我在去掉UNION的情况下,再额外加上来源字段,那么这个策略又会没了。我重复试验很多中方式,始终搞不定。
回复 支持 反对

使用道具 举报

发表于 2007-8-7 09:08:48 | 显示全部楼层
如果我在去掉UNION的情况下,再额外加上来源字段,那么这个策略又会没了。


是不是这个字段引用错了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-7 10:31:26 | 显示全部楼层
如果同样的字段,如人员ID,在几个表都有,那么正确的来源字段是选SQL语句的那个表还是可以选择其他表?
我是多个表都尝试过,但是不起作用。不论是在数据表上先定义元素再引用,还是先引用再在字段编辑器中定义这个数据字段的元素,都不起作用,只要删掉UNION和来源字段,那么我怎么定义它都是应用了策略,请问有没有办法知道他为什么不能应用策略,因为这个策略对总体的开发是很重要的。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-13 17:38 , Processed in 0.041034 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表