2012-01-02 5 views
4

У меня есть таблица в базе данных MySQL. Имя таблицы имеет длину более 30 символов , и я хочу сделать ту же таблицу в Oracle 11g, но Oracle только позволяет использовать таблицы с именами не более 30 символов.
Я не могу изменить имя таблицы, чтобы сделать ее менее 30 charachters, потому что система основана на этих таблицах, и она будет стоить очень много, если я изменю имя, поэтому изменение имени таблицы не является ответ я ищу.Имя таблицы с более чем 30 символами

Существует таблица называется user_tables, и когда я описываю таблицу он говорит table_name поле имеет тип данных varchar2(30), поэтому я попытался изменить таблицу и сделать table_name varchar2(255), но я не мог, это дает мне ошибку говоря:

ORA-00942: таблица или представление не существует

Я подключиться как sys.

Кто-нибудь знает, как решить мою проблему?

+0

Не знаю, поддерживают ли синонимы символы более 30; но это может быть работа. Функциональная максимальная длина имени синонима составляет 32 байта. Имена более 30 байт разрешены только для функций Java. Если вы укажете имя длиной более 30 байт, тогда база данных Oracle зашифрует имя и помещает представление шифрования в словарь данных. Фактическое шифрование недоступно, и вы не можете использовать либо исходную спецификацию, либо представление словаря данных в качестве имени синонимов. [Link] (http://docs.oracle.com/cd/B12037_01/server.101/b10759/statements_7001 .htm) – xQbert

+0

'user_tables' является частью словаря данных, набора таблиц и представлений только для чтения. Вы не можете обновить ни один из объектов в словаре данных. – eaolson

+0

И если вы можете обновить системные таблицы, вы совершенно не знаете, какой эффект он может иметь на каждой другой системной таблице. – Ben

ответ

15

Все идентификаторы Oracle ограничены 30 символами. Невозможно изменить это.

3

Синонимы НЕ будут работать: source. Пределы 30 трудны и быстры.

EDIT: После продолжения исследования oracle docs Если java не находится здесь, в комментариях даже синоним не будет работать, чтобы превысить 30 символов.

Long story Short: Вы не можете делать то, что хотите сделать в среде оракула.

Смежные вопросы