### 前言
在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