FB2.0 RC1 проблема вставки длинной строки(~120кб) в BLOB SUB

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
hetzer
Сообщения: 4
Зарегистрирован: 23 май 2006, 12:29

FB2.0 RC1 проблема вставки длинной строки(~120кб) в BLOB SUB

Сообщение hetzer » 23 май 2006, 13:30

Есть следующие домейн и таблица:

Код: Выделить всё

 CREATE DOMAIN NTEXT AS
BLOB SUB_TYPE 1 SEGMENT SIZE 16384 CHARACTER SET WIN1250 COLLATE PXW_PLK;

CREATE TABLE TST_SQL (
    TST_ID        INTEGER NOT NULL,
    TST_REF_NAME  VARCHAR(50) CHARACTER SET WIN1250 NOT NULL COLLATE PXW_PLK,
    TST_BODY      NTEXT NOT NULL
); 
При попытке выполнения следующего запроса получаю ошибку:

Код: Выделить всё

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Unexpected end of command - line 418, column 74.
Причем ошибка возникает и при выполнении из IBExpert и через API(на isc_dsql_prepare).

Код: Выделить всё

isc_dsql_prepare(status, &_trHandle, &stmt, 0, sql.c_str(), _DIALECT, 0);
			if ( !_isStatusOk(status) )
				_handleError(status);
Может кто поскажет в чем проблема?

Код: Выделить всё

insert into TST_sql (TST_ref_name, TST_body) values ('create_tables.sql', '

RECREATE PROCEDURE CLEAR_ALL 
AS

DECLARE VARIABLE IS_EXIST INTEGER; 
begin
SELECT COUNT(RDB$CONSTRAINT_NAME) FROM RDB$RELATION_CONSTRAINTS  WHERE RDB$CONSTRAINT_TYPE=''FOREIGN KEY'' AND RDB$CONSTRAINT_NAME=''DRC_APP_DR_FK'' INTO :is_exist;
    if (:is_exist=1) then EXECUTE STATEMENT ''ALTER TABLE DRT_APPOINTMENTS DROP CONSTRAINT DRC_APP_DR_FK'';

    SELECT COUNT(RDB$CONSTRAINT_NAME) FROM RDB$RELATION_CONSTRAINTS  WHERE RDB$CONSTRAINT_TYPE=''FOREIGN KEY'' AND RDB$CONSTRAINT_NAME=''DRC_APP_PAT_ID'' INTO :is_exist;
    if (:is_exist=1) then EXECUTE STATEMENT ''ALTER TABLE DRT_APPOINTMENTS DROP CONSTRAINT DRC_APP_PAT_ID'';

    SELECT COUNT(RDB$CONSTRAINT_NAME) FROM RDB$RELATION_CONSTRAINTS  WHERE RDB$CONSTRAINT_TYPE=''FOREIGN KEY'' AND RDB$CONSTRAINT_NAME=''DRC_APP_VIS_FK'' INTO :is_exist;
    if (:is_exist=1) then EXECUTE STATEMENT ''ALTER TABLE DRT_APPOINTMENTS DROP CONSTRAINT DRC_APP_VIS_FK'';
...................скрипт приблизительно на 120 кб........................

EXECUTE STATEMENT ''
      CREATE TABLE DRT_BRANCH_DATA ( 
          AUDIT_CB varchar(50) DEFAULT user NOT NULL COLLATE PXW_PLK,
          AUDIT_CNT integer NOT NULL,
          AUDIT_CT timestamp DEFAULT current_timestamp NOT NULL,
          AUDIT_MT timestamp,
          BRD_DISTRICT varchar(100) NOT NULL COLLATE PXW_PLK,
          BRD_EMAIL varchar(50) NOT NULL COLLATE PXW_PLK,
          BRD_FAX_NUMBER varchar(20) COLLATE PXW_PLK,
          BRD_FIXED_PHONE_NO varchar(20) NOT NULL COLLATE PXW_PLK,
          BRD_FLAT_NUMBER varchar(10) NOT NULL COLLATE PXW_PLK,
          BRD_HOUSE_NUMBER varchar(10) NOT NULL COLLATE PXW_PLK,
          BRD_ID integer NOT NULL,
          BRD_MOBILE_PHONE_NO varchar(20) NOT NULL COLLATE PXW_PLK,
 l:418  BRD_NAME varchar(200) NOT NULL COLLATE PXW_PLK,
          BRD_POST_OFFICE varchar(100) NOT NULL COLLATE PXW_PLK,
          BRD_POSTAL_CODE varchar(10) NOT NULL COLLATE PXW_PLK,
          BRD_STREET_NAME varchar(100) NOT NULL COLLATE PXW_PLK,
          BRD_TOWN varchar(100) NOT NULL COLLATE PXW_PLK,
          BRD_VOIVODSHIP varchar(100) NOT NULL COLLATE PXW_PLK
    )
       .......................................
DROP PROCEDURE CLEAR_ALL;
;
		
DROP PROCEDURE CREATE_TABLES;
;

DROP PROCEDURE CREATE_CONSTRAINS;
;

DROP PROCEDURE CREATE_TRIGGERS;


')

Ответить