Erro Unsuccessful metadata update

SQL

20/11/2012

Estou fazendo o curso de automação em Delphi e me deparei com esse problema ao criar as tabelas, o que devo fazer para resolver esse problema?

Unsuccessful metadata update
key size too big for index RDB$58
Statement: create table grupos
(
codigo d_inteiro not null,
nome d_nome not null,
unique(nome),
primary key(codigo)
)
Wagner Livino

Wagner Livino

Curtidas 0

Respostas

Claudia Nogueira

Claudia Nogueira

20/11/2012

Pelo código está parecendo Firebird.
Você criou os DOMAINS d_inteiro e d_nome?
Exemplo:

create domain d_inteiro integer;
create domain d_nome varchar(100);

create table grupos
(
codigo d_inteiro not null,
nome d_nome not null,
unique(nome),
primary key(codigo)
)

GOSTEI 0
Wagner Livino

Wagner Livino

20/11/2012

Cláudia obrigado pela resposta,
mas já estão criadas as domains sim, inclusive já utilizei em tabelas criadas anteriormente...
GOSTEI 0
Claudia Nogueira

Claudia Nogueira

20/11/2012

Como são essas domains?
GOSTEI 0
Wagner Livino

Wagner Livino

20/11/2012

segue abaixo o campo metadata no IBConsole das domains

/* Domain definitions */
CREATE DOMAIN "D_NOME" AS VARCHAR(255) CHARACTER SET WIN1250;

/* Domain definitions */
CREATE DOMAIN "D_INTEIRO" AS INTEGER
default 0;
GOSTEI 0
Claudia Nogueira

Claudia Nogueira

20/11/2012

Esse erro "key size too big for index RDB$58" está acontecendo provavelmente por causa do UNIQUE criar um índice e o índice não estar aceitando o DOMAIN do tipo varchar com 255 caracteres.

Faz um teste, tira o unique, veja se cria a tabela e depois tenta adicionar a unique.
GOSTEI 0
Wagner Livino

Wagner Livino

20/11/2012

sem a unique criou a tabela, como faço pra colocar a unique agora?
GOSTEI 0
Claudia Nogueira

Claudia Nogueira

20/11/2012

ALTER TABLE GRUPOS ADD UNIQUE(NOME);


Só que provavelmente vai dar o mesmo erro, pois o problema está em criar o índice com campo varchar(255).

Qual versão do Firebird você está usando, no meu não apresentou erro.

sem a unique criou a tabela, como faço pra colocar a unique agora?
GOSTEI 0
Wagner Livino

Wagner Livino

20/11/2012

to usando InterBase acha melhor migrar pra firebird?

ALTER TABLE GRUPOS ADD UNIQUE(NOME);


Só que provavelmente vai dar o mesmo erro, pois o problema está em criar o índice com campo varchar(255).

Qual versão do Firebird você está usando, no meu não apresentou erro.

sem a unique criou a tabela, como faço pra colocar a unique agora?
GOSTEI 0
Claudia Nogueira

Claudia Nogueira

20/11/2012

Firebird está uns 500% melhor que o Interbase.
Já que você está somente treinando, e não deve ter nenhum software já com Interbase, aconselho já desinstalar ele e instalar o Firebird.

to usando InterBase acha melhor migrar pra firebird?

ALTER TABLE GRUPOS ADD UNIQUE(NOME);


Só que provavelmente vai dar o mesmo erro, pois o problema está em criar o índice com campo varchar(255).

Qual versão do Firebird você está usando, no meu não apresentou erro.

sem a unique criou a tabela, como faço pra colocar a unique agora?
GOSTEI 0
Wagner Livino

Wagner Livino

20/11/2012

obrigado pela ajuda, instalei o firebird e removi o InterBase, agora com o Ibo Console não estou conseguindo acessar o servidor local tem idéia do que pode estar acontecendo, quando efetuo o login aparece o seguinte erro

error loging the requested server
"Cannot attach to services manager"

Firebird está uns 500% melhor que o Interbase.
Já que você está somente treinando, e não deve ter nenhum software já com Interbase, aconselho já desinstalar ele e instalar o Firebird.

to usando InterBase acha melhor migrar pra firebird?

ALTER TABLE GRUPOS ADD UNIQUE(NOME);


Só que provavelmente vai dar o mesmo erro, pois o problema está em criar o índice com campo varchar(255).

Qual versão do Firebird você está usando, no meu não apresentou erro.

sem a unique criou a tabela, como faço pra colocar a unique agora?
GOSTEI 0
Claudia Nogueira

Claudia Nogueira

20/11/2012

Desinstala o IboConsole e instala o IbExpert.
Se você não achar me manda seu e-mail que eu te mando.
GOSTEI 0
Wagner Livino

Wagner Livino

20/11/2012

manda pra esse e-mail nill_spectro@hotmail.com
Desinstala o IboConsole e instala o IbExpert.
Se você não achar me manda seu e-mail que eu te mando.
GOSTEI 0
Wagner Livino

Wagner Livino

20/11/2012

Muito obrigado pela ajuda Claudia...

alguém aí tem idéia de como resolver esse problema?

ao registrar um database no IBexpert exibe a mensagem

"can't format message 13:96 -- message file c:\Program Files\Borland\InterBase/interbase.msg not found.
unavailable database.
GOSTEI 0
POSTAR