繁体   English   中英

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

[英]Rails: How can I access my database on my host machine (windows) from a virtualbox guest (ubuntu)?

我正在尝试设置我的rails项目(来宾:ubuntu),以便它可以访问主机OS窗口上的sql server数据库。 我正在使用虚拟盒,但是不确定在我的database.yml文件中应将“主机”设置为什么。 如何找到将其设置为哪个IP地址和端口? 当我在Windows操作系统上拥有该项目时,我能够将其配置为host:localhost

我必须找到列出的默认网关。 因此,我在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并在右窗格中启用所有协议。 现在,右键单击并从右窗格中选择“ TCP/IP Properties 在“ Protocol选项卡下,确保将“启用”设置为“是”。 在“ IP Address选项卡下,我确保将“ Enabled和“ Active ”的所有IP都设置为“是”。 最后,我将端口1433添加到IP8(这是我的127.0.0.1 IP),也添加到了滚动框最底部的IP All 一旦应用后,我就可以通过SQL Server Management Studio重新启动服务器(连接后右键单击连接,然后选择“重新启动”),我就可以连接!

  2. 我还使用了稍微不同的database.yml文件。

development:  
  adapter: sqlserver  
  dataserver: 10.0.2.2:1433    
  host: 10.0.2.2  
  port: 1433  
  database: Development  
  username: username12345  
  password: password12345  
  pool: 5  
  timeout: 5000  
  1. 最后,请记住要授予用户正确的权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM