我正在尝试设置我的rails项目(guest:ubuntu),因此它可以在我的主机操作系统窗口上访问sql server数据库。我正在使用虚拟机,但是我不确定我的“{1}}文件中应该设置我的”主机“。如何找出要设置的IP地址和端口?当我在Windows操作系统上安装项目时,我可以将其配置为database.yml
答案 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的计算机上执行相同的设置时遇到了类似的问题。下面我将概述我为使其工作所做的一些事情,因为它与流程略有不同。
您必须启用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
标签下,我确保Enabled
和Active
的所有IP都设置为“是”。最后,我将端口1433
添加到IP8,即IP {1}} IP,也添加到滚动框最底部的127.0.0.1
。应用之后,我通过SQL Server Management Studio重新启动服务器(右键单击连接后连接并选择“重新启动”)我能够连接!
我还使用了稍微不同的IP All
文件。
database.yml