Buenos días, tengo un problema que soy incapaz de resolver. He leído infinidad de páginas y foros (todo en inglés prácticamente) y no hallo una solución. El problema es que tengo una aplicación en Rails con la versión 2.3.2 y necesito conectarme a una base de datos SQL Server 2008 que está ubicada en un servidor externo (el de la empresa). Esta empresa me ha habilitado un servidor de nombre PRUEBAS\PRUEBAS en una dirección ip XXX.XXX.XXX.XXX y una base de datos llamada pruebas_development en la que hay una tabla usuarios en la que quiero leer información y escribir y modificar datos. He seguido los pasos que dice la siguiente página: http://oldwiki.rubyonrails.org/rails/pages/HowtoCo... y también los de esta: http://flux88.com/2011/01/connecting-to-sql-server... Ambas son parecidas y te mandan instalar unixODBC y FreeTDS y la verdad no se para que sirven pero los he instalado como bien dicen ambas páginas. Las gemas que he instalado son: 'dbi', 'activerecord-sqlserver-adapter (2.3.2)', 'odbc-rails', 'ruby-odbc' y 'dbd-odbc'. Estas gemas supuestamente (igual no todas) son las que se necesitan para la conexión. El database.yml que tengo es el siguiente: development: adapter: sqlserver mode: odbc #username: user #password: pass server: PRUEBAS\PRUEBAS database: pruebas_development host: XXX.XXX.XXX.XXX dsn: Server=PRUEBAS\PRUEBAS;Database=pruebas_development el campo para el usuario y la contraseña están comentados porque no son necesarios para poder acceder También he probado varias configuraciones de este databse.yml jugando con el campo DSN: dsn: Driver={SQL Server};Server=PRUEBAS\PRUEBAS;Database=pruebas_development;Uid=user ;Pwd=pass También he probado con quitar los campos server y database porque ya están incluidos en la línea del dsn y nada He intentado hacer las pruebas desde consola con ruby script/console y al arrancar arrnca (puedo ejecutar órdenes) pero da este mensaje: /usr/lib/ruby/gems/1.8/gems/activerecord-sqlserver-adapter-2.3.2/lib/active_record/connection_adapters/sqlserver_adapter.rb:774:in `initialize':ODBC::Error: S1090 (0) [unixODBC][Driver Manager]Invalid string or buffer length He buscado y rebuscado y probado diferentes cosas y me sigue sin funcionar, aunque igual no estoy metiendo bien los datos. Tampoco se como poder hacer una consulta a la tabla 'usuarios'. Mirando páginas hablan de modificar unos archivos de lo que mandaron instalar las páginas anteriores de 'how to connect ...' En el freetds.conf: [TEST_PRUEBAS] host = XXX.XXX.XXX.XXX port = 1433 tds version = 8.0 En el odbc.ini: [TEST_PRUEBAS] Driver = FreeTDS Description = ODBC connection via FreeTDS Trace = No Servername = PRUEBAS\PRUEBAS Database = pruebas_development Agradecería que me indicáseis que hago mal o que me falta o que me sobra porque me estoy desesperando
on 2011-05-13 14:04
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.