0

我在通过 VirtualBox 在装有 Ubuntu 的 Windows 8.1 机器上设置我的 rails 应用程序时遇到问题。我已尝试将我的 Ubuntu Guest Rails 应用程序连接到我的 Windows 8.1 SQL Server Express 数据库。

  1. Bridged Connection在我的 Virtual Box 网络适配器上设置
  2. 我已经在我的 ubuntu 客户机上安装了我的 rails 应用程序和 freetds。
  3. SQL Server Configuration Manager我在 SQL Server 网络配置下启用了 TCP/IP
  4. 创建数据库后,我还为我的数据库设置了正确的登录用户。

我可以在 ubuntu 上运行我的 rails 应用程序,rails s并且运行良好。当我尝试从我的 Windows 主机或 ubuntu 来宾访问它时,它最初会显示一个GET,直到它最终出错并向我显示此消息Unable to connect: Adaptive Server is unavailable or does not exist。我不确定接下来要尝试什么。我正在寻找一种方法来在终端中测试与 Rails 之外的数据库的连接,以查看是否可以先获得连接,但到目前为止我的尝试没有产生任何结果。下面是我的database.yml。我使用的 ip 地址是我为 windows 主机获得的 ip 地址。

development:
  adapter: sqlserver
  dataserver: 192.168.1.114:1433
  host: 192.168.1.114
  port: 1433
  database: borneo
  username: marvin
  password: my_password
  pool: 5
  timeout: 5000
4

1 回答 1

0

所以我找到了解决方案。在我关闭防火墙后,我认为防火墙不会再阻止流量了;但是,我猜我似乎没有正确关闭它。以下方法解决了我的问题。

  1. 转到 Windows 防火墙和高级安全
  2. 使用 TCP 为端口 1433 的 Ubuntu 访客 IP 地址创建入站规则。

在我这样做之后,它起作用了。

于 2014-08-30T03:22:26.610 回答