1

在 IBM 论坛上与此交叉发布:https ://www.ibm.com/mysupport/s/forumsquestion?id=0D50z00006egDnsCAE 。后续问题位于此处:从 .NET Core 连接到 iSeries 时遇到问题

大家好,

我对这件事很陌生,所以让我知道是否有任何有用的信息,我没有提供。

目前我只是想让最基本的工作 - 让连接打开。我有一个精简的 .NET Core 项目,它只是公开一个我可以按下的按钮,它可以打开 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;"

我收到以下异常:

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

我真的不知道如何从这里开始。对于上下文 - 我正在使用“IBM Navigator for i”直接查询信息,这对于我上面使用的 IP、用户 ID 和密码来说效果很好。

我做了一些阅读,并尝试了一些不同的解决方案,但没有一个真正有帮助。我确实在“Integrating DB2 Universal Universal Database for iSeries with for iSeries with Microsoft ADO .NET”中看到了这一点,它建议查看导航器的“工作管理”部分,并在“服务器作业”下查看是否有任何添加信息 - 但是,它似乎没有什么可看的。

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

非常感谢任何帮助或见解。谢谢你。

4

1 回答 1

1

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

于 2020-09-19T09:51:01.830 回答