Conexión a base de datos SQL Server 2008 R2

25 views
Skip to first unread message

Johan Donado B.

unread,
Aug 21, 2018, 7:08:25 PM8/21/18
to ror-es

Saludos.

Estoy tratando de conectarme a una base de datos SQL Server2008 R2.  

Intenté con "adapter: sqlserver" pero las consultas me arrojan error.  Al parecer solo es compatible con SQL Server 2012:

ActiveRecord::StatementInvalid: TinyTds::Error: Incorrect syntax near 'OFFSET'.: EXEC sp_executesql


Intente entonces con "adapter: odbc" y al consultar me arroja este error.  Al parecer trata de usar LIMIT en la consulta en lugar de TOP:

ActiveRecord::StatementInvalid: ODBC::Error: 37000 (102) [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'LIMIT'.: SELECT  "cpt_facturas".* FROM "cpt_facturas" ORDER BY "cpt_facturas"."nro_trans" ASC LIMIT 1


Alguien ha podido hacerlo?

Tengo Rails 5.1.6,  Ruby 2.3.3p222


Gracias.

Johan Donado B.

unread,
Sep 11, 2018, 6:56:21 PM9/11/18
to ror-es

Saludos.

Por si le puede servir a alguien.

Los errores salen cuando se intenta usar los modelos para acceder a la información.  Sin embargo es posible seguir usando consultas propias de SQL:

facts = CptFactura.connection.select_all("select cod_emp, cod_sitio, id_fac_elect from cpt_facturas where status_fac_elect='P' order by id_fac_elect")

Donde CptFactura es mi modelo.

Así pude continuar.

Sergio Cambra

unread,
Sep 12, 2018, 3:16:12 AM9/12/18
to ror...@googlegroups.com

El adaptador de sqlserver dejo de ser compatible con sql server 2008 a partir de rails 4.2, si quieres usar el adaptador de la forma habitual tienes que usar como mucho rails 4.1

 

El miércoles, 12 de septiembre de 2018 0:56:21 (CEST) Johan Donado B. escribió:


Saludos.


Por si le puede servir a alguien.


Los errores salen cuando se intenta usar los modelos para acceder a la información.  Sin embargo es posible seguir usando consultas propias de SQL:


facts = CptFactura.connection.select_all("select cod_emp, cod_sitio, id_fac_elect from cpt_facturas where status_fac_elect='P' order by id_fac_elect")


Donde CptFactura es mi modelo.


Así pude continuar.

El martes, 21 de agosto de 2018, 18:08:25 (UTC-5), Johan Donado B. escribió:


Saludos.


Estoy tratando de conectarme a una base de datos SQL Server2008 R2.  


Intenté con "adapter: sqlserver" pero las consultas me arrojan error.  Al parecer solo es compatible con SQL Server 2012:


ActiveRecord::StatementInvalid: TinyTds::Error: Incorrect syntax near 'OFFSET'.: EXEC sp_executesql



Intente entonces con "adapter: odbc" y al consultar me arroja este error.  Al parecer trata de usar LIMIT en la consulta en lugar de TOP:


ActiveRecord::StatementInvalid: ODBC::Error: 37000 (102) [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'LIMIT'.: SELECT  "cpt_facturas".* FROM "cpt_facturas" ORDER BY "cpt_facturas"."nro_trans" ASC LIMIT 1



Alguien ha podido hacerlo?


Tengo Rails 5.1.6,  Ruby 2.3.3p222



Gracias.


--
--
You received this message because you are subscribed to the Google
Groups "ror-es" group.
To post to this group, send email to ror...@googlegroups.com
To unsubscribe from this group, send email to
ror_es+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/ror_es?hl=en
Rails no escala.

---
You received this message because you are subscribed to the Google Groups "ror-es" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ror_es+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



Reply all
Reply to author
Forward
0 new messages