2016-05-19 11 views
1

OrientalDBの最新バージョンは、2.2 GAバージョンのOrientDBでテストしようとしています。以下の非常に簡単なコードを使用すると、エラーや例外は発生しませんが、コールバック関数からの出力もありません。また、OrientDBサーバーのログには何も表示されません(ローカルサーバー上で実行されており、Web GUI経由でアクセス可能です)。orientjsの基本的な問題のトラブルシューティング(node.jsのOrientDBドライバ)

var OrientDB = require('orientjs'); 

try { 
    var server = OrientDB({ 
    host: 'localhost', 
    port: 2424, 
    username: 'admin', 
    password: 'admin' 
    }); 
} catch(error) { 
    console.error('Exception: ' + error); 
} 

console.log('>> connected'); 

try { 
    server.list() 
    .then(function(dbs) { 
    console.log(dbs.length); 
    }); 
} catch(error) { 
    console.error('Exception: ' + error); 
} 

try { 
    var db = server.use({ 
    name: 'GratefulDeadConcerts', 
    username: 'admin', 
    password: 'admin' 
    }); 
} catch(error) { 
    console.error('Exception: ' + error); 
} 

console.log('>> opened: ' + db.name); 

try { 
    db.class.list() 
    .then(function(classes) { 
    console.log(classes.length); 
    }); 
} catch(error) { 
    console.error('Exception: ' + error); 
} 

db.close() 
.then(function() { 
    server.close(); 
}); 

この問題のトラブルシューティングを行うにはどうすればよいですか?

+0

ODBの古いバージョンを試しましたか? PHPの世界では、PHPドライバが新しいバイナリプロトコルに更新されていないため、ODB 2.2にも問題があります。 –

+0

ありがとうございます。そして、いいえ、私はそれを考えなかった。私はorientjsがODB 2.2と互換性があると仮定しました。私は試してみるが、そうならODBの誰かがこれを確認できるだろうか? – eric

答えて

2

私はユーザーとパスワードが間違っていると思います。ところで

あなたが約束を使用する必要がありますエラーをキャッチしたい場合は、このスクリプトで何が起こる

var OrientDB = require('orientjs'); 
    var server = OrientDB({ 
    host: 'localhost', 
    port: 2424, 
    username: 'admin', 
    password: 'admin' 
    }); 

    server.list() 
    .then(function(dbs) { 
    console.log(dbs.length); 
    }).catch(function(error){ 
    console.error('Exception: ' + error);  
    }); 

try/catchブロックの代わりにキャッチ?

var OrientDB = require('orientjs'); 
    var server = OrientDB({ 
    host: 'localhost', 
    port: 2424, 
    username: 'root', 
    password: 'root' 
    }); 

    var db = server.use({ 
    name: 'GratefulDeadConcerts', 
    username: 'admin', 
    password: 'admin' 
    }); 




    db.query('select from v limit 1') 
    .then(function(results) { 
    console.log(results) 
    server.close(); 

    }).catch(function(error){ 
     server.close(); 
    }); 
+0

助けてくれてありがとう。私の実際のコードでは、私は正常にWeb GUIにログインすることができるユーザー/パスを使用しているので、その部分はOKだと思います。しかし、そうでない場合は、私のログインが失敗したという例外が出ることが予想されます。私は約束を使うために変更を加えましたが、結果は同じです。私は何か間違っていると確信していますが、どんな種類の回答もありません - 良いか悪いか - 私は問題のトラブルシューティング方法を知らない。 – eric

+0

ericスクリプトを追加しました。私の箱では、それは動作します。あなたはそれを試すことができますか? – wolf4ood

+0

今日は後で試してみます。ところで、使用しているODBのバージョン(このスクリプトは動作しています)は何ですか? – eric