### 前言
在TC 中,
Persistent Class 和 Table 是对应的关系。
定义一个Persistent的Class , updatedb 的时候就会产生对应的table.
在TC 的开发环境中, 使用一个username . 对应的会在这个username 下产生一个table
在正式环境中, 因为使用到 adm, su ,可key 三个username, 所以在这三个username 下都会生成相应的table.
具体数据保存在哪一张table 中, 就看Class 的定义是继承自哪(如果继承自admin的话, 自然就保存在admin 对应的username下)
之后使用QueryDbObject 对Class 进行查询。
查询的时候可以设置一个Scope 的参数
SC_SCOPE_OF_SESSION -- 在当前user 对应的table 中查询(基本上是su)
SC_SCOPE_WHERE_NECESSARY -- 在所有user 对应的table 中查询
除了QueryDbobject 的方式外, TC 还提供了 QueryDbView 的方式Query View 中的数据。
这个View 不需要对应到一个Persistent 的Class, 而是一个View 就可以了。
那么, 这种开发如何进行呢? 要注意什么状况呢?
### Query View
1. 首先, 定义 db view
~~~
CREATE OR REPLACE FORCE VIEW "VTEST" AS
SELECT
ATT AS ATT,
'-' AS CreationDate ,
'-' AS CurDbName ,
'-' AS LastUpdate ,
'-' AS OBID ,
NULL AS Recycled ,
NULL AS SEIndexLanguageList ,
NULL AS ZBlob ,
'VTEST' AS Class
FROM
View SQL;
~~~
这里的ATT代笔需要定义的一个attribute
这里注意的是, 处理定义需要的attribute 外, 还需要定义一些系统使用的attribute
2. 其次, 定义动态的class
~~~
define dynamic class VTEST with parent PdmRoot;
{
attach ATT;
}
~~~
3. 定义好之后, View 里面有数据了。就可以使用QueryDbView的方式进行数据查找了。
在正式环境中,
1. 如果创建View 的SQL 在三个db 中都有执行的话, 使用 SC_SCOPE_WHERE_NECESSARY 这个scope 进行query ,
数据就会重复(三笔)
2.如果创建View 的SQL 只在su db 中有执行的话,使用 SC_SCOPE_WHERE_NECESSARY 这个scope 进行query, 就会报找不到table 的错误。
所以好的方式是 ,在su db 中创建view , 使用 SC_SCOPE_OF_SESSION 进行query
###
###
- 前言
- 国内外PLM/PDM厂商情况
- PLM系统与选择
- Teamcenter及其一揽子产品解决方案初步介绍
- Teamcenter 开发利器组合介绍。 Eclipse + Visual Studio
- TeamCenter开发系统设计系列之一
- linux下自动部署Teamcenter Enterprise 的服务端脚本
- Teamcenter 入门开发系列问答(1)
- PLM基本概念收集
- Teamcenter 入门开发系列问答(2)
- Teamcenter 入门开发系列问答(3)
- Teamcenter 入门开发系列问答(4)
- Teamcenter 入门开发系列问答(5)
- Teamcenter开发问题之-- relation 无法创建 and 无法check in
- Teamcenter(Enterprise 2007) Admin 手法之 -- 移除relation
- Teamcenter 2007 之 Part 物件关联
- Teamcenter 2007之错误信息提示
- Teamcenter(Enterprise 2007) 开发之- 快速搭建开发环境(windows)
- Teamcenter 开发中的一些问题
- Teamcenter - Index search 找不到相关物件的解决方法
- Teamcenter2007 安装步骤
- [Teamcenter 2007 开发系列] 整合Extjs 展现页面组件
- Teamcenter2007 开发环境搭建和技巧
- [Teamcenter 2007 开发系列] web 非空验证
- [Teamcenter 2007 开发实战] 获取错误或提示信息
- Teamcenter Web 端自动登录 (SSO)
- [Teamcenter 2007 开发实战] 调用web service
- [码海拾贝 之TC] 呼叫外部应用程序或脚本
- [码海拾贝 之TC] 使用View 定义动态的Class