powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с новым KEYWORD
9 сообщений из 9, страница 1 из 1
Проблема с новым KEYWORD
    #32110337
Knot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При переходе с IB5 на IB6.5 оказалось, что новое KEYWORD в IB6.5 совпадает с именем поля в одной из таблиц созданной ранее (а именно 'TYPE').
Теперь при запросе 'select type from some_table' соответственно возникает ошибка.
Можно ли как-то заставить все-таки IB6.5 работать с таким именем поля?
(вариант со сменой имени не подходит)
Спасибо!
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32110363
av
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Попробуй указать название поля в кавычках (только обязательно в апперкейсе):
select "TYPE" from some_table
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32110369
Knot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я такое уже пробовал...
В MySql поля можно в обратных кавычках указывать (`field_name`)
Тут такое не пройдет... А жаль...
Может можно как-нить обращаться к полю по его номеру? или еще как?
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32110381
av
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что Interbase отвечает на select "TYPE" from some_table?

На IB6.0 по-крайней мере это срабатывает:
Код: plaintext
1.
2.
CREATE TABLE  "TABLE"  ( "TYPE"  INTEGER);
SELECT  "TYPE"  FROM  "TABLE" ;
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32110390
Knot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 6.5 тоже работает.... только на запрос типа
SELECT "TYPE" FROM "TABLE"
сервер выдает следующее:
TYPE
TYPE
TYPE
TYPE
......
TYPE

А как на 6.0 отрабатывает запрос без кавычек?
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32110398
av
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без кавычек:
Код: plaintext
1.
2.
3.
4.
5.
Dynamic SQL Error
SQL error code = - 104 
Token unknown - line  1 , char  7 
TYPE
Statement: SELECT TYPE FROM  "TABLE" 

похоже на то что Tы используешь одинарные ковычки.
у меня и на 6.0 и на 6.5 SELECT "TYPE" FROM "TABLE" выдает значения поля "TYPE"
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32110412
Knot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странное дело!?!?
Использую-то я двойные кавычки! НО!
Все выше сказанное касается IBConsole.
Вообще, запрос должен выполняться PHP-скриптом. Так вот самое интересное, что он-то замечательно отрабатывает исли использовать:
1. Заглавные буквы.
2. Двойные кавычки.

AV: Большое спасибо за помощь!
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32110810
Hi!

Ты попал :)
Старые keyword'ы - один из самых больших геморов при переезде на 6.0 и выше.
Есть два подхода - интенсивный и экстенсивный.
Интенсивный - поменять имена полей на правильные - и в базе, и везде в программе. Невесело, да. Процесс описан и в доке по ИБ6 Migration Guide на английском, и у меня в книге, и есть еще документик на ibase.ru на эту тему...

Экстенсивный - взять Yaffil (лучше купить, но можно взять и бета-сборку), там в ibconfig раскомментировать строчку LEGACY_DIALECT 1 и наслаждаться всеми прелестями жизни - Yaffil забудет про все новые keywords.
Подробнее смотри доку по yaffil yaffil.ibase.ru

Все остальные способы типа кавычек и подставления старых dll от 5.x на клиентах и т.д. либо не работают, либо так кривят, что я просто на них забил. Ну не стал разбираться, если честно :)

WBR,
Alexey
...
Рейтинг: 0 / 0
Проблема с новым KEYWORD
    #32111736
AOSila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как поля по русски! IBConsole это же пропускает! А клиенты не пропускают. Ваще можно поля по русски фигарить or нет. IBConsole даже запросы с ними обрабатывает. И вроде системные таблицы не запрещают. Когда будет нормальная поддержка полей по русски. )))))))))))))))))))))))) Ась. Или энто ни кому не интересно??
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с новым KEYWORD
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]