UniObjects .Net不返回任何XML

时间:2013-01-08 23:42:51

标签: .net xml unidata uniobjects

正在寻找一些指针,因为我对UniData来说是全新的......

我是从UniData数据库中拉出一个表(如果这是正确的术语?)。最简单的方法是使用XML来实现这一点,XML似乎内置于UniObjects API和UniData中。

然而,当使用API​​时,不返回XML,只返回一个空的XML错误,并且在使用UniCommand.com时根本不返回任何内容,只返回命令状态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();

我得到的只是空数据集异常吗?

1 个答案:

答案 0 :(得分:0)

原则上你的代码没有任何问题。我已经针对我的UniData服务器测试了你的代码(当然还有更改文件名等),我没有收到任何错误。我也可以毫无问题地使用TOXML和UniXML方法GenerateXML()。返回的XML数据完全符合我的预期。

请与我们分享以下信息:

  • 所有发生错误消息的详细信息。
  • 您正在使用的UniData版本和UniData所基于的操作系统。
  • 调用Execute()方法后unicmd.Response的值是多少?您是引用空文件还是只返回根标签?

这确实是你尚未与我们分享导致问题的原因。

格伦