如何为我的NodeJS应用程序解决此DB2驱动程序错误?

问题描述 投票:0回答:1

我正在尝试运行一个nodejs应用程序,它使用节点模块ibm_db并连接到IBM Cloud上的db2 db。当我尝试运行它时,我收到以下错误消息

[2019-02-28T09:20:35.400] [错误] [Ldap配置] - {错误:[IBM] [CLI驱动程序] SQL30081N检测到通信错误。正在使用的通信协议:“SSL”。正在使用的通信API:“SOCKETS”。找到错误的位置:“”。检测到错误的通信功能:“sqlcctcpconnr”。协议特定的错误代码:“202”,“”,“”。 SQLSTATE = 08001

errors:[],error:'[node-odbc] SQL_ERROR',message:'[IBM] [CLI Driver] SQL30081N检测到通信错误。正在使用的通信协议:“SSL”。正在使用的通信API:“SOCKETS”。找到错误的位置:“”。检测到错误的通信功能:“sqlcctcpconnr”。协议特定的错误代码:“202”,“”,“”。 SQLSTATE = 08001 \ r \ n',状态:'08001', sqlcode:-30081} [2019-02-28T09:20:35.400] [WARN] log - [星期四,2019年2月28日12:20:35 GMT [clf]] - false - “GET / auth / sso / callback?scope = openid&code = 7wZVobhvNcVMeF3df3v9JWAI6pwFwf“302 80 1141 ms'

我听说它可能与我可以拥有的DB​​2驱动程序有关(应用程序与本地驱动程序冲突,实际上它不应该安装)但是我需要它用于其他项目(这是一个我用它的新项目)需要工作)

我有以下DB2版本

DB21085I“DB2”实例使用“64”位,DB2代码版本“SQL09074”,级别标识符为“08050107”。信息信号是“DB2 v9.7.400.501”,“s110330”,“IP23238”和FixPack“4”。该产品安装在“C:\ PROGRA~1 \ IBM \ SQLLIB”中,DB2副本名称为“DB2COPY1”。

老实说,我错过了这个错误。任何帮助都感激不尽。

---------- UPDATE -------------

添加server / config / dev.json

"sso": {
      "authorization_url": "/idaas/oidc/endpoint/default/authorize",
      "token_url": "/idaas/oidc/endpoint/default/token",
      "issuerId": "https://prepiam.toronto.ca.ibm.com",
      "callback_url": "/auth/sso/callback",
      "clientId": secret
      "clientSecret": secret
    },
    "slack": {
      "webhookURL": "https://hooks.slack.com/services/more_secret_stuff?"
    },
    "db2": {
      "dsn": "DATABASE=BLUDB;HOSTNAME=dashdb-entry-yp-dal10-01.services.dal.bluemix.net;PORT=50001;PROTOCOL=TCPIP;UID=id;PWD=pass;Security=SSL;"
    }
  }  

谢谢

node.js db2 driver db2-luw
1个回答
0
投票

dashdb允许您使用(或不使用)SSL(TLS)连接到其数据库。

如果使用基于云的数据库,许多公司都希望加密他们的数据库通信,无论是在飞行中还是在静止时。一些行业要求这样做。

dashdb可能需要最低版本的TLS(SSL),例如v1.2。

我不知道Db2 v9.7.4 Windows客户端是否支持TLSV12,如果不支持,SSL握手是否可以成功为dashdb协商较低版本。如果没有,那么您的选项是升级或不加密。

您最好的选择可能是硬着头皮:安装并使用当前的V11.1.4.4 Db2客户端,您可以从IBM Passport Advantage下载(或进入您的公司)。无论如何,您的公司可能会被迫在某个时候进行Db2客户端升级。也可以在同一台机器上安装多个Db2客户端,并在它们之间进行切换,尽管您需要仔细测试。

您可以从IBM获取dashdb证书,有时可以从Web控制台下载。

如果你希望坚持使用Db2 v9.7.4客户端(看看它是否可以用于dashdb的SSL - 它可能不会!),该版本的说明是here。 IBM在旧版本中并不容易,这是升级的一个原因(因为当前版本不需要单独安装GSK,也不需要您创建/填充密钥库)。

© www.soinside.com 2019 - 2024. All rights reserved.