Получение странной ошибки, пытающейся подключиться к удаленному sql в любом месте db с помощью node-sqlanywhere

57
7

Я пытаюсь подключиться к удаленной базе данных 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]

Я просмотрел коды ошибок онлайн и не нашел этого. Кто-нибудь знает, почему я могу это испытывать и как я могу это исправить?

спросил(а) 2015-09-24T01:37:00+03:00 4 года, 12 месяцев назад
1
Решение
98

Функция обратного вызова должна принимать два параметра: 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.

ответил(а) 2015-09-24T19:58:00+03:00 4 года, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема