首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UniObjects .NET OpenSession()套接字异常

UniObjects .NET OpenSession()套接字异常
EN

Stack Overflow用户
提问于 2011-11-03 15:08:03
回答 1查看 1.7K关注 0票数 1

我正试图在我的计算机上运行一个示例,该示例打包在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)

代码语言:javascript
复制
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地址,也可以收到回复。

我错过了推荐信吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-04 12:35:04

我设法找出了问题的真相。它没有正确引用IBMU2.UODOTNET.dll文件。

我想是因为它没有在我的机器上注册。

这就是我如何正确注册DLL在我的机器(经过一些研究!)。

  1. 下载全局程序集缓存工具(Gacutil.exe) 医生来了
  2. 打开命令提示符
  3. cd到包含gacutil.exeUODOTNET.DLL文件的目录
  4. 在命令行中输入以下内容: gacutil.exe -i uodotnet.dll /nologo

消息返回的意思是“成功地添加到缓存中”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7997213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档