我尝试使用以下代码连接到远程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]
我在线查看了错误代码,但没有找到这个错误代码。任何人都知道为什么我会遇到它以及如何解决它?
答案 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上发布的同一问题中复制的。