0

私は UniData と Uniobjects の両方に慣れていないので、明らかなことを尋ねたら申し訳ありません。

UniData (v. 6.1) で動作する ERP (Manage2000) から連絡先をエクスポートし、AD/Exchange にインポートできるツールを作成しようとしています。

私が抱えている主な問題は、テーブル (ファイル?) のどのフィールド (列?) が何のためにあるのかわからないことです。この情報が含まれている辞書があることは知っていますが、そこから必要なものを取得する方法がわかりません。

Rocket の現在の UniData ドキュメントにコマンド LIST.METADATA があることがわかりましたが、使用している UniData のバージョンが古すぎてこのコマンドが含まれていないか、VOC から削除されたようです。不明な理由でファイルします。

どのフィールドがどのデータに対応しているかを知ることができるように、テーブルの構造を引き出す方法やヒントを知っている人はいますか?

前もって感謝します!

4

2 に答える 2

2

TCLでは:

LIST DICT contact.master

データベース ファイル名 (例: contact.master) は大文字と小文字が区別されることに注意してください。現時点では、出力例を提供するための UniData インスタンスはありません。ただし、ユニバースの出力に似ている必要があります。

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 の U2 Toolkit for .NET をチェックすることをお勧めします。

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

データベースにアクセスするための ADO.NET の方法を提供するだけでなく、U2.Data.Client.UO 名前空間の下に UniObjects ライブラリのより優れたパフォーマンス バージョンも備えています。

于 2015-08-11T17:06:42.847 に答える