簡體   English   中英

如何生成和理解UniData表中的字段名稱列表

[英]How to generate and understand a list of field names in a UniData table

我對UniData和Uniobjects都是新手,所以如果我提出明顯的要求,我深表歉意。

我正在嘗試編寫一種工具,該工具可使我從在UniData(v。6.1)上運行的ERP(Manage2000)中導出聯系人,然后將其導入AD / Exchange。

我遇到的主要問題是我不知道表(文件?)中的哪些字段(列?)用於什么。 我知道有一個字典中包含此信息,但是我不確定如何從中獲取想要的信息。

我發現Rocket當前的UniData文檔中有一個命令LIST.METADATA,但似乎我們正在使用的UniData版本太舊以至於它沒有此命令,或者已從VOC中將其刪除。文件由於某些未知原因。

有誰知道如何或有任何技巧來拔出表的結構,以便使我知道哪些字段用於什么數據?

提前致謝!

在TCL:

LIST DICT contact.master

請注意,數據庫文件名(例如:contact.master)區分大小寫。 我目前沒有UniData實例來提供示例輸出。 但是,它應該類似於Universe的輸出:

Field......... Type & Field........ Conversion.. Column......... Output Depth &
Name.......... Field. Definition... Code........ Heading........ Format Assoc..
               Number

AMOUNT.WEBB    A    1               MR22         Amt WEBB        10R    M
PANDAS.COST    A    3               MD2Z         Pandass Cost    10R    M
CREDIT.EXP.DT  A    6               D4/          Cred Exp Date   10R    M

對於上面的示例,通常可以通過查看轉換代碼來告知字段的“數據類型”。 “ D4 /”是日期的轉換代碼。 “ MD2Z”是一個數字轉換代碼,我們可以猜測它是針對貨幣金額的。 我不了解轉換代碼的功能,因此請務必參考Rocket的文檔以獲取這些代碼,以真正了解這些字段將輸出什么。 如果您前面沒有文檔,也可以參考此站點:

http://www.koretech.com/kr_help/KU2/30/en/KMK_Prog_Conversions.htm

如果要使用UniObjects和C#來檢索文件中的字段名稱,則可以使用以下代碼:

UniCommand fieldSelectCommand = activeSession.CreateUniCommand();
fieldSelectCommand.Command = "SELECT DICT contact.master";
fieldSelectCommand.Execute();
UniSelectList resultList = activeSession.CreateUniSelectList(0);
String[] allFieldNames = resultList.ReadListAsStringArray();

回答了您的問題后,如果您主要是要從數據庫中選擇數據而不是讀取和處理單個記錄,那么我也建議您檢查Rocket的.NET U2工具包:

http://www.rocketsoftware.com/products/rocket-u2-toolkit-net

它不僅提供了一種訪問數據庫的ADO.NET方法,而且還具有U2.Data.Client.UO命名空間下UniObjects庫的更高性能版本。

在我看來,《詞典》是對架構應如何表現的建議。 但是,在某些情況下,它不是100%准確的。 您可以運行“ LIST CONTACT.MASTER TOXML TO MYFILE.XML”,這將創建一個您可以解析的xml文件。

有關更多信息,請參見https://u2devzone.rocketsoftware.com/accelerate/articles/u2-xml/u2-xml#section-0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM