我尝试使用以下代码连接到远程 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/