Algunos consejos sobre como conseguir los Rieles para que se ejecute con un Acceso de back-end?

StackOverflow https://stackoverflow.com/questions/20054

Pregunta

Me estremezco al preguntar, pero mi cliente puede ofrecer ninguna otra SQL (o parecido) de la solución.Sé el Acceso tiene algunos SQL ganchos;son bastante básicas, ActiveRecord?

Más tarde:

Agradezco todas las sugerencias para el uso de otras bases de datos, pero confía en mí:He tratado de convencer a ellos.Hay un "aprobado" de la lista, y no las bases de datos SQL sobre ella.Llegar a algo en la lista podría tardar más de un año, y este proyecto se realizará en tres semanas.

¿Fue útil?

Solución

Es un tiro largo, pero hay una Adaptador ODBC para ActiveRecord que podría funcionar.

Otros consejos

No parece ser algo de una conexión de Acceso adaptador de aquí: http://svn.behindlogic.com/public/rails/activerecord/lib/active_record/connection_adapters/msaccess_adapter.rb

La base de datos.fichero yaml tendría este aspecto:

development:
  adapter: msaccess
  database: C:\path\to\access_file.mdb

Voy a publicar más después de que yo lo he probado con Rails 2.1

Otra opción que es más complicado, pero podría funcionar si se vieron obligados a hacer, es escribir una capa de servicios web RESTful que va a exponer el Acceso a los rieles.Si usted tiene cuidado en su diseño, los servicios web RESTful puede ser consumida directamente por ActiveResoure que le dará una gran cantidad de la funcionalidad de ActiveRecord.

Hay algunas cosas raras en el Acceso que pueden causar problemas y no sé si ODBC toma el cuidado de él.Si lo hace @Juan Topley es derecho, ODBC sería su única cance.

  1. Cierto en el acceso = -1 no 1
  2. Access trata fechas de forma diferente a la de los TSQL.
  3. Usted podría tener problemas para crear relaciones.

Si usted va con el acceso, probablemente aprender más acerca de la depuración AcriveRecord, entonces nunca le interesó ( que podría no ser una mala cosa)

Maudite escribió:

Cierto en el acceso = -1 no 1

No es correcta.Cierto es definido como no ser falso.Por lo tanto, si desea utilizar Verdadero en una cláusula where, el uso No Falso en su lugar.Esto proporcionará completa de la cruz-plataforma de compatibilidad con todos los motores SQL.

Todo lo que dijo, es apenas un problema, desde cualquier controlador que está utilizando para conectarse a su parte final correctamente traducir Cierto en DONDE cláusulas en el valor adecuado.La única excepción podría ser en passthrough consultas, pero en ese caso, usted debe escribir el SQL Acceso desde el exterior y las pruebas contra su espalda extremo y pegar el trabajo de SQL en la vista SQL de su paso consulta en Access.

Maudite escribió:

Access trata fechas de forma diferente a la de los TSQL.

De nuevo, esto es sólo va a ser un problema si no ir a través de ODBC u OLEDB controladores que se encargan de la traducción de Jet SQL en TSQL para usted.

Maudite escribió:

Usted podría tener problemas para crear relaciones.

No estoy seguro de por qué usted quiere una aplicación de Acceso a alterar el esquema de la parte final, por lo que a mí esto me parece como un no-problema.

Usted debe hablar de verdad les permite SQLite.Es super-fácil instalación, y funciona como Acceso (como un archivo sentado junto a la aplicación en el mismo servidor).

En primer lugar, usted realmente quiero ser el uso de sqlite.

En mi experiencia el Acceso en sí mismo es un montón de [redactado], pero el Chorro de motor de base de datos utiliza en realidad es bastante rápido y puede manejar algo bastante complejo de consultas SQL.Si usted puede encontrar un adaptador de rieles que realmente funciona, yo diría que va a estar bien.Simplemente no abra la base de datos con el acceso de la interfaz, mientras que su aplicación rails está funcionando :-)

Si su cliente es anal suficiente para permitir sólo a desarrollar con una lista aprobada de bases de datos, que puede estar más preocupado por el hecho de que Jet es deprectated y habrá más apoyo de la SRA.

Esto podría darle un poco de munición en su búsqueda para el uso de una base de datos real.Buena suerte

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top