Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Как передать IBStoredProc через параметр типа Blob содержимое файла на диске ? 


ser_ker   (2002-03-04 15:37) [0]

Есть хранимая процедура, добавляющая запись в таблицу, один из ее параметров типа Blob. Вопрос : каким образом передать процедуре содержимое файла на диске, что бы записать его в поле Blob ?



Alexandr   (2002-03-05 08:13) [1]

LoadFromFile
LoadFromStream



ser_ker   (2002-03-05 10:39) [2]

Таблица вот такая :
CREATE TABLE ptw_messages(
idmessage integer NOT NULL,
sender varchar(40),
reciver varchar(200),
receiption char(1) DEFAULT "N" NOT NULL,
inout smallint,
replforw smallint,
readstatus char(1) DEFAULT "Y" NOT NULL,
priority smallint DEFAULT "1" NOT NULL,
subject varchar(200),
messtext blob sub_type 1,
iduser smallint,
idkey smallint,
dtsign date,
sign varchar(255),
errmess varchar(80),
CONSTRAINT pkey_ptw_messages PRIMARY KEY (idmessage)
);

Процедура вот :
CREATE PROCEDURE MessageInsert(
pSender varchar(40),
pReciver varchar(200),
pPriority smallint,
pInout smallint,
pSubject varchar(200),
pMesstext blob,
pIduser smallint,
pIdkey smallint,
pDtsign date,
pSign varchar(255),
pDtCreate date,
pDtModify date,
pDtSend date,
pDtRecive date
) RETURNS (vIdMessage integer)

Для вызова процедуры используется IBStoredProc.

Каким образом передать через параметр pMesstext содержимое файла на диске ?

Если можно, с примером, а то я что-то не пойму !



ch_   (2002-03-20 18:00) [3]

У меня такая-же проблема, пробовал TIBBlobStream, TBlobStream
Типа CreateBlobStream(TFiled,....)
но TField у IBStoredProc нет, т.к. в процедуре
стоит "update ..."
Поможите кто чем может.
Dm.spInsTemp.ParamByName("CON").LoadFromStream(aStream,ftTypedBinary);
Dm.spInsTemp.ExecProc выдает "Unsupported feature" (не поддерживается дальше) т.е. IB не переваривает.



kaif   (2002-03-20 23:54) [4]

В документации по Interbase в разделе Language Reference|Procedures and triggers|Input parameters
ясно написано
Input parameters can be of any InterBase datatype except Blob. Arrays of datatypes are
also unsupported.

Может, кому-то и удавалось передать BLOB параметр в процедуру, судя по тому как тут много об этом спрашивают, но я привык верить документации и думаю - это невозможно.

Мои соболезнования...



AlexNord   (2002-03-24 09:42) [5]

НАРОД НУ А ЧТО ДЕЛАТЬ ТОГДА?????????????????ВЕДЬ ЗНАЕТ КТО НИТЬ ТОЧНО!!!:((( КАКОВ ВАЩЕ МЕХАНИЗМ РЕШЕНИЯ ПОДОБНОЙ ТРАБЛЫ?:((((



Игорь_Пчелко   (2002-04-05 12:24) [6]

Попробуй значение BLOB поля записывать в отдельную табличку, после чего передавай процедуре Key этой записи во временно таблице с BLOB :)
Ну хоть что-то!




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
3-80757           VAleksey              2002-04-03 10:16  2002.04.25  
Ошибка при удалении


1-80931           Ser_Kham1             2002-04-11 16:02  2002.04.25  
создание help файла


14-81083          Alx2                  2002-03-13 09:11  2002.04.25  
Где на Руси жить хорошо?


3-80831           bobr12                2002-04-05 16:28  2002.04.25  
Создание отчетов


3-80809           Mikeee                2002-04-05 08:50  2002.04.25  
Как вставить в строку SQL-запроса одинарные кавычки