PDA

Ver la Versión Completa : Límites de Base de Datos en firebird


camiz
11-04-2014, 18:54:20
Hola amigos del foro, de nuevo necesitanto su ayuda.

- Quiere que me aclaren una duda con respecto al numero y tamaño de los campos que soporta Firebird para crear una tabla.
he leído en este hilo (http://www.firebirdmanual.com/firebird/es/firebird-manual/2/limites-de-firebird/36) sobre los limites de firebird, pero hay algo que no queda claro.

estoy creando una tabla en firebird por medio de un administrador de base de datos Flamerobin y me bota un error al crear la tabla...

*** IBPP::SQLException ***
Context: Transaction::Commit
SQL Message : -607
This operation is not defined for system tables.
Engine Code : 335544351
Engine Message :
unsuccessful metadata update
new record size of 340048 bytes is too big
TABLE TABLA1

este es la tabla que quiero crear
CREATE TABLE TABLA1
(
IDTABLA Integer NOT NULL,
CAM1PO Varchar(17000),
CAM2PO Varchar(17000),
CAM3PO Varchar(17000),
CAM4PO Varchar(17000),
CAM5PO Varchar(17000),
CAM6PO Varchar(17000),
CAM7PO Varchar(17000),
CAM8PO Varchar(17000),
CAM9PO Varchar(17000),
CAM10PO Varchar(17000),
CAM11PO Varchar(17000),
CAM12PO Varchar(17000),
CAM13PO Varchar(17000),
CAM14PO Varchar(17000),
CAM15PO Varchar(17000),
CAM16PO Varchar(17000),
CAM17PO Varchar(17000),
CAM18PO Varchar(17000),
CAM19PO Varchar(17000),
CAM20PO Varchar(17000),
PRIMARY KEY (IDTABLA)
);

al parecer tengo la impreción que el error es por la suma total de bytes de los campos (17000 x 20)= 340 000
he probado que el total de bytes sea inferior a 64000 y ahí si se crea correctamente.

Lo que quiero saber si es posible crear esta tabla en firebir o es problema del administrador (Flamerobin).

Casimiro Notevi
11-04-2014, 19:02:23
Un varchar creo recordar que el máximo son 32 Kb (32765 bytes).
Pero si usas unicode/utf8 entonces seguramente ocupará 2 bytes un caracter, por lo que el máximo serían 16 kb.
Si te sirve, puedes usar campos BLOB de modo texto. Ahí no tienes límites.

EDITO: de todas formas, me parece muy extraña esa tabla, ¿qué quieres hacer?

camiz
11-04-2014, 21:28:43
Gracias Casimiro Notevi, por responder.

la verdad que esta tabla hasta ami me parece muy rara, el motivo es que no sabía como hacer un campo ilimitado presentía que si era posible hacerlo, pero no tenía idea es por eso que opte por ponerle un varchar con muchos numeritos, porque tengo que guardar muchas hojas de información en cada campo y para asegurarme que me alcance opte por hacerlo asi.
creo que ahora boy a cambiar por.
CAM1PO BLOB SUB_TYPE TEXT,

o
CAM1PO BLOB SUB_TYPE 1,


segun estuve investigando en internet creo que cualquiera de estos campo servirán.
y mi tabla ya no será rara, jejejeee. ^\||/ Gracias amigo que bueno tenerte para ayudar.

Casimiro Notevi
11-04-2014, 22:19:33
Es el mismo tipo de campo, que puede ser nombrado de ambas formas.