2014-01-24 3 views
1

Я пытаюсь использовать базу данных Neo4j в качестве базы данных в службе Azure Mobile. Я следил за this tutorial, и я не могу заставить его работать. В основном, что делает учебное пособие:Neo4j в Azure мобильных услугах

  • Создает виртуальную машину, размещенную Azure, запущенную ubuntu и neo4j.
  • Создает мобильную службу Azure с таблицей SQL.
  • Записывает скрипт вставки для таблицы SQL, который использует node.js для подключения к VM Neo4j и мимо данных.

К сожалению, моя работа не работает. Данные отправляются в таблицу SQL мобильных услуг, но сценарий для публикации на сервер Neo4j на виртуальной машине не работает. Я также знаю, что виртуальная машина настроена правильно, потому что я могу подключиться к ней на странице администрирования Neo4j.

Вот код сценария:

function insert(item, user, request) { 
    //comment to trigger .js creation 
    var neo4j = require('neo4j'); 
    var db = new neo4j.GraphDatabase('http://<username>:<password>@http://neo4jmobile.cloudapp.net:7474'); 
    var node = db.createNode({ name: item.name }); 
    node.save(function (err, node) { 
     if (err) { 
      console.error('Error saving new node to database:', err); 
     } 
     else { 
      console.log('Node saved to database with id:', node.id); 
     } 
    }); 

    request.execute(); 

} 

Есть ли какой-либо один опыт с этим? Что-то не так с моим сценарием? С подходом к учебникам? Любая помощь будет оценена по достоинству.

EDIT: возникла проблема с линией: console.err('Error saving new node to database:', err);, которая должна была быть заменена console.err('Error saving new node to database:', err);. Однако теперь я получаю это сообщение об ошибке:

Error saving new node to database: { [Error: connect ETIMEDOUT] 
    stack: [Getter/Setter], 
    code: 'ETIMEDOUT', 
    errno: 'ETIMEDOUT', 
    syscall: 'connect', 
    __frame: 
    { name: 'GraphDatabase_prototype__getRoot__1', 
    line: 76, 
    file: '\\\\10.211.156.195\\volume-0-default\\bf02c8bd8f7589d46ba1\\4906fa4587734dd087df8e641513f602\\site\\wwwroot\\App_Data\\config\\scripts\\node_modules\\neo4j\\lib\\GraphDatabase.js', 
    prev: 
     { name: 'GraphDatabase_prototype_getServices__2', 
     line: 99, 
     file: '\\\\10.211.156.195\\volume-0-default\\bf02c8bd8f7589d46ba1\\4906fa4587734dd087df8e641513f602\\site\\wwwroot\\App_Data\\config\\scripts\\node_modules\\neo4j\\lib\\GraphDatabase.js', 
     prev: [Object], 
     active: false, 
     offset: 5, 
     col: 12 }, 
    active: false, 
    offset: 5, 
    col: 12 }, 
    rawStack: [Getter] } 

Снова любая помощь будет оценена!

+0

Вы видите что-нибудь в журналах вашего мобильного сервиса? – Chris

+0

Ваш адрес неправильный. Это должно быть: http: // : @ neo4jmobile.cloudapp.net: 7474' –

+0

@MichaelHunger У меня есть URL-адрес, к сожалению, это не проблема. –

ответ

1

Хорошо, мне удалось разобраться. Проблема заключалась в том, что у учебника (и документации для neo4j для node.js) была опечатка. Код должен был быть console.error(), а не console.err().

1

Вы включили управление источником и npm установили модуль neo4j?

Миранда

+0

Я сделал. Я получал ошибку в журналах Ошибка в скрипте '/ table/person.insert.js '. Ошибка: не удается найти модуль «neo4j» [внешний код] при вставке (: 5: 21) в: 1: 8 [внешний код] ' но это уже не проблема. Спасибо хоть. –

Смежные вопросы