資料形式
資料形式代表模型中的資料。資料形式是一組已命名的欄位定義和相關中繼資料。資料形式中的每一個欄位都有一種資料類型。ThingWorx 有一組已定義的基礎類型。
* 
在 ThingWorx 中,某些保留的名稱無法用作資料形式欄位名稱。例如,ThingShape
資料形式可協助您建立應用程式,因為當應用程式耗用資料時,應用程式可透過「資料形式」定義,來從內部瞭解如何表示資料集。例如,如果您要將資料放入混搭中的格點,格點就會根據資料形式定義知道資料的樣貌。格點會知道哪些欄位是數字、字串或日期。配置格點呈現資料的方式時,資料集的此類知識可使組態作業變得容易許多。
提供有專為儲存資料而建立的特定物件:串流、值串流與資料表。定義資料儲存物件時,您必須定義資料形式 (值串流除外)。
資料形式不僅可作為串流、值串流和資料表的定義,還可用於其他情況。當您需要描述資料集,也可使用資料形式。例如,為服務實行定義 infotable 輸出時,您可使用資料形式來描述輸出結果集。您可以擁有 infotable 類型的物件內容,您也可以指定描述內容的資料形式。
定義資料形式的欄位時,必須將至少其中一個欄位標記為主索引鍵。如果您使用 MSSQL 作為持續性提供者,主索引鍵值的長度 (如果將多個欄位標記為主索引鍵,則為主索引鍵值的合併長度) 限制為 128 個字元。如果所設定的值長度超過 128 個字元,會顯示下列其中一個錯誤訊息,具體取決於您使用的 MSSQL 版本:
MSSQL 2019:
Unable to Invoke Service AddDataTableEntries on testDataTable :
java.lang.RuntimeException: com.thingworx.common.exceptions.DataAccessException:
[1,018] Data store unknown error: [Error occurred while accessing the data provider.]
MSSQL 2017:
Unable to Invoke Service AddDataTableEntries on testDatatable :
java.lang.RuntimeException: com.thingworx.common.exceptions.DataAccessException:
[22,001] String or binary data would be truncated.
欄位定義基礎類型
基礎類型
描述
BASETYPENAME
有效的 BaseType 名稱。
BLOB
二進位大型物件。
BOOLEAN
true 或 false 值。
DASHBOARDNAME
儀表板名稱。
DATASHAPENAME
模型中的資料形式參照,因此具有特殊的處理方式。
DATETIME
格式化的日期和時間。
GUID
具有全域性的唯一識別元。
* 
如果將 GUID 用作基礎類型,則建議設定 GUID 值。不能留空 (預設)。
GROUPNAME
使用者群組名稱。
HTML
HTML 內容。
HYPERLINK
標準 URL (例如,www.ptc.com)。
IMAGE
可以圖像形式呈現的二進位資料。
IMAGELINK
連接至圖像的 URL 連結。
INFOTABLE
ThingWorx 中類似於 SQL 結果集的資料標準表示。有一些可建構、耗用和剖析資料負載的內建服務。
INTEGER
寫入時不包含分數部份的數字。
JSON
JavaScript 物件標記法物件。
LOCATION
標準「世界大地測量座標系統 (WGS)」84 座標,表示方式是:[經度, 緯度], 海拔。
LONG
需要提供的範圍比 INTEGER 基礎類型更長時,應使用 LONG 類型。
MASHUPNAME
ThingWorx 混搭的參照,因此具有特殊處理方式。
MENUNAME
選單名稱。
NOTHING
不包含任何內容 (無效)。
NUMBER
數字。
* 
允許使用指數值。例如,123e45
PASSWORD
遮罩密碼值。如需詳細資訊,請參閱密碼。如需加密方法的相關資訊,請參閱加密
QUERY
內含一系列「篩選器」的 JSON 物件。每個篩選器應包含「值」、「類型」和「檔案名稱」。
SCHEDULE
Cron 式排程,使用「排程編輯器」配置。
STRING
任意數量的字母數字字元。
STYLETHEMENAME
樣式主題參照,因此具有特殊處理方式。
TAGS
ThingWorx 標籤值。
TEXT
任意數量的字母數字字元。與 STRING 的不同之處在於 TEXT 為索引形式。
THINGCODE
包含 DomainID 和 InstanceID 的物件的數字表示。例如,2:1。
THINGNAME
物件參照,因此具有特殊處理方式。
THINGSHAPENAME
模型中的物形式參照,因此具有特殊的處理方式。
THINGTEMPLATENAME
物範本的名稱。
TIMESPAN
TimeSpan 物件表示以正或負天數、小時數、分鐘數、秒數量測的時間間隔 (持續時間或已過時間)。
USERNAME
系統中使用者定義的 ThingWorx 參照。
VEC2
兩組數字的集合。例如,2D 座標 x 和 y。
VEC3
三組數字的集合。例如,3D 座標 x、y 和 z。
VEC4
四組數字的集合。例如,4D 座標 x、y、z 和 w。
XML
XML 片段或文件。
更新現有資料形式
如果您要在定義現有資料形式之後予以更新 (變更欄位定義、類型或主索引鍵),請考慮下列影響:
可於變更資料形式後插入資料。但是,新列將對應至新資料形式定義。
在變更資料形式後插入資料時,主索引鍵可以運作,但系統仍然驗證現有索引鍵的完整性。執行插入作業時,透過將所有標記為主索引鍵的欄位值 (依欄位定義順序) 串連至一個稱為 key 的欄位來建立索引鍵值。
若在變更資料形式後查詢列,可將欄位名稱及類型完美對應至結果集。如果現有列與類型或欄位名稱不相符,系統仍會將列納入集合,但不包含值。
這是否有幫助?