我正在尝试运行一个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'
我听说它可能与我可能拥有的DB2驱动程序有关(该应用程序与本地驱动程序发生冲突,并且实际上不应该安装该驱动程序),但是我需要将其用于其他项目(这是一个新项目,具有是我必须工作的地方
我具有以下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;"
}
}
谢谢
答案 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,并且不需要您创建/填充密钥库)。