.net core 从.NET Core连接iSeries时遇到问题

.net core 从.NET Core连接iSeries时遇到问题,.net-core,db2,db2-400,iseries-navigator,.net Core,Db2,Db2 400,Iseries Navigator,这是以下问题的后续行动: 通过设置端口号解决了最初的问题。我现在遇到的问题是,连接似乎是打开的,但是,挂起了实际的.Open()步骤-IE,永远不会继续下一行代码。以下是我的代码块供参考: public static DB2Connection GetDatabaseConnection(string connectionString) { DB2Connection DB2Connection = new DB2Connection(connectionString); DB

这是以下问题的后续行动:

通过设置端口号解决了最初的问题。我现在遇到的问题是,连接似乎是打开的,但是,挂起了实际的
.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=#############:#######;数据库=数据库;UID=用户;PWD=密码;LibraryList=库,列表

查看i Navigator上的日志,我看到打开时有一个作业名
Qzhqssrv
,用户
qser
,状态
正在运行
,并键入
预启动批处理服务器
。查看该条目的日志,我看到
作业#######/QUSER/QZHQSSRV在QSYS的子系统qsrwrk中的日期开始。作业在时间的日期进入系统
。然而,它似乎并没有继续超过这一点

查看类似操作的日志,当我通过Access客户端解决方案连接时,我会在日志中获得更多信息和步骤。这让我相信,系统正在等待我发送更多信息,但是,我的应用程序仍然停留在
.Open()
-因此,可能还有其他东西我应该作为
.Open()
指令的一部分发送。如果是这样,我不确定会是什么


如有任何见解,将不胜感激。谢谢

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

您尝试连接到哪个端口?我认为好的答案是当您发布greeen screen
WRKSRVTBLE服务('drda')
(默认为446)时得到的答案。下一个问题可能是您需要许可证,无法帮助您,因为446确实存在许可证错误!如果我想在服务器上执行存储过程,446端口会被使用吗?对不起,我不确定Hey Kiran,我们目前在从.NET Core 3.1连接到DB2 iSeries时也面临问题。为了使事情正确:您是否使用该包访问了iSeries DB2?你最普遍的问题是港口和许可证?是的,那两个解决了。然而,当我们试图使用Azure Web服务使其正常工作时,遇到了一大堆无关紧要的问题。最后,我们放弃了web服务,转而使用Azure VM,因为我们无法获得使用web服务进行识别的许可证。感谢您提供的信息!