
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.10.2005, 14:39
|
|||
|---|---|---|---|
|
|||
Создание индекса на синоним таблицы. |
|||
|
#18+
Добрый день. В общем вопрос в следующем. Давича упал сервер. Админы его подняли. В общем с тех пор не могу создать индекс на синоним к таблице в другой базе. Т.е. есть таблица charge в базе calk, в базе rus запускается процедура, которая и должна создать индекс. СИноним создан так: CREATE SYNONYM charge FOR calc:charge Из процедуры создаем индекс: CREATE INDEX kvit_ix3 ON charge (date_period ASC, nach_id ASC); На что ругается вот так: -- [Informix][Dynamic Server][rus] SQL Error (-556) : Cannot create, drop, or modify an object on an another database server. В чем может быть причина? Раньше эта процедура работала без проблем. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.10.2005, 21:47
|
|||
|---|---|---|---|
Создание индекса на синоним таблицы. |
|||
|
#18+
finderr 556 : Cannot create, drop, or modify an object that is external to current database. This statement attempts to create, drop, or alter an object in an external database, one other than the current database. You can only read the contents of an external database. If you make the external database your current database, you can modify the contents. Ваша процедура не должна была работать. Либо это был баг (что врядли), либо у вас где-то был переход в удаленную базу, который теперь исчез. В таком вот аксепте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.11.2005, 09:55
|
|||
|---|---|---|---|
|
|||
Создание индекса на синоним таблицы. |
|||
|
#18+
Спасибо за перевод.... читал.... знаю. Во первых я пытаюсь создать индекс не на таблицу в удаленной базе, а на ее синоним. Вроде это возможно. Если не прав, поправьте. И можно поподробнее че это за такой переход в удаленную базу мог быть? Возможно ЭТО то самое, что после восстановления сервера не поднялось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.11.2005, 20:27
|
|||
|---|---|---|---|
Создание индекса на синоним таблицы. |
|||
|
#18+
LOTOSСпасибо за перевод.... читал.... знаю. Во первых я пытаюсь создать индекс не на таблицу в удаленной базе, а на ее синоним. Вроде это возможно. Если не прав, поправьте. И можно поподробнее че это за такой переход в удаленную базу мог быть? Возможно ЭТО то самое, что после восстановления сервера не поднялось. Нет, создать индекс на синоним к удаленной таблице невозможно (но возможно если синоним указывает на локальную табдицу). В документации это ограничение не описано, но чисто логически - таблица sysindexes имеет поле tabid и не имеет поля databaseid. А переход в удаленную базу выглядит так : database calc; Возможно, ваша процедура до падения сервера запускалась из calc, а не из rus. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2005, 17:52
|
|||
|---|---|---|---|
|
|||
Создание индекса на синоним таблицы. |
|||
|
#18+
Нет, создать индекс на синоним к удаленной таблице невозможно (но возможно если синоним указывает на локальную табдицу). В документации это ограничение не описано, но чисто логически - таблица sysindexes имеет поле tabid и не имеет поля databaseid. А переход в удаленную базу выглядит так : database calc; Возможно, ваша процедура до падения сервера запускалась из calc, а не из rus. Все логично. Только процедура работала в РУСе. До падения сервера выгрузка данных шла 1,5 - 2 часа. А сейчас идет 5 часов. Какие будут предположения по данному вопросу? Возможно пользователю прав каких то не хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2005, 19:24
|
|||
|---|---|---|---|
Создание индекса на синоним таблицы. |
|||
|
#18+
Вас интересует почему оно работало или как ускорить выгрузку ? на первый вопрос ответ "понятия не имею", на второй - для построения индекса перейдите в базу calc (в процедуре), постройте индекс, вернитесь обратно. Это, конечно, если выгрузка затормозилась из-за отсутствия индекса. В таком вот аксепте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2005, 14:44
|
|||
|---|---|---|---|
|
|||
Создание индекса на синоним таблицы. |
|||
|
#18+
Выбегалло LOTOSСпасибо за перевод.... читал.... знаю. Во первых я пытаюсь создать индекс не на таблицу в удаленной базе, а на ее синоним. Вроде это возможно. Если не прав, поправьте. И можно поподробнее че это за такой переход в удаленную базу мог быть? Возможно ЭТО то самое, что после восстановления сервера не поднялось. Нет, создать индекс на синоним к удаленной таблице невозможно (но возможно если синоним указывает на локальную табдицу). В документации это ограничение не описано, но чисто логически - таблица sysindexes имеет поле tabid и не имеет поля databaseid. А переход в удаленную базу выглядит так : database calc; Возможно, ваша процедура до падения сервера запускалась из calc, а не из rus. Создать синоним на удаленную таблицу МОЖНО!!! Не обманывайте добрых людей. Более того через синоним работают все операции вставки, удаления и модификации, также можно отбирать данные. (SQL) Но у меня также не получалось проводить модификацию объекта (alter table, create index), т.е. DDL с помощью синонима. Необходимо конектится к БД где лежит реальный объект и произвести над ним преобразование его структуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2005, 14:52
|
|||
|---|---|---|---|
|
|||
Создание индекса на синоним таблицы. |
|||
|
#18+
Andre++ Создать синоним на удаленную таблицу МОЖНО!!! Не обманывайте добрых людей. .... Это вы читаете по диагонали: "создать ИНДЕКС на синоним к удаленной таблице", про синоним базара не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=44&tablet=1&tid=1608840]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 344ms |

| 0 / 0 |
