0

我正在尝试使用 MS SQL 服务器设置 Rails 测试。目前,Rails 在同一个 SQL 服务器实例上的正常开发环境环境下工作得很好。

我最初尝试通过手动创建一个数据库,该数据库与我用于开发的登录名相同,称为 PRODUCT_TEST。数据库创建良好。

当我运行 rake db:test:prepare 我得到了这个

C:\Code\git.product>rake db:test:prepare
rake aborted!
ActiveRecord::JDBCError: CREATE DATABASE permission denied in database 'master'.: CREATE DATABASE PRODUCT_TEST

所以看起来它会丢弃并重新创建数据库。

我将用户添加到数据库服务器的所有角色中,然后再次尝试并得到了这个。

C:\Code\git.product>rake db:test:prepare --trace
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
rake aborted!
The driver encountered an unknown error: Cannot open database "PRODUCT_TEST" requested by the login. The login failed.
C:/Program Files/jruby-1.7.0.preview1/lib/ruby/gems/shared/bundler/gems/activerecord-jdbc-adapter-e49ec53fb369/lib/arjdbc/jdbc/connection.rb:91:in `initialize'
C:/Program Files/jruby-1.7.0.preview1/lib/ruby/gems/shared/bundler/gems/activerecord-jdbc-adapter-e49ec53fb369/lib/arjdbc/jdbc/adapter.rb:33:in `initialize'

数据库不再存在并已被删除。我对我创建的用户和“sa”用户都进行了尝试,但都不起作用。我可以在企业管理器和 Rails 中使用任何一种方式连接到数据库服务器和我的开发数据库。

database.yml 看起来像这样

test:
  adapter: jdbcmssql
  username: sa
  password: password
  host: 127.0.0.1
  database: PRODUCT_TEST

知道我做错了什么吗?

谢谢。

注意:使用 Rails 3.2.3、JRuby 1.7.0.preview、Microsoft SQL Server Express Edition (64-bit) 10.50.1617.0

4

2 回答 2

0

修复:我手动重新创建了 PRODUCT_TEST 数据库并将该帐户分配为所有者。这次该工具没有删除数据库并且能够正确访问它

于 2012-06-27T15:15:54.400 回答
0

我发现将默认数据库设置为“master”解决了这个问题。

安全 > 登录 >点击登录> 默认数据库:master

于 2015-10-08T07:05:25.263 回答