IBDAC / UNIDAC + InterBase 6 или 7 + поле таблицы под названием «Возвращение»
Вопрос
Я портирую действительно старый код, чтобы использовать компоненты Unidac. Я ударил стену с конкретным обновлением SQL, который меняет поле «Возвращение». Просто упаковочное поле в кавычках не решает проблему, поскольку диалект SQL в базе данных - 1, который не поддерживает двойные разделители поля цитата. Есть ли вокруг этого, не меняя поле? Я нахожусь на Delphi 7, и ухожу от компонентов межбазе БД.
Редактировать: SQL выглядит следующим образом:
update logger set
returning = :RETURNING
where locator = :LOCATOR
Возвращает следующую ошибку при попытке подготовить:
---------------------------
Ww
---------------------------
Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
where.
---------------------------
OK
---------------------------
Это происходит даже когда я устанавливаю клиент SQL диалект на 1 в коде:
query1.Connection.SpecificOptions.Values['SQLDialect'] := '1';
Решение
Я должен был поговорить с разработчиком. Это было адресовано определенному моменту, но мне нужно удалить все параметры в запросе, прежде чем выполнять его. Очень странно, но его обходной путь: /
Другие советы
Возможно ли вам создать вид, оставляя все то же самое, за исключением этого поля и использовать этот вид в вашем приложении?
Можно ли запустить это приложение с помощью клиентской DLL Firebird <2.1 (например, 1.5) и сервером с одной и той же версией?
Я думаю, что это связано с новым синтаксисом, где возвращаются зарезервированные слова!