Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];

Вниз

НЕсовершенство Interbase ?   Найти похожие ветки 

 
Malder   (2002-03-15 16:25) [0]

Я тут недавно писал про невозможность UPDATE"а Blob поля. Дело оказалось немного не в том.
Рассказываю заново и подробно.

Есть какая-то таблица Table1. В ней есть Blob поле, допустим оно зовется fdBlob. Делаем обзор для таблицы в котором среди прочего включаем этот fdBlob из Table1. Тут то и начинается самое интересное. Мне нужен обзор из-за того, что я пишу

Create View view1 as
...
fdBlob from Pers
Where Manager = User
With Check Option
.

То есть, обращаясь к обзору, юзер может получить доступ только к полям, где Manager равно имени пользователя.

И все бы хорошо, но если поставить этот самый With Check Option, то нельзя сделать коммнду UPDATE для обзора. Interbase начинает ругаться на Blob поле (говорит, что Blob не поддерживает Compare операции).
Если не писать With Check Option - то все ОК.

Отсюда вопрос. Что произойдет, если не писать его ? Уменьшится ли безопасность ?
И вообще, можно ли бороться с данным неудобством ?

P.S. Если что непонятно - спрашивайте... сам понимаю, что вопрос не из легких...


 
OlegE   (2002-03-15 16:41) [1]

Вместо view сделай процедуру, ей передаешь параметр Manager, или прямо в теле процедуры определяй user, и возвращай только то что нужно.


 
Malder   (2002-03-15 19:54) [2]

Давайте так. ЧТО изменится, если я не буду писать для обзора With Check Option ?


 
evgeg   (2002-03-15 20:58) [3]

Не советую вообще использовать View в Interbase. Глючит.


 
Malder   (2002-03-15 23:47) [4]

А что же делать, если не пользоваться обзорами ?

И что, действительно сильно глючит ?


 
Johnmen   (2002-03-16 00:09) [5]

>evgeg © : Не надо грязи - ничего не глючит !
А если ты это утверждаешь, то докажи !
>Malder © : В твоей ситуацией не сталкивался...


 
evgeg   (2002-03-16 06:22) [6]

> Johnmen
После создания процедуры с select-м из view и таблицы перестало выполнятся restore. Слышал и о других глюках. Доказывать тебе ничего не собираюсь. Я отвечал человеку, задавшему вопрос.

>Malder
Пользуйся хранимыми процедурами.


 
Malder   (2002-03-16 12:18) [7]

Ок. А как тогда в процедуру передать параметр типа Blob ?


 
evgeg   (2002-03-16 13:13) [8]

Я с blob-ми в процедурах не работал, но разве так не проходит?


CREATE PROCEDURE NEW_PROCEDURE (
B1 BLOB)
AS
begin
/* Procedure Text */
suspend;
end



 
Igor' A Rozhkov   (2002-03-16 16:09) [9]

В Interbase,возможно необновляемый View превратить в обновляемый написав для него триггера Before Insert, Delete, Update, как если бы это была обычная таблица


 
ka$per   (2002-03-18 10:42) [10]

>Malder
С передачей Blob все просто
var
proc:TStoredProc;
FStream:TStream;

...
proc.ParamByName("NameParam").LoadFromStream(FStream,ftBlob);



Страницы: 1 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.006 c
3-22528
Gunner
2002-03-14 10:22
2002.04.08
Не могу разобраться с SET INTEGRITY в DB2


7-22857
netter
2001-12-30 10:38
2002.04.08
Удаление exe в Windows 2000


3-22603
Dimedrol
2002-03-07 13:14
2002.04.08
Добавление LookUp-поля...


1-22765
PEC
2002-03-27 13:37
2002.04.08
С Англиским Худо !


1-22661
LiNkS
2002-03-27 21:59
2002.04.08
Как переместить в Memo курсор на опр. место в опр. строке?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский