| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > ORA-00972: identifier is too long |
| Автор: 3,14 6.7.2010, 16:27 |
| Пытаюсь установить базу из бэккапа на локальном компе (у меня стоит Oracle 10g Express Edition), но вылетает множество ошибок вида: IMP-00017: following statement failed with ORACLE error 972: "GRANT SELECT ON "ДБО_КОД_БНК" TO "ДБОКО_ПОЛЬЗОВАТЕЛЬ"" IMP-00003: ORACLE error 972 encountered ORA-00972: identifier is too long Видимо это связано с мультибайтной кодировкой и с тем что названия таблиц, пользователей итп на русском языке. Поэтому я поставил кодировку UTF8: SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER DATABASE OPEN; truncate table xdb.xdb$qname_id; truncate table xdb.xdb$nmspc_id; ALTER DATABASE NATIONAL CHARACTER SET UTF8; COMMIT; Судя по началу логов локальная кодировка теперь уже UTF8: import done in CL8MSWIN1251 character set and UTF8 NCHAR character set import server uses AL32UTF8 character set (possible charset conversion) export server uses AL16UTF16 NCHAR character set (possible ncharset conversion) Но ошибки все равно остаются, что можно с этим поделать? Переименовать идентификаторы на английский не предлагать |
| Автор: ToshaCh 8.7.2010, 09:03 | ||
| Гы! Я это увидел! Я увидел балбесов которые назвали таблицы на русском. На самом деле поменять идентификаторы самое правильное дело, т.к. работать это не будет - решишь эту проблему начнуться другие. Если по делу, то пока не очевидны танцы с кодировкой. Ты использовал data pump или классические exp/imp? Кроме того давай локализуем проблему. Нужно понять не работает импорт или вообще база не осознаёт русский. Сделай что-нить типа:
|