Rails:如何从virtualbox guest(ubuntu)访问我的主机(windows)上的数据库?

时间:2013-04-28 17:45:21

标签: ruby-on-rails windows ubuntu virtualbox

我正在尝试设置我的rails项目(guest:ubuntu),因此它可以在我的主机操作系统窗口上访问sql server数据库。我正在使用虚拟机,但是我不确定我的“{1}}文件中应该设置我的”主机“。如何找出要设置的IP地址和端口?当我在Windows操作系统上安装项目时,我可以将其配置为database.yml

1 个答案:

答案 0 :(得分:1)

我必须找到列出的默认网关。所以我在Ubuntu上打开了终端并使用了以下命令:netstat -rn。这得到了以下结果......

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0

从那里我注意到默认网关是10.0.2.2。我按如下方式设置了我的database.yml:

development:    
  adapter: sqlserver
  host: 10.0.2.2
  database: Development
  username: username12345
  password: password12345
  pool: 5
  timeout: 5000

连接工作正常!希望这可以帮助处于类似情况的其他人。

修改

因此,当尝试在主机运行SQLExpress的计算机上执行相同的设置时遇到了类似的问题。下面我将概述我为使其工作所做的一些事情,因为它与流程略有不同。

  1. 您必须启用TCP / IP连接(在几个地方)并指定正在使用的端口。

    转到:Start > All Programs > Microsoft SQL SERVER 2008 > Configuration Tools > SQL Server Configuration Manager。然后展开SQL SERVER NETWORK CONFIGURATION并启用右窗格中的所有协议。现在,右键单击并从右侧窗格中选择Properties TCP/IP。在Protocol标签下,确保“已启用”设置为“是”。在IP Address标签下,我确保EnabledActive的所有IP都设置为“是”。最后,我将端口1433添加到IP8,即IP {1}} IP,也添加到滚动框最底部的127.0.0.1。应用之后,我通过SQL Server Management Studio重新启动服务器(右键单击连接后连接并选择“重新启动”)我能够连接!

  2. 我还使用了稍微不同的IP All文件。

  3. database.yml
    1. 最后,请记住为用户提供正确的权限。