Неверный синтаксис около '0' .: EXEC sp_executesql N'SELECT [users]. * FROM [users] OFFSET 0 ROWS FETCH NEXT @ 0 ROWS ONLY ', N' @ 0 int ', @ 0 = 1 - PullRequest
0 голосов
/ 20 марта 2019

Я использую rails 5.1.6 с activerecord-sqlserver-adapter 5.1.6, tiny_tds 2.1.2. и SQL Server 2017.

Доступ к базе данных в порядке,

SQL (1.1ms) USE [MIST_Test]

Пользовательская нагрузка (1,5 мс) EXEC sp_executesql N'SELECT [users]. * FROM [пользователи] OFFSET 0 ROWS FETCH NEXT @ 0 ROWS ONLY ', N' @ 0 int ', @ 0 = 1 [["LIMIT", ноль]]

ActiveRecord :: StatementInvalid: TinyTds :: Ошибка: неверный синтаксис рядом '0' .: EXEC sp_executesql N'SELECT [users]. * FROM [users] OFFSET 0 ROWS FETCH NEXT @ 0 ROWS ONLY ', N' @ 0 int ', @ 0 = 1

из С: /Ruby25-x64/lib/ruby/gems/2.5.0/gems/activerecord-sqlserver-adapter-5.1.6/lib/active_record/connection_adapters/sqlserver/database_statements.rb: 368: в `Каждый '

Вызвано TinyTds :: Ошибка: неправильный синтаксис около '0'.

из С: /Ruby25-x64/lib/ruby/gems/2.5.0/gems/activerecord-sqlserver-adapter-5.1.6/lib/active_record/connection_adapters/sqlserver/database_statements.rb: 368: в `Каждый '

SQL Server требуется ORDER BY, чтобы использовать предложение OFFSET.

Может кто-нибудь помочь?

...