首页 > 解决方案 > 从 .NET Core 连接到 iSeries 时遇到问题

问题描述

这是以下问题的后续:从 .NET Core 连接到 iSeries 时遇到问题

通过设置端口号解决了最初的问题。我现在遇到了连接看似打开的问题,但是,挂在实际.Open()步骤 - IE 上,永远不会继续下一行代码。作为参考,这是我的代码块:

public static DB2Connection GetDatabaseConnection(string connectionString)
{
    DB2Connection DB2Connection = new DB2Connection(connectionString);

    DB2Connection.SystemNaming = true;

    try
    {
    DB2Connection.Open();
    return DB2Connection;
    }
    catch (Exception ex)
    {
    throw ex;
    }
}

我的连接字符串是这种格式:Server=###.###.###.###:#####;Database=DATABASE;UID=USER;PWD=PASSWORD;LibraryList=LIBRARY,LIST

查看 i Navigator 上的日志,我看到Qzhqssrv打开时有一个作业名称,其中包含 user Quser、 statusRunning和 type Prestart batch - Server。查看该条目的日志,我看到Job #####/QUSER/QZHQSSRV started on DATE at TIME in subsystem QUSRWRK in QSYS. Job entered system on DATE at TIME. 然而,它似乎并没有继续下去。

查看类似操作的日志,当我通过 Access Client Solutions 连接时,我会在日志中获得更多信息和更多步骤。这让我相信系统正在等待我发送更多信息,但是,我的应用程序仍然卡住.Open()- 所以也许我应该在.Open()指令中发送其他内容。如果是这样,我不确定会是什么。

任何见解将不胜感激。谢谢!

标签: .net-coredb2db2-400iseries-navigator

解决方案


只是为了结束这个话题 - 问题确实是缺乏许可证。在端口 446 上连接是正确的方法,一旦我们获得许可证,我们就能够使连接正常工作。谢谢@nfgl!


推荐阅读