AS / 400 DDM服务未运行

时间:2019-01-04 06:33:11

标签: odbc ibm-midrange db2-400

我想从Windows PC到AS / 400 DB2服务器建立ODBC连接,并编写了VBA程序。但是我收到以下错误。

Remote port could not be resolved

然后,我用 CWSPING 检查服务器的状态,并得到以下结果:

I - Verifying connection to system 192.168.1.2...
I - Successfully connected to server application: Central Client
I - Successfully connected to server application: Network File
I - Successfully connected to server application: Network Print
I - Successfully connected to server application: Data Access
I - Successfully connected to server application: Data Queues
I - Successfully connected to server application: Remote Command
I - Successfully connected to server application: Security
E - CWBCO1011 - Remote port could not be resolved
E - CWBCO1008 - Unable to connect to server application DDM, returned 8407
I - Successfully connected to server application: Telnet
W - CWBCO1015 - Connection verified to system 192.168.1.2, but there were warnings

这意味着DDM服务在服务器上不起作用。 ODBC连接需要DRDA,它在DDM服务上运行,因此我认为运行DDM服务是建立ODBC连接的关键。所以我尝试了 STRTCPSVR *DDM 命令,但结果却如下

*DDM not valid for parameter SERVER

还尝试了 CHGDDMTCPA AUTOSTART(*YES) PWDRQD(*YES) 命令,但出现错误,我被卡住了。

Command CHGDDMTCPA in library *LIBL not found

是否有人想在AS400上启用DDM服务器?

  • 服务器:IBM AS400
  • 操作系统版本:V4R1

3 个答案:

答案 0 :(得分:1)

尝试STRHOSTSVR *DATABASE

STRHOSTSVR用于启动与IBM i Access和i Access Client解决方案相关联的服务器。

STRTCPSVR通常用于启动与TCP / IP关联的服务器,例如FTP,Telnet等。除HTTP Server以外,它是通过位于http://<server>:2001的Web管理站点启动的。

答案 1 :(得分:0)

除了@jmarkmurphy的答案:

  • 您可以轻松检查netstat *cnn的开放端口。
  • 实际上有一个名为* ddm的tcpsvr,但它与ODBC无关。
  • ODBC-Access仅需要主机服务器*数据库。主机服务器没有任何其他要求。
  • 要检查在tcp启动时启动了哪些服务,请对文件qusrsys / qatocstart使用strfdu,选项5。从那里,您可以轻松查看和更改应该开始什么,什么不应该开始。

答案 2 :(得分:0)

最后,我使用JDBC进行连接。我发现的摘要如下:

  • ODBC似乎正在使用DRDA(端口446),但是服务器没有DRDA / DDM服务
  • OLEDB似乎正在连接数据访问(端口8471),但发出未知错误
  • JDBC还连接了数据访问(端口8471),并且有效!

使用ODBC时遇到的第一个错误是“无法解析远程端口”。发生这种情况的原因似乎如下:

  1. ODBC要求服务器映射器(端口449)找到DRDA端口(它可能在服务器上更改)
  2. 服务器映射器找不到DRDA端口,因为该服务器没有DRDA服务
  3. ODBC显示“端口未解析”错误

然后,这次我尝试了OLEDB。它正确检查了用户名/密码,但发出未知错误。当我输入错误的密码时,它显示“密码错误”,这意味着OLEDB成功登录到服务器,但登录后出现了一些错误。

最后,我使用JDBC并成功连接!通常,连接URL类似于“ jdbc:as400://”,但显示错误。使用JDBC跟踪,似乎在登录服务器时出现问题。因此,我将URL更改为“ jdbc:as400://:8471”,然后终于连接了。调查跟踪,它直接访问端口8741并发送用户/密码并建立连接。我不知道细节,但是确实有用!

感谢您的帮助!