Ruby on rails Rails:如何从virtualbox来宾(ubuntu)访问主机(windows)上的数据库?
我正在尝试设置我的rails项目(guest:ubuntu),以便它可以访问我的主机操作系统windows上的sql server数据库。我正在使用virtual box,但我不确定我的Ruby on rails Rails:如何从virtualbox来宾(ubuntu)访问主机(windows)上的数据库?,ruby-on-rails,windows,ubuntu,virtualbox,Ruby On Rails,Windows,Ubuntu,Virtualbox,我正在尝试设置我的rails项目(guest:ubuntu),以便它可以访问我的主机操作系统windows上的sql server数据库。我正在使用virtual box,但我不确定我的数据库.yml文件中的“主机”应该设置为什么。如何确定要将其设置为哪个IP地址和端口?当我在windows操作系统上安装该项目时,我能够将其配置为主机:localhost我必须找到列出的默认网关。所以我在Ubuntu上打开了终端并使用了以下命令:netstat-rn。结果如下 Kernel IP routing
数据库.yml
文件中的“主机”应该设置为什么。如何确定要将其设置为哪个IP地址和端口?当我在windows操作系统上安装该项目时,我能够将其配置为主机: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的计算机上尝试执行相同的设置时,我遇到了一个非常类似的问题。下面我将概述一些我为使它工作所做的事情,因为这是一个有点不同的过程
Start>All Programs>Microsoft SQL SERVER 2008>Configuration Tools>SQL SERVER Configuration Manager
。然后展开SQL SERVER网络配置,并启用右侧窗格中的所有协议。现在,右键单击并从右窗格的TCP/IP
中选择Properties
。在协议
选项卡下,确保“启用”设置为“是”。在IP地址
选项卡下,我确保所有IP都被设置为“Yes”,用于启用
和激活
。最后,我将端口1433
添加到IP8,这是我的127.0.0.1
IP,也添加到滚动框底部的IP All
。一旦应用了它,我通过SQLServerManagementStudio重新启动了服务器(连接后右键单击连接并选择“重新启动”),我就可以连接了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