![](/img/trans.png)
[英]How to connect my Rails App to SQL Server from Ubuntu Guest to Windows 8.1 Host?
[英]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的计算机上进行相同的设置时,我遇到了一个非常类似的问题。 在下面,我将概述为使其正常工作而要做的一些事情,因为该过程与流程略有不同。
您必须启用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重新启动服务器(连接后右键单击连接,然后选择“重新启动”),我就可以连接!
我还使用了稍微不同的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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.