sql - 尝试使用 node-sqlanywhere 连接到远程 sql Anywhere 数据库时出现奇怪的错误

标签 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("Connected!") 触发,所以我假设我已经连接到远程数据库?但是,我所做的任何查询都会导致以下结果:

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

网上查了一下错误码,没有找到这个。有人知道我为什么会遇到这种情况以及如何解决它吗?

最佳答案

回调函数应该有两个参数: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 上发布的同一问题复制的.

关于sql - 尝试使用 node-sqlanywhere 连接到远程 sql Anywhere 数据库时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32750620/

相关文章:

php - MYSQL 查询 - 基于同一表中另一列中的 DISTINCT 值从一列返回所有值的简单方法?

MySQL 搜索查询 INNER JOIN 将 id_image 字段结果限制为每个 id_product 1 个

sql - T-SQL - 左外连接 - where 子句与 on 子句中的过滤器

c++ - C++ 计算时的多个 SQL 查询

javascript - 需要在async find操作里面修改json和return

node.js - nodejs (nodejs.org/) 经验/评论

javascript - promise : How to return a value from a "then" block of "Promise.all" back to the invoking code?

php - 一个html表中的双重查询[PHP/mysql]

mysql - "Text"列在从 Blob 转换为文本后仍然显示数据为 "[BLOB - 225B]"?

java - 使用Spring进行数据库和网页集成