CakePHP создает все свои запросы, заканчивающиеся на «LIMIT X», который является синтаксисом MySQL, а не простым SQL, и Microsoft SQL Server не примет его.Даже если вы используете драйвер ODBC, он будет генерировать запросы вроде:
SELECT "Content"."id" AS "Content_dot_id",
"Content"."name" AS "Content_dot_name"
FROM "contents" AS "Content" WHERE (1=1) LIMIT 1
, что дает:
37000: [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'LIMIT'.
Поскольку вы хотите:
SELECT TOP 1 "Content"."id" AS "Content_dot_id",
"Content"."name" AS "Content_dot_name"
FROM "contents" AS "Content" WHERE (1=1)
Код, который принимает «LIMIT», находится в dbo_source.php, а не в одном из файлов, специфичных для БД (я думаю, что это предел функции ($ limit, $ offset = null)).
Есть ли некоторые настройкиЯ могу переключиться, чтобы переключиться на синтаксис TOP вместо LIMIT?