尝试使用node-sqlanywhere连接到任何db的远程sql时出现奇怪的错误

时间:2015-09-23 22:37:26

标签: sql database node.js sqlanywhere

我尝试使用以下代码连接到远程Sql Anywhere 12.01数据库:

    let sqlanywhere = require('sqlanywhere');

    let conn = sqlanywhere.createConnection();


    let conn_params = {
        Server : 'server:port',
        UserId : 'user',
        Password : 'pass'
    };

    conn.connect(conn_params, function() {
        console.log("Connected!");
        conn.exec('select * from cases', function (err, result) {
            if (err) {
                console.log(err);
            } else {
                console.log(result);
            }

        });
    });

我的console.log("已连接!")会触发,因此我假设我已连接到远程数据库?但是,我所做的任何查询都会产生这样的结果:

[Error: Code: -2001 Msg: Invalid Object]

我在线查看了错误代码,但没有找到这个错误代码。任何人都知道为什么我会遇到它以及如何解决它?

1 个答案:

答案 0 :(得分:0)

回调函数应该有两个参数:err和result。如果未定义err,则连接成功,否则表示发生了错误。 (在连接的情况下,结果将始终未定义。)您的代码应如下所示:

...
conn.connect( conn_params, function( err, result ) {
   if( err ) {
      console.log( "Connection failed: "+err );
   } else {
      console.log( "Connected!" );
   }
   ...
});

我不得不将“let”更改为“var”以使javascript运行。此外,您的服务器连接参数应该是服务器名称,而不是位置。您应该将“服务器”更改为“主机”以指示主机名/端口。

注意:此答案是从sqlanywhere-forum.sap.com上发布的同一问题中复制的。