sql server - conectar - Configurando Rails para trabajar con sqlserver
activerecord-sqlserver-adapter (6)
Ok, seguí los pasos para configurar el ruby y los rieles en mi máquina Vista y estoy teniendo problemas para conectarme a la base de datos.
Contenido de database.yml
development:
adapter: sqlserver
database: APPS_SETUP
Host: WindowsVT06/SQLEXPRESS
Username: se
Password: paswd
Ejecutar rake db:migrate
desde el directorio myapp
----------
rake aborted!
no such file to load -- deprecated
ALHARACA
Tengo dbi 0.4.0 instalado y he creado la carpeta ADO en
C:/Ruby/lib/ruby/site_ruby/1.8/DBD/ADO
Obtuve el ado.rb del dbi 0.2.2
¿Qué más debería estar mirando para solucionar el problema al conectarme a la base de datos? Por favor, no me diga que use MySql, Sqlite o Postgres.
****ACTUALIZAR****
He instalado la gema activerecord-sqlserver-adapter de --source = http://gems.rubyonrails.org
Sigue sin funcionar.
He verificado que puedo conectarme a la base de datos iniciando sesión en SQL Management Studio con las credenciales.
rake db: migrate --trace
PS C:/Inetpub/wwwroot/myapp> rake db:migrate --trace
(in C:/Inetpub/wwwroot/myapp)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
no such file to load -- deprecated
C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require''
C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/dependencies.rb:510:in `require''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/dependencies.rb:355:in `new_constants_in''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/dependencies.rb:510:in `require''
C:/Ruby/lib/ruby/site_ruby/1.8/dbi.rb:48
C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require''
C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/dependencies.rb:510:in `require''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/dependencies.rb:355:in `new_constants_in''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/dependencies.rb:510:in `require''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/core_ext/kernel/requires.rb:7:in `require_library_
or_gem''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnin
gs''
C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/core_ext/kernel/requires.rb:5:in `require_library_
or_gem''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-sqlserver-adapter-1.0.0.9250/lib/active_record/connection_adapters/sqlserver
_adapter.rb:29:in `sqlserver_connection''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/connection_adapters/abstract/connection_specificatio
n.rb:292:in `send''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/connection_adapters/abstract/connection_specificatio
n.rb:292:in `connection=''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/connection_adapters/abstract/connection_specificatio
n.rb:260:in `retrieve_connection''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/connection_adapters/abstract/connection_specificatio
n.rb:78:in `connection''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/migration.rb:408:in `initialize''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/migration.rb:373:in `new''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/migration.rb:373:in `up''
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/migration.rb:356:in `migrate''
C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/tasks/databases.rake:99
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:621:in `call''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:621:in `execute''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:616:in `each''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:616:in `execute''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:582:in `invoke_with_call_chain''
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:575:in `invoke_with_call_chain''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:568:in `invoke''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2031:in `invoke_task''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2009:in `top_level''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2009:in `each''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2009:in `top_level''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2048:in `standard_exception_handling''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2003:in `top_level''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1982:in `run''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2048:in `standard_exception_handling''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1979:in `run''
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.2/bin/rake:31
C:/Ruby/bin/rake:19:in `load''
C:/Ruby/bin/rake:19
PS C:/Inetpub/wwwroot/myapp>
¿Instalaste el adaptador SQL Server?
gem install activerecord-sqlserver-adapter --source=http://gems.rubyonrails.org
Me encontré con el mismo problema ayer. Aparentemente, "obsoleto" es una joya, por lo que debes ejecutar "gem install deprecated" para obtener e instalar la última versión. Buena suerte.
Yo también me había enfrentado a este problema. Hay otro trabajo alrededor. Puede crear un DSN para la aplicación db desde el panel de control-> herramientas administrativas-> Odbc. El archivo Database.yml debería verse a continuación:
adapter: sqlserver
mode: odbc
dsn: DSN_NAME
host: localhost
database: App_development
username: uname
password: password
Intenté usar la gema obsoleta, no fue de mucha utilidad. También intenté instalar un adaptador ADO que no sirvió para nada.
Si está en una máquina de 64 bits, hay dos programas de administrador ODBC, uno para 32 bits y otro para 64 bits. activerecord-sqlserver-adapter busca los DSN configurados con la versión de 32 bits.
Utilicé el origen de datos ODBC y el adaptador SQL Server en Windows Server 2008 contra SQL Server 2000 ejecutándose en una instancia remota.
Instalar el adaptador de SQL Server
gem.bat install activerecord-sqlserver-adapter
Successfully installed deprecated-2.0.1
Successfully installed dbi-0.4.1
Successfully installed dbd-odbc-0.2.4
Successfully installed activerecord-sqlserver-adapter-2.2.22
4 gems installed
Crear un origen de datos ODBC
- Tipo: Servidor SQL
- Nombre: rails_development
- Descripción: rails_development
- Servidor: SERVIDOR
- Autenticación SQL (sa / 12345)
- Base de datos predeterminada: BASE DE DATOS
Configurar database.yml
development:
adapter: sqlserver
mode: odbc
dsn: rails_development
username: sa
password: 12345
YMMV
Un par de enlaces útiles: