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

IBM Cloud Functions: SQL syntax error while trying to connect to DB2

我在 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=*******"

我收到这个错误:

message : "[IBM][CLI Driver] CLI0199E Invalid connection string attribute. 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 }
 }
}

我希望连接并插入数据。

有人能帮忙吗?

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

其次,all connection attributes end with a ";"。在密码属性后加一

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