从 .NET Core 连接到 iSeries 时遇到问题
Having trouble connecting to iSeries from .NET Core
在 IBM 论坛上交叉发帖:https://www.ibm.com/mysupport/s/forumsquestion?id=0D50z00006egDnsCAE. Follow-up question located here:
大家好,
我对这整件事还很陌生,如果有任何我没有提供的信息会有所帮助,请告诉我。
目前我只是想让最基本的工作正常进行 - 打开连接。我有一个精简的 .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 和密码来说效果很好。
我已经阅读了一些资料,并尝试了一些不同的解决方案,但 none 确实很有帮助。我确实在“Integrating DB2 Universal Universal Database for iSeries with for iSeries with Microsoft ADO .NET”中看到,它建议查看导航器的“工作管理”部分,并在“服务器作业”下检查是否有任何添加的信息 - 但是, 似乎没有什么可看的。
我知道我可能需要许可证才能使此连接正常工作,并且接受如果这最终成为问题,我将需要获得许可证 - 但我认为我没有达到那个阶段了。现在我只想确保连接本身正常工作。
非常感谢任何帮助或见解。谢谢。
带有 10061 的症状 SQL30081N 已通过包含 PORT=xxx; 得到解决;在连接字符串中,其中 xxx 是 Db2-for-i-series 侦听连接的正确 TCP/IP 端口号。
在 IBM 论坛上交叉发帖:https://www.ibm.com/mysupport/s/forumsquestion?id=0D50z00006egDnsCAE. Follow-up question located here:
大家好,
我对这整件事还很陌生,如果有任何我没有提供的信息会有所帮助,请告诉我。
目前我只是想让最基本的工作正常进行 - 打开连接。我有一个精简的 .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 和密码来说效果很好。
我已经阅读了一些资料,并尝试了一些不同的解决方案,但 none 确实很有帮助。我确实在“Integrating DB2 Universal Universal Database for iSeries with for iSeries with Microsoft ADO .NET”中看到,它建议查看导航器的“工作管理”部分,并在“服务器作业”下检查是否有任何添加的信息 - 但是, 似乎没有什么可看的。
我知道我可能需要许可证才能使此连接正常工作,并且接受如果这最终成为问题,我将需要获得许可证 - 但我认为我没有达到那个阶段了。现在我只想确保连接本身正常工作。
非常感谢任何帮助或见解。谢谢。
带有 10061 的症状 SQL30081N 已通过包含 PORT=xxx; 得到解决;在连接字符串中,其中 xxx 是 Db2-for-i-series 侦听连接的正确 TCP/IP 端口号。