IBM Cloud Functions:尝试连接到DB2时出现SQL语法错误

时间:2019-05-23 02:28:50

标签: sql node.js db2 ibm-cloud ibm-cloud-functions

我在IbM Cloud Fucntions中创建了一个动作,以将数据插入DB2。

我使用IBM给出的凭证声明变量DSN。

var dsn = "DATABASE=BLUDB;HOSTNAME=dashdb-entry-yp-dal09-08.services.dal.bluemix.net;PORT=50000;PROTOCOL=TCPIP;UID=dash100113;PWD=*******"

我收到此错误:

  

消息:“ [IBM] [CLI驱动程序] CLI0199E无效的连接字符串属性。SQLSTATE = 08001”

这是我用来插入数据的代码:

function insertClient(dsn) {
 try {
    var conn=ibmdb.openSync(dsn);
    var data=conn.querySync("insert into client (name) values ('jamie')");
    conn.closeSync();
    return {result : data};
 } catch (e) {
     return { dberror : e }
 }
}

我希望连接并插入数据。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

首先,出于安全原因,您不应该对凭据进行硬编码。您可以使用IBM Cloud Functions命令将服务绑定到您的操作。您可以找到此tutorial that uses functions with various Db2 operations中提供的代码示例。通过避免使用硬编码的凭据,您也不会遇到复制和粘贴错误。

第二,all connection attributes end with a ";"。在password属性后面添加一个。

第三,尝试使用SSL连接而不是常规连接。