powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Informix [игнор отключен] [закрыт для гостей] / "Странная" таблица
3 сообщений из 3, страница 1 из 1
"Странная" таблица
    #36961967
Leonid Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Ситуация примерно следующая. Наше приложение пытается дать права пользователю - читает системный каталог (systables where tabid > 99) и даёт grant - и на одну из таблиц получает -206 (такой таблицы нет). select * from systables и dbschema показывают, что такая таблица есть, но имя её записано заглавными буквами. Честно говоря, я такое встречаю впервые - мне всегда казалось, что Informix case-insensitive, и что имена таблиц всегда хранятся в нижнем регистре. Кто-то что-то встречал подобное? Каким боком такое могло случиться? И что теперь делать? На всякий случай могу сказать название таблицы - HS_TRANSACTION. Может какое известное приложение создаёт такие чудеса...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
{ TABLE "informix".HS_TRANSACTION row size =  319  number of columns =  2  index size
              =  69  }
create table "informix".HS_TRANSACTION
  (
    GLOBAL_TRAN_ID char( 64 ) not null ,
    TRAN_COMMENT char( 255 ),
    primary key (GLOBAL_TRAN_ID)
  )  extent size  32  next size  32  lock mode page;
revoke all on "informix".HS_TRANSACTION from "public" as "informix";
grant select on "informix".HS_TRANSACTION to "public" as "informix";
grant update on "informix".HS_TRANSACTION to "public" as "informix";
grant insert on "informix".HS_TRANSACTION to "public" as "informix";
grant delete on "informix".HS_TRANSACTION to "public" as "informix";
grant index on "informix".HS_TRANSACTION to "public" as "informix";
При попытке выполнить этот фрагмент на другой базе, всё срабатывает, как ожидалось - маленькими буквами.
...
Рейтинг: 0 / 0
"Странная" таблица
    #36962022
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
абсолютно обычная, rtfm: DELIMIDENT

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
informix@nag:~> export DELIMIDENT=y

informix@nag:~> dbaccess test -
Database selected.
> create table "TTT" (a int);
Table created.

> grant select on TTT to public; 
  206: The specified table (ttt) is not in the database.
  111: ISAM error:  no record found.
Error in line 1
Near character position 21

> grant select on "TTT" to public; 
Permission granted.
...
Рейтинг: 0 / 0
"Странная" таблица
    #36974444
Leonid Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, действительно - век живи...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / "Странная" таблица
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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