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

时间:2019-02-28 12:27:49

标签: node.js db2 driver db2-luw

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

  

[2019-02-28T09:20:35.400] [错误] [Ldap配置]-{错误:[IBM] [CLI   驱动程序] SQL30081N在网络通信中出错。   协议使用权:“ SSL”。 API API   商品用途:“袜子”。 Ubicacióndonde se   ha encontrado el错误:“”。侦探社区   错误:“ sqlcctcpconnr”。错误的特殊说明   协议:“ 202”,“ ”,“ ”。 SQLSTATE = 08001

     

错误:[],错误:“ [node-odbc] SQL_ERROR”,消息:“ [IBM] [CLI   驱动程序] SQL30081N在网络通信中出错。   协议使用权:“ SSL”。 API API   商品用途:“袜子”。 Ubicacióndonde se   ha encontrado el错误:“”。侦探社区   错误:“ sqlcctcpconnr”。错误的特殊说明   协议:“ 202”,“ ”,“ ”。 SQLSTATE = 08001 \ r \ n',状态:“ 08001”,
  sqlcode:-30081} [2019-02-28T09:20:35.400] [WARN]日志-[2月28日,星期四   2019 12:20:35 GMT [clf]]-否-“ GET   / auth / sso / callback?scope = openid&code = 7wZVobhvNcVMeF3df3v9JWAI6pwFwf“   302 80 1141 ms'

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

我具有以下DB2版本

  

DB21085I发行日期为codigo的la instancia“ DB2” utiliza“ 64”位   de DB2“ SQL09074”确认为“ 08050107”。拉斯   信息儿子“ DB2 v9.7.400.501”,“ s110330”,“ IP23238” y   FixPack“ 4”。安装了“ C:\ PROGRA〜1 \ IBM \ SQLLIB”   DB2“ DB2COPY1”的子目录。

老实说我对这个错误迷失了。任何帮助将不胜感激。

----------更新-------------

添加服务器/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;"
    }
  }  

谢谢

1 个答案:

答案 0 :(得分:0)

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

如果使用基于云的数据库(无论是用于飞行中的数据还是静态数据),许多公司都希望对其数据库通信进行加密。一些行业要求这样做。

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

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

您最好的选择就是忍耐:安装并使用最新的V11.1.4.4 Db2-client,可以从IBM Passport Advantage下载(或在公司内获得)。无论如何,您的公司可能会被迫进行此Db2客户端升级。虽然您需要仔细测试,但也可以在同一台计算机上安装多个Db2客户端,并在它们之间进行切换。

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

如果您希望使用Db2 v9.7.4客户端(以查看它是否可以与dashdb一起使用SSL-可能不可以!),请参见here。 IBM在旧版本中没有做到这一点,这是升级的原因之一(因为当前版本不需要单独安装GSK,并且不需要您创建/填充密钥库)。