私はUniDataにまったく慣れていないので、実際にいくつかのポインターを探しています...
UniData DB からテーブルをプルした後です (それが正しい用語である場合は??)。最も簡単な方法は、UniObjects API と UniData に組み込まれているように見える XML を使用してこれを行うことです。
ただし、API を使用すると XML は返されず、空の XML エラーだけが返され、UniCommand.command を使用すると何も返されず、コマンド ステータス 0 だけが返されます。
ここにはいくつかの矛盾する情報があるようです - 一部の開発者ガイドは、XML がファイルに書き込まれ、クライアントに返されないことを示唆していますか?
ポインタはありますか?
乾杯、
カイ。
更新 - いくつかのコード...
U2Connection con = new U2Connection();
U2ConnectionStringBuilder conn_str = new U2ConnectionStringBuilder();
try
{
conn_str.UserID = "BLAH-BLAH";
conn_str.Password = "BLAH-BLAH";
conn_str.Server = "BLAH-BLAH";
conn_str.AccessMode = "Native"; // FOR UO
conn_str.RpcServiceType = "udcs"; // FOR UO
conn_str.Database = "BLAH-BLAH";
conn_str.ServerType = "UNIDATA";
conn_str.Pooling = false;
con.ConnectionString = conn_str.ToString();
}
catch (Exception ex)
{
}
con.Open();
UniSession us = con.UniSession;
UniCommand unicmd = us.CreateUniCommand();
unicmd.Command = "LIST ASSET_REPORT";
unicmd.Execute();
Console.Write(unicmd.CommandStatus + Environment.NewLine);
Console.Write(unicmd.Response);
Console.Write(Environment.NewLine + "Done...");
Console.ReadKey();
con.Close();
確認のために、上記のコードを使用して、コマンドを実行し、その出力を取得できます。ただし、コマンドを「LIST ASSET_REPORT TOXML」のようなものに変更すると (私が見つけたすべてのガイドに従って)、何も返されません。同様に、UniXML 関数を使用すると、次のようになります。
UniXML xml = us1.CreateUniXML();
xml.GenerateXML("LIST DICT ASSET");
DataSet ds = xml.GetDataSet();
私が得るのは空のデータセットの例外だけですか?