从node.js服务器应用程序连接到MonetDb Virtualbox

时间:2015-09-02 20:09:15

标签: node.js express monetdb

我正在尝试连接Monetdb数据库,我想将它与node.js服务器应用程序一起使用。

我目前使用monetdb软件包设置了一个VirtualBox环境,如此处所述,它运行良好:https://www.monetdbsolutions.com/solutions/cloud/vm 我可以使用带有root @ localhost:2222的putty连接到这个VM,它可以工作。

但是,我找不到使用节点monetdb包连接到VM和数据库的方法:https://www.npmjs.com/package/monetdb

我用过: var options = {     主持人:' localhost',     港口:2222,     dbname:' mydb',     用户:' root',     密码:' monetdb' };

我无法找到让它发挥作用的方法。 当我使用时:

var conn = require('monetdb').connect(options , function(err) {
    if (!err) console.log('connected');
});

它不会触发任何错误,也不会启动任何连接。

当我访问虚拟机root @ localhost:2222时,我想我遗失了一些东西。它适用于SSH,但我不确定使用monetdb节点包的访问是否类似。

甚至可以从node.js连接到此VM吗?也许我应该尝试另一种方式来尝试使用节点这个数据库。

他们制造了一个#34;码头集装箱"。我从来没有使用过那种东西,但也可能适合......

如何解决这个问题的任何帮助都会非常感激! 非常感谢你。

祝你好运

1 个答案:

答案 0 :(得分:1)

链接到虚拟机上的端口22的端口2222仅用于ssh。说明显示如何在虚拟机上使用monetdb,而不是从主机系统。

instruction page提及:

  

或者,您可以通过SSH创建隧道以使用MonetDB MAPI协议访问数据库。

这应该是你的第一次尝试。如果您使用的是Linux / Unix或OSX,则可以设置到默认monetdb端口的隧道,如下所示:

ssh root@localhost:2222 -L 50000:localhost:50000

或者,您可以使用VirtualBox设置端口转发,如manual in paragraph 6.3.1

中所述
  

要配置端口转发,您可以使用图形端口转发编辑器,该编辑器可以在配置为使用NAT的网络适配器的“网络设置”对话框中找到。您可以在此处将主机端口映射到来宾端口,以允许将网络流量路由到来宾中的特定端口。

现在假设monetdb正在虚拟主机上运行,​​您可以在localhost上的端口50000上连接它。您必须检查用户名/密码的说明,它们可能与用于设置隧道的ssh凭据不同。

另一个解决方案可能是将虚拟机配置从NAT(您的计算机上的端口2222转发到虚拟计算机上的22)更改为bridged设置,您可以在其中访问虚拟机它自己的IP地址。假设您正在运行dhcp服务器并且在虚拟操作系统上正确配置了dhcp。如果不是这种情况,您需要服务器管理员知识才能完成所有这些设置。