Я уже загрузил последнюю версию SQLite.dll с страницы загрузки SQLite и попытался загрузить его с помощью TFDPhysDriverLink.VendorLib
Но когда я запускаю приложение, которое содержит следующий код:
procedure TForm1.FormCreate(Sender: TObject);
begin
FDConnection1.Close;
FDPhysSQLiteDriverLink1.Release;
FDPhysSQLiteDriverLink1.VendorLib:= 'Path\SQLite3.dll';
FDQuery1.Open('SELECT *, ROW_NUMBER() OVER() Col FROM TableName');
end;
Выбрасывает:
[FireDAC] [Phys] [SQLite] ОШИБКА: рядом (: синтаксическая ошибка
Это означает, что оконная функция ROW_NUMBER()
не распознается.
- Что я делаю не так?
- Как я могу заставить FireDAC использовать последнюю версию SQLite.dll?
OVER()
причина проблемы. - person Ken White   schedule 13.10.2020SELECT *, ROW_NUMBER() OVER() Col FROM TableName
точно не является допустимым SQL. - person Arnaud Bouchez   schedule 13.10.2020SELECT *, ROW_NUMBER() OVER (ORDER BY Col) FROM TableName
? См. Встроенные оконные функции. - person Peter Wolf   schedule 13.10.2020SELECT *, ROW_NUMBER() OVER() Col FROM TableName
является допустимым SQL @ArnaudBouchez, и дажеSELECT *, ROW_NUMBER() OVER( ORDER BY ColumnName) Col FROM TableName
не работает - person Ilyes   schedule 13.10.2020SELECT sqlite_version()
- person Peter Wolf   schedule 13.10.20203.8.7.4
, поэтому я пытаюсь загрузитьSQLite.dll
- person Ilyes   schedule 13.10.2020DLL = <sqlite3_x86.obj statically linked>
- person Ilyes   schedule 13.10.2020TFDConnection.Connected
будетTrue
автоматически при вызове методаTFDQuery.Open()
. Извините, но это не связано с вопросом. - person Ilyes   schedule 13.10.2020FDPhysSQLiteDriverLink1.VendorLib:= 'Path\SQLite3.dll'; FDConnection1.Open; .....
- person moskito-x   schedule 13.10.2020VendorLib
. - person Olivier   schedule 13.10.2020OVER()
может быть допустимым синтаксисом, из sqlite.org/windowfunctions.html точка зрения. Вам нужно какое-то выражение внутри OVER. - person Arnaud Bouchez   schedule 14.10.2020OVER
иOVER()
действительны. - person Ilyes   schedule 15.10.2020