我正试图在我的计算机上运行一个示例,该示例打包在C:\IBM\UniDK\uonet\samples\C#目录中。该项目的名称是UniSelectList。
这个精确的代码,只在我们的一台机器上工作得很好。
起初,我认为它可能是对DLL文件IBMU2.UODOTNET的错误引用,但是即使从工作机器获取DLL文件也不允许它运行。
每台机器都在同一个网络上,所有防火墙都被禁用。
这是我们正在收到的异常消息:
IBMU2.UODOTNET.UniRPCConnection.set_Host(String!SystemNo这样的主机是knownIBM U2ErrorCode=81011主机名无效,或者主机没有响应--来源: UniRPCConnection类方法:在IBMU2.UODOTNET.UniSession.Connect()处的set_Host(System.String)
using System;
using IBMU2.UODOTNET;
namespace IBMU2.Samples.UniSelectListSample
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class UniSelectListSample
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
UniSession us1=null;
try
{
us1 = UniObjects.OpenSession("92.0.0.1","username","password","play/PLAYSMD","uvcs");
UniSelectList sl = us1.CreateUniSelectList(2);
// Select UniFile
UniFile fl = us1.CreateUniFile("SLCUST");
sl.Select(fl);
bool lLastRecord = sl.LastRecordRead;
while(!lLastRecord)
{
string s = sl.Next();
Console.WriteLine("Record ID:" + s);
lLastRecord = sl.LastRecordRead;
}
}
catch(Exception e)
{
if(us1 != null && us1.IsActive)
{
UniObjects.CloseSession(us1);
us1= null;
}
Console.WriteLine("");
string s = "Connection Failed : " + e.Message;
Console.WriteLine(s);
}
finally
{
if(us1 != null && us1.IsActive)
{
Console.WriteLine("");
string s = "Connection Passed";
Console.WriteLine(s);
UniObjects.CloseSession(us1);
}
Console.ReadLine();
}
}
}
}我可以平IP地址,也可以收到回复。
我错过了推荐信吗?
发布于 2011-11-04 12:35:04
我设法找出了问题的真相。它没有正确引用IBMU2.UODOTNET.dll文件。
我想是因为它没有在我的机器上注册。
这就是我如何正确注册DLL在我的机器(经过一些研究!)。
cd到包含gacutil.exe和UODOTNET.DLL文件的目录消息返回的意思是“成功地添加到缓存中”。
https://stackoverflow.com/questions/7997213
复制相似问题