尝试使用节点sqlanywhere连接到远程sqlanywhere数据库时出错
我正在尝试使用以下代码连接到远程Sql Anywhere 12.01数据库:尝试使用节点sqlanywhere连接到远程sqlanywhere数据库时出错,sql,database,node.js,sqlanywhere,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' };
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。此外,服务器连接参数应该是服务器名称,而不是位置。您应该将“服务器”更改为“主机”,以指示主机名/端口
注意:此答案是从发布在上的同一个问题复制而来。回调函数应包含两个参数:err和result。如果err未定义,则表示连接成功,否则表示发生了什么错误。(在连接的情况下,结果总是未定义的。)您的代码应该如下所示:
...
conn.connect( conn_params, function( err, result ) {
if( err ) {
console.log( "Connection failed: "+err );
} else {
console.log( "Connected!" );
}
...
});
我必须将“let”改为“var”才能运行javascript。此外,服务器连接参数应该是服务器名称,而不是位置。您应该将“服务器”更改为“主机”,以指示主机名/端口
注意:此答案是从发布在上的同一问题复制而来。您不必先选择数据库吗?不知道。我的DBA刚才说我可以在一个特定的面向公众的IP:端口连接到数据库。我的代码基本上就是节点sqlanywhere自述文件中的代码。你不需要先选择一个数据库吗?不知道。我的DBA刚才说我可以在一个特定的面向公众的IP:端口连接到数据库。我的代码基本上与节点sqlanywhere readme中的代码完全相同。