So, I'm using sequelize.js with tedious
for mssql support. MSSQL = SQL Server 2008
Well, So there is this big table named Clientes. I have to fetch data from it, but it is quite huge so I'll have to paginate trhough
I tried the 'right way', as in the docs:
app.use('/clientes', function(req, res){
var page = req.params.page || 0;
sequelize.Clientes.findAll({limit: 30, offset: 5 })
.then(function(result) {
res.json({result: result});
});
});
It should work, BUT it uses a query that is something like
SELECT .......... from [Clientes] as [Clientes] ORDER BY [CNPJ] OFFSET 5 ROWS FETCH NEXT 30 ROWS ONLY;
and the SQL Server return a terrible Invalid usage of the option NEXT in the FETCH statement
!
So, after lots of search, I got to a point that apparently FETCH will not work with SQL 2008. That being said (and sad) I tried to force TDS version to 7_3_A. I did this using
dialectOptions: {
tdsVersion: '7_3_A'
},
but the query sintax did not change with this :(
I'm not sure what to do anymore.... I even will use another way instead of paginate... I found a nice sintax to SQL pagination (involving row_number()
) , but I was not able to perform it as a raw query on sequelyze. myModel.query('SQL QUERY HERE')
returned undefined function oO'
Any helps will be appreciated