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

.net core 从.NET Core连接iSeries时遇到问题,.net-core,db2,iseries-navigator,.net Core,Db2,Iseries Navigator,在IBM论坛上与此交叉发布:。跟进问题如下: 大家好 我对这整件事都很陌生,所以如果有任何我没有提供的信息,请告诉我 目前,我只是想让最基本的工作——打开连接。我有一个精简的.NET核心项目,它只需公开一个我可以按下的按钮即可打开DB2连接。我的代码如下: using IBM.Data.DB2.Core; ... DB2Connection DB2Connection = new DB2Connection(connectionString); DB2Connection.SystemNa

在IBM论坛上与此交叉发布:。跟进问题如下:

大家好

我对这整件事都很陌生,所以如果有任何我没有提供的信息,请告诉我

目前,我只是想让最基本的工作——打开连接。我有一个精简的.NET核心项目,它只需公开一个我可以按下的按钮即可打开DB2连接。我的代码如下:

using IBM.Data.DB2.Core; 
... 
DB2Connection DB2Connection = new DB2Connection(connectionString); 
DB2Connection.SystemNaming = true; 
DB2Connection.Open();
"Server=###.###.###.###;Database=AAAA;UID=BBBB;PWD=CCCC;LibraryList=DDDD,EEEE;"
我的连接字符串如下所示:

using IBM.Data.DB2.Core; 
... 
DB2Connection DB2Connection = new DB2Connection(connectionString); 
DB2Connection.SystemNaming = true; 
DB2Connection.Open();
"Server=###.###.###.###;Database=AAAA;UID=BBBB;PWD=CCCC;LibraryList=DDDD,EEEE;"
我得到以下异常:

IBM.Data.DB2.Core.DB2Exception (0x80004005): ERROR [08001] [IBM] SQL30081N  A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "###.###.###.###". Communication function detecting the error: "connect". Protocol specific error code(s): "10061", "*", "*". SQLSTATE=08001
我真的不知道如何从这里开始。对于上下文-我使用“IBMNavigatorfori”直接查询信息,这对于我上面使用的IP、用户ID和密码非常有效

我读了一些书,尝试了一些不同的解决方案,但没有一个真正起到作用。在“将DB2 Universal Database for iSeries与for iSeries与Microsoft ADO.NET集成”中,我确实看到了这一点,它建议查看navigator的“工作管理”部分,并在“服务器作业”下查看是否有任何添加的信息,但似乎没有任何内容可看

我明白我可能需要一个许可证才能让这个连接正常工作,并接受如果这最终成为问题,我需要获得许可证——但我认为我还没有达到那个阶段。现在我只想确保连接本身正常工作


非常感谢您的帮助或见解。谢谢。

通过包含端口=xxx,解决了带有10061的症状SQL30081N;在连接字符串中,其中xxx是Db2-for-i-series侦听连接的正确TCP/IP端口号。

SQL30081N和10061是一个常见问题。找出i系列上Db2使用的端口号,并用port=xxx扩展连接字符串;(其中xxx是i系列Db2使用的端口号)。验证您的工作站上的MS Windows防火墙是否允许该端口号上的入站和出站TCP流量。您好,谢谢您的帮助。添加端口号使我更接近了一步。根据导航器,我现在能够实际处理DB2Connection.Open()——我在IPv4连接中的适当端口上看到一个条目,作业是“Prestart batch-Server”。进入该作业时,我看到“作业于20年9月18日16:20:49在子系统中开始。作业于20年9月18日16:20:49进入系统。”然而,此时我的应用程序只是挂起-它不会从.Open()部分继续。还有其他见解吗?如果您的原始症状(SQL30081N)现在已经解决,并且您有一个不同的新症状,那么您应该问一个不同的问题,显示您的新代码(打开后会发生什么)。如果您要开始编写新代码,请确保在尝试新代码之前已经有一些示例可以使用。确保您有异常处理程序,以便能够捕获、检查和报告抛出的任何异常。收到,mao将提出一个新问题。谢谢@毛-新问题在这里:。