![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Table unknown USERS. Почему ??? :-/ [D7, IB6.x]
UnDISCOvery © (2003-02-20 20:43:00)Кинул на форму IbDatabase, IBTransaction, IBQuery, все настроил как в книжке ...
В запросе пишу: select * from users
и при вызове IBQuery.Open возникает сообщение об ошибке. см. сабж.
Как это так ?
база - FireBird, может поэтому ... :-/
Johnmen (2003-02-22 00:02:00) [1]>Desdechado ©
>Anatoly Podgoretsky ©
В том то все и дело, что создаю в 3 диалекте users, делаю селект хоть USERS, хоть UsERs, хоть "users" и т.д., ВСЕ НОРМАЛЬНО !
Непонятки.....
Лично сам я с 3 диалектом вплотную не работал и, надеюсь, не буду...:)
Anatoly Podgoretsky (2003-02-21 16:56:00) [2]Desdechado © (21.02.03 16:32)
Боюсь ошибиться, но это при создании, таблица должна быть названа большими буквами, а при запросе если нет кавычек, то преобразуется к большим, информация из каких груп новостей и не по FireBird, а по какой то версии IB.
Но вот информация из документации по IB 6
To use keywords, ASCII characters, case-sensitive strings, or spaces in an object name, enclose the name in double quotes. It is then a delimited identifier. Delimited identifiers must always be referenced in double quotes.
Я просмотрел документацию, нет никакого подтверждения об чувствительности к регистру, кроме вызе указанных случаев и то что если используются кавычки, то естественно тоже с учетом регистра, без кавычек не играет роли.
Относительно Users, в списке ключевых слов только USER
Desdechado (2003-02-21 16:32:00) [3]2 Anatoly Podgoretsky © (21.02.03 15:38)
тогда и в запросе большими, а то будет как у автора - table not found
Anatoly Podgoretsky (2003-02-21 15:38:00) [4]Не обязательно, если при создании использовались большие буквы.
Desdechado (2003-02-21 15:29:00) [5]для 3 диалекта регистр названий полей, таблиц и прочего ВАЖЕН, поэтому в запросе надо в кавычки и в нужном регистре
Johnmen (2003-02-21 15:18:00) [6]Странно это все...:)
Попробовал завести таблицу users - нет проблем,
напихал туда записей - нет проблем,
сделал селект без кавычек - нет проблем...
Единственное отличие - под FB сервером.
UnDISCOvery (2003-02-21 14:45:00) [7]понял
Anatoly Podgoretsky (2003-02-21 14:05:00) [8]Дело не в кавычках, а в том, что это резервированное имя, вот если бы у тебя было Users1 то кавычки не нужны.
UnDISCOvery (2003-02-21 13:52:00) [9]написал в запросе: select * from "Users"
запрос отработал без ошибок
Anatoly Podgoretsky (2003-02-21 12:08:00) [10]У тебя их нету, как может быть в этом дело
UnDISCOvery (2003-02-21 11:59:00) [11]Все выяснил: дело было в двойных кавычках :)
Sheriff (2003-02-21 11:38:00) [12]в диалекте 3 есть зарезервированные слова. USERS не оттуда?
UnDISCOvery (2003-02-21 11:36:00) [13]User SYSDBA
Таблица естественно существует, как переводится сообщение я тоже знаю :)
База в Диалекте 3, сделал такую же, но в Диалекте 1, все заработало.
Но все же интересует, почему возникала ошибка ?
Johnmen (2003-02-20 23:55:00) [14]Указанная таблица не существует, что и указано в тексте сообщения...
Den_777 (2003-02-20 21:37:00) [15]Если User не SYSDBA, то у него должны быть права на Select по системным таблицам